Language…
7 users online: crocodileman94, Jordan, Maw, Rudi_Schrausch, Shiki_Makiro, Torchkas, underway - Guests: 270 - Bots: 343
Users: 64,795 (2,377 active)
Latest user: mathew

AddmusicK Beta Release Thread

Link Thread Closed
VERY minor: My browser says that AMK is "not commonly downloaded and could be dangerous", leaving only one obvious choice to discard it (I have it thanks to the drop-down menu next to it :P).

Again, not that much of a problem, but I can see a whole bunch of help threads in the future about this if nothing's done about it.

e:Also, when I inserted a custom song, 'Here we go' seems to have vanished altogether, silence playing in its stead. Strangely, the custom song plays just fine afterwards.
Check out my music!
Originally posted by Masterlink
Yes, it's the same port (if you're curious, this is how it sounds and this is how it's supposed to sound).


I found the problem and fixed it: It turns out that I was accidentally treating positive h values as minus values and vice-versa.

Also, in that original SPC you posted, the echo buffer is so huge that it wraps around and completely annihilates the main SPC program. It would crash anything that's not ZSNES.

Originally posted by imamelia
By the way, why don't you include the optimized versions of all the original samples? Using those would cut the space needed for them in half.


Basically, I figure that the space saved doesn't justify the sound quality loss in some of the samples (like @9). There's boatloads more space in ARAM now, and if you really are running out of space, it shouldn't be too hard to swap them out yourself.

Originally posted by Moose
VERY minor: My browser says that AMK is "not commonly downloaded and could be dangerous", leaving only one obvious choice to discard it (I have it thanks to the drop-down menu next to it :P).

Again, not that much of a problem, but I can see a whole bunch of help threads in the future about this if nothing's done about it.


I don't know what's triggering that, though, so I can't really fix it. I mean, I can't change the frequency at which it's downloaded, so I'd imagine it's just your browser being hyper-sensitive.

Originally posted by Moose
e:Also, when I inserted a custom song, 'Here we go' seems to have vanished altogether, silence playing in its stead. Strangely, the custom song plays just fine afterwards.


I don't suppose you could give me more information? Like, you enter a level that plays 'Here we go' (which produces silence), then take a pipe or a door to another level with a song that plays just fine?

Never mind; I found the problem and fixed it; thank you for reporting it. It turns out when I fixed the glitch where songs wouldn't play via the music bypass window, I accidentally introduced a glitch that caused just the opposite: songs wouldn't play unless you used the music bypass window.
I should get a new layout.

Probably won't, though.
I have some questions about that tool:

1)In the addmusic_sample_music.txt:

-Where should I insert?
-The number is limited?

2)Should I insert some patches for that AddmusicK works fine?
3)Why don't put in the Resource Tool and Releases?
I found a minor bug (surprised it hasn't been mentioned yet)

When used on an unmodified rom, during the title screen playback, if Mario gets yoshi and then you choose to start the game after he lands on him, the game will be playing yoshi drums in the intro level.

Edit: The way I used $DA $XX seems to break and I'm not seeing anything in the readme about this. How would I set that up in my song file now? I always had it like this:

Code
$ED $82 $61 $36 $00 $14 ;Aram write
$1A $FF $E0 $00 $03	;$DA $13
$1D $FF $E0 $00 $07	;$DA $14
$1B $FF $E0 $00 $05	;$DA $15
$1C $FF $E0 $00 $03	;$DA $16


Edit 2: Apparently I forgot to -1 where the 14 is. Weird how AM4 never picked up on that or the song didn't break when I had it like this the entire time I've been using it.
I don't really know what words to use to describe this
(except for deletejimmy0.1, but that's another story)
, it's turning out really greatly! The aram arrangement is also very feasible, I love it.

Anyway while I was messing around with it I noticed a couple of bugs:
1. I accidentally nested a loop (i.e. [ (50) ]) and that made the program throw infinite (as in it didn't stop until I closed it) instances of "Error line X: nested loops not allowed" or something in the lines of that.
2. Pressing start+select to exit a level will result in all the music being muted (except for SFX), until you enter another level and die/win/(and make some global song play in general, I guess).

Also, just a very random suggestion I had, assuming I'm not asking for the moon, how feasible would it be to have some sort of local song group system that'll load 2 or 3 songs toghether (aram space permitting, of course)? ... I mean like:

#group_a
{
bla.txt
yay.txt
somesong.txt
}

or something in the lines of that. I don't know if that's clear enough.

e: in case anyone needed them, optimized brrs for everyone! (tell me if there's a fail in them). Note that sample 0x0A (@9, aka failpiano) is already included with amk, but it's in the zip as well anyway. I also named them like that for the sake of consistency.
Another minor thing, when AMK displays errors and shows the lines its on, it sometimes randomly says the line in hex instead of the way it normally does.
Looks pretty sweet so far!
When do you think you'll have this completely finished?
Also, how about a command that allows you to change the volume freely for the left and right pan instead of the stupid v command we currently have?
Originally posted by Roberto zampari
I have some questions about that tool:

1)In the addmusic_sample_music.txt:

-Where should I insert?


Normally at the bottom of the file.



Originally posted by Roberto zampari
-The number is limited?


It should be able to go up to FE.

Originally posted by Roberto zampari
2)Should I insert some patches for that AddmusicK works fine?


You shouldn't need any extra patches to make everything work. The only required patch is the NMI Fix patch, and that's included and patched automatically.

Originally posted by Roberto zampari
3)Why don't put in the Resource Tool and Releases?


Because right now this is much more relevant to music porters. Once the tool is finished, however, it will go there.

Originally posted by mario90
When used on an unmodified rom, during the title screen playback, if Mario gets yoshi and then you choose to start the game after he lands on him, the game will be playing yoshi drums in the intro level.


But the intro level doesn't have a yoshi drum track? Or am I misunderstanding you?

Originally posted by mario90
Edit: The way I used $DA $XX seems to break and I'm not seeing anything in the readme about this. How would I set that up in my song file now? I always had it like this:

Code
$ED $82 $61 $36 $00 $14 ;Aram write
$1A $FF $E0 $00 $03	;$DA $13
$1D $FF $E0 $00 $07	;$DA $14
$1B $FF $E0 $00 $05	;$DA $15
$1C $FF $E0 $00 $03	;$DA $16


Edit 2: Apparently I forgot to -1 where the 14 is. Weird how AM4 never picked up on that or the song didn't break when I had it like this the entire time I've been using it.


Your second edit picked up on it. Your code has to be correct, otherwise AMK is going to reject it. This wasn't an issue in AM4.05 because it didn't check your hex commands to make sure that they were valid.

Originally posted by Lui37
Anyway while I was messing around with it I noticed a couple of bugs:
1. I accidentally nested a loop (i.e. [ (50) ]) and that made the program throw infinite (as in it didn't stop until I closed it) instances of "Error line X: nested loops not allowed" or something in the lines of that.


Alright, thanks. It's been fixed.

Originally posted by Lui37
2. Pressing start+select to exit a level will result in all the music being muted (except for SFX), until you enter another level and die/win/(and make some global song play in general, I guess).


Huh. Not sure what's up with that; I'll look into it.

Originally posted by Lui37
Also, just a very random suggestion I had, assuming I'm not asking for the moon, how feasible would it be to have some sort of local song group system that'll load 2 or 3 songs toghether (aram space permitting, of course)? ... I mean like:

#group_a
{
bla.txt
yay.txt
somesong.txt
}

or something in the lines of that. I don't know if that's clear enough.


Really difficult, actually, due to the way the N-SPC program assumes hardcoded pointers for all songs. What you can do instead, however, if you know a bit of ASM, is use the #pad command in a global song to force them to be a certain size, and swap them out yourself when you need to.

Alternatively, there might be a way to have multiple global groups, but you'd end up using as much space as the largest group no matter which group you were using. Regardless, I'll look into it. It seems like a neat idea (albeit one that might not come along until a future release).

Originally posted by mario90
Another minor thing, when AMK displays errors and shows the lines its on, it sometimes randomly says the line in hex instead of the way it normally does.


Ah, thanks for that. It should be fixed now.

Originally posted by Torchkas
Looks pretty sweet so far!
When do you think you'll have this completely finished?
Also, how about a command that allows you to change the volume freely for the left and right pan instead of the stupid v command we currently have?


Do you mean stupid y command? If so, that's probably not going to be a feature for now because of the way pan is implemented (it's just a short look-up table of values); it doesn't make a feature like that easy to implement without breaking existing songs.


Also, I don't believe I mentioned this before, but the music file "_test.txt" contains examples of how to get custom samples and instruments working for those curious.
I should get a new layout.

Probably won't, though.
I found what appears to be another bug. Certain music files that have samples defined in this way...

Code
#samples
{
	"Super Mario RPG - Beware the Forest's Mushrooms.bnk"
}


Seem to not work in later slots. I switched this to #20 in the list and it worked. Then I switched it back down to #5D where I originally had it and suddenly it freezes the game.

Edit: I also forgot to mention, switching songs around also somehow causes the amount of ARAM it reports after it finishes inserting the music to just start continuously decreasing after every use of AMK.

Edit 2: Forgot to explain what I meant about the Yoshi drums. So it goes to the intro level, but it plays "Here we go" instead of the intro tune, and if Mario landed on Yoshi in the title screen cutscene then it also has the Yoshi drums playing.
Heh, no.
I meant a command that would be able to assign the actual volume level to the current channel. If it'd for example be $FE $XX $YY, XX would be the left channel volume and YY the right one. The current v command only allows us to go up to 26 on a central panning, I hope you understand what I mean now.
Originally posted by mario90
I found what appears to be another bug. Certain music files that have samples defined in this way...

Code
#samples
{
	"Super Mario RPG - Beware the Forest's Mushrooms.bnk"
}


Seem to not work in later slots. I switched this to #20 in the list and it worked. Then I switched it back down to #5D where I originally had it and suddenly it freezes the game.


Later slots? Do you mean music slots (i.e. the number you put into Lunar Magic to play a song)? If so, that's an odd glitch indeed, and I'll have to look into it.


Originally posted by mario90
Edit: I also forgot to mention, switching songs around also somehow causes the amount of ARAM it reports after it finishes inserting the music to just start continuously decreasing after every use of AMK.


It depends on the songs you switch. If you're adding more and more local songs, then naturally the amount of free ARAM space you'll have will decrease, since every local song is always in ARAM.

Originally posted by mario90
Edit 2: Forgot to explain what I meant about the Yoshi drums. So it goes to the intro level, but it plays "Here we go" instead of the intro tune, and if Mario landed on Yoshi in the title screen cutscene then it also has the Yoshi drums playing.


Huh...alright, I'll check it out. Thanks for reporting it.

Originally posted by Torchkas
Heh, no.
I meant a command that would be able to assign the actual volume level to the current channel. If it'd for example be $FE $XX $YY, XX would be the left channel volume and YY the right one. The current v command only allows us to go up to 26 on a central panning, I hope you understand what I mean now.


Oh, I think I see what you mean. I considered it, but I realized that if I did that, I'd also have to add all sorts of auxiliary features (like fading and tremolo such that would be compatible with that command), and I'd basically end up adding a second copy of the volume decoding routine (which is huge, by the way). I didn't deem it worth it. I might see if I can find a way to allow the volume to go above 26 "naturally", though.
I should get a new layout.

Probably won't, though.
Originally posted by Kipernal
Later slots? Do you mean music slots (i.e. the number you put into Lunar Magic to play a song)? If so, that's an odd glitch indeed, and I'll have to look into it.


Yes exactly. I put the song listed in the sample brackets in Addmusic_list.txt as 5D. It froze there. So I switched it with the song I had in slot 20 and suddenly it did work. But what's also weird that I just discovered is that if I keep a copy of it in a later slot, while having it in an earlier slot as well, (Ex: Having the same song in 20 and 5D) it works in 5D because I also have it in 20 somehow. I'm assuming that has something to do with the ARAM.
Originally posted by Kipernal
Really difficult, actually, due to the way the N-SPC program assumes hardcoded pointers for all songs. What you can do instead, however, if you know a bit of ASM, is use the #pad command in a global song to force them to be a certain size, and swap them out yourself when you need to.

Alternatively, there might be a way to have multiple global groups, but you'd end up using as much space as the largest group no matter which group you were using. Regardless, I'll look into it. It seems like a neat idea (albeit one that might not come along until a future release).


Mmh, I see, makes sense. Anyway, thanks, that sounds like a valid solution, I can actually see how #pad can be somewhat useful there now, though I haven't done much with spc uploads so I may have to look into that.

..also speaking of high volumes, there was (haven't checked if it still exists in this one) a little quirk where you could use $DB $15 and above values to get some very wacky loud pans (well not all of them, but the most notable were $16, $19 and $1A if I'm not mistaken).. maybe you could try to make that actually useful? That shouldn't require too much recoding like a direct volume command I'm guessing, and the absence of compatibility issues should be well granted.
Originally posted by Torchkas
Heh, no.
I meant a command that would be able to assign the actual volume level to the current channel. If it'd for example be $FE $XX $YY, XX would be the left channel volume and YY the right one. The current v command only allows us to go up to 26 on a central panning, I hope you understand what I mean now.

From what I know, the standard N-SPC format has the volume go up to $4C with center pan. So if it was possible to implement code from the standard format from a game like LttP, for example, to work with the beta format that SMW uses, it would then be possible to achieve higher volumes. (Although I always wished that I could make an AddMusic tool that replaces the beta format with the standard format and adds all the extra commands that AddMusic already uses. Damn my lack of ASM knowledge!)
Please excuse my lack of an avatar or banner. I'm just too damn lazy to create one.
Found yet another bug. (At this point I'm hoping its not just me). There's a conflicting issue with the Star and P-Switch. If you grab a star before the P-switch timer ends, it will continue playing the P-Switch music after the star wears off instead of the level music.
First Blockreactor AND NOW ADDMUSICK?!?!?!?!?!?
I'll stick with AMM for now but later I might use it O_O
Want progress on 100 Rooms of Enemies: The Nightmare Edition? Go here to see.

(rip my other userbars momentarily)

I thought this Addmusic uses the latest version of Asar. Other than that, this looks really great!
Originally posted by mario90
Yes exactly. I put the song listed in the sample brackets in Addmusic_list.txt as 5D. It froze there. So I switched it with the song I had in slot 20 and suddenly it did work. But what's also weird that I just discovered is that if I keep a copy of it in a later slot, while having it in an earlier slot as well, (Ex: Having the same song in 20 and 5D) it works in 5D because I also have it in 20 somehow. I'm assuming that has something to do with the ARAM.


That doesn't seem to be happening with me. This might be a stupid question, but you are remembering to change which song the level uses as well, right? If you try to play a song that doesn't exist, the game will crash.

Originally posted by mju90
From what I know, the standard N-SPC format has the volume go up to $4C with center pan. So if it was possible to implement code from the standard format from a game like LttP, for example, to work with the beta format that SMW uses, it would then be possible to achieve higher volumes. (Although I always wished that I could make an AddMusic tool that replaces the beta format with the standard format and adds all the extra commands that AddMusic already uses. Damn my lack of ASM knowledge!)


If I implemented the "standard" N-SPC format, we'd run into the issue where virtually no songs were compatible at all, so I don't think I'm going to be doing that...

Originally posted by Daizo
I'll stick with AMM for now but later I might use it O_O


Because AMK is compatible with 99% of the songs out there (and so compatible with whatever songs you're going to write), my goal is for this to replace both AMM and AM 4.05 so that we can have just a single Addmusic that everyone uses and, more importantly, a single "standard" so that no one has to consider "will I use Addmusic A or Addmusic B to port this song / insert music into my hack?"

Originally posted by Ripperon-X
I thought this Addmusic uses the latest version of Asar. Other than that, this looks really great!


If it doesn't, an upgrade shouldn't cause any glitches.

Originally posted by mario90
Edit: I also forgot to mention, switching songs around also somehow causes the amount of ARAM it reports after it finishes inserting the music to just start continuously decreasing after every use of AMK.


I found the real cause of this. It turns out I was misinterpreting what you were saying, and you found a really nasty glitch indeed. Basically, any time you used AMK, the main program would increase in size by four bytes. It didn't matter if you changed anything around or not, it would always increase in size by four bytes, slowly eating away at your ARAM space. This was caused by me forgetting to delete a certain file before telling asar to assemble something to its location, which caused it to patch it instead of assemble it. Thank you very much for reporting this.
I should get a new layout.

Probably won't, though.
Originally posted by Kipernal
If I implemented the "standard" N-SPC format, we'd run into the issue where virtually no songs were compatible at all, so I don't think I'm going to be doing that...

However, you could compensate the loudness ports would get by saying that w actually changes the MAIN-volume to compensate with that. So for example, w255 will be a MAIN-volume of 3F which will make the song half as loud so 4C will sound identical to 26. Instead, w510 (or something) will be the full MAIN-volume so 4C actually equals 4C. For songs that don't have a w, just automatically include w255 (you should give a warning though). I don't know if the MAIN-volume also affects the SFX, if it does, the story will probably be over...
Originally posted by Torchkas
Originally posted by Kipernal
If I implemented the "standard" N-SPC format, we'd run into the issue where virtually no songs were compatible at all, so I don't think I'm going to be doing that...

However, you could compensate the loudness ports would get by saying that w actually changes the MAIN-volume to compensate with that. So for example, w255 will be a MAIN-volume of 3F which will make the song half as loud so 4C will sound identical to 26. Instead, w510 (or something) will be the full MAIN-volume so 4C actually equals 4C. For songs that don't have a w, just automatically include w255 (you should give a warning though). I don't know if the MAIN-volume also affects the SFX, if it does, the story will probably be over...


the problem with that is that w510 would take up an extra byte.
Link Thread Closed