Langue…
8 utilisateurs en ligne: brickblock369, idealiter, k0nk4r4, LiamBLOL, RPG Hacker, Russ, TheCrazyBuzzyBeetle, yoshiatom - Invités: 33 - Robots: 208
Utilisateurs: 55 591 (2 464 actifs)
Dernier utilisateur: Amogus_men

AddmusicK Beta Release Thread

Lien Fil fermé
What the guy above me said, and would it be possible to make any actual $ee commands after the instrument sort of "add" on to the predefined pitch rather than reset it altogether?

i.e. pretuning=$2e + $ee $1f =$4d and NOT $1f?
Check out my music!
I don't quite understand the whole echo thing. Can someone please explain it to me? Sorry, I'm still a noob at this stuff...

Here's the original text:

Quote
Send $06 to $1DFA to force sound effects to not echo (sound effects, by default, will not echo). Send $07 to force them to echo. That's about it, really.


Where do I go to edit this, and what exactly do I write? Do I change something that says $06 to something else or what? Thanks for the help in advance!

Note: I also found that the game produces a strange noise when the player gets a game over.
Originally posted by CrispyYoshi
I personally like the [[ and ]] syntax more than [| and |], it makes more sense, and is easier to remember. :B


Alright; I'll use [[ and ]] then.

Also gah why do I always see typos when it's way to late to fix them.

Originally posted by ShadowFan-X
I found another Yoshi bongos bug. When you get Yoshi in a level where the music doesn't have Yoshi bongos, get Yoshi, and then go to a level where the music does have Yoshi bongos, they don't play until you either remount Yoshi or restart the level.


Alright. This should be an easy fix; I'll look into it.

Originally posted by ShadowFan-X
Also, a feature request: Music groups. For example, if you wanted to switch songs mid-level without the nasty pause that happens when music is uploaded, you could add something like this to Addmusic_list.txt:
Code
{
20  Song 1.txt
21  Song 2.txt
}

When a song in a group gets uploaded, the rest in the same group get uploaded as well (samples and everything).


There's a problem, though: whose samples are uploaded, song 1's or song 2's? That aside, though, I think it should be fairly easy to accomplish, though there would be a limitation: grouped songs must be consecutive (though that shouldn't be a big deal).

Originally posted by mju90
May I make a small request?

Would it be possible to add an additional byte to the #instruments table for fine tuning (like the $EE command) like this?

Code
"Sample1.brr" $AD $SR $GA $XX $YY

Where $XX = pitch and $YY = Fine tuning.

This would really save a few bytes when it comes to constantly changing instruments in a single channel.


Vitor Vilela brought this up to be a bit ago, but slightly differently. So I'd like some opinions on this, because I think it's a good idea:

Option 1: Each instrument would have one extra byte, which would act like the $EE command.

Option 2: Each instrument would have one extra byte, which would act as a "fraction" portion for the pitch multiplier byte before it (this is how all other N-SPC engines work, would allow for more precise pitches, and could be combined with the $EE command).

Originally posted by Moose
What the guy above me said, and would it be possible to make any actual $ee commands after the instrument sort of "add" on to the predefined pitch rather than reset it altogether?

i.e. pretuning=$2e + $ee $1f =$4d and NOT $1f?


Depends on what people say about what I just suggested. If people want the first option, then probably not. If people want the second option, then yes (since it would be the default behavior).

Originally posted by JTA777
I don't quite understand the whole echo thing. Can someone please explain it to me? Sorry, I'm still a noob at this stuff...


Basically, put this in levelINIT.asm:

Code
LDA #$06
STA $1DFA
RTS		; Change to RTL if you're using LevelASMTool


It's for people inserting music into their hack, not for music porters.

Originally posted by JTA777
Note: I also found that the game produces a strange noise when the player gets a game over.


And I forgot to mark another sample as being important. Fixed; thanks. Replace your Addmusic_sample groups.txt with the one in the ZIP file.
I should get a new layout.

Probably won't, though.
Option 2 all the way. I'd like some more control over my pitch values. :)
Check out my music!
Originally posted by Kipernal
Vitor Vilela brought this up to be a bit ago, but slightly differently. So I'd like some opinions on this, because I think it's a good idea:

Option 1: Each instrument would have one extra byte, which would act like the $EE command.

Option 2: Each instrument would have one extra byte, which would act as a "fraction" portion for the pitch multiplier byte before it (this is how all other N-SPC engines work, would allow for more precise pitches, and could be combined with the $EE command).


I think option 2 would definitely work the best. The closer you can get to your desired pitch without a whole mess of commands, the better.
Please excuse my lack of an avatar or banner. I'm just too damn lazy to create one.
Originally posted by Kipernal
Vitor Vilela brought this up to be a bit ago, but slightly differently. So I'd like some opinions on this, because I think it's a good idea:

Option 1: Each instrument would have one extra byte, which would act like the $EE command.

Option 2: Each instrument would have one extra byte, which would act as a "fraction" portion for the pitch multiplier byte before it (this is how all other N-SPC engines work, would allow for more precise pitches, and could be combined with the $EE command).

I am completely for Option 2.
Option two.

Also, would it be at all possible to modify the $DB command to have an extra byte, for more precise volume levels and panning values? For example, if the volume levels in an SPC that you are porting are then you could have $DB $14 $22 and get the same output (as the original SPC).
If this is possible, I have another request but I'll wait for a reply first.
soundcloud / bandcamp / twitter / buy/stream my EP / buy my touhou music
As the others, I choose option 2.

Originally posted by Sinc-X
Also, would it be at all possible to modify the $DB command to have an extra byte, for more precise volume levels and panning values? For example, if the volume levels in an SPC that you are porting are then you could have $DB $14 $22 and get the same output (as the original SPC).
If this is possible, I have another request but I'll wait for a reply first.


I'd like to second that, would be useful for many porters. I just hope it's not impossible to add.
So it's looking like option 2. Alright; I just didn't want to assume one way or another.

Originally posted by Sinc-X
Also, would it be at all possible to modify the $DB command to have an extra byte, for more precise volume levels and panning values? For example, if the volume levels in an SPC that you are porting are then you could have $DB $14 $22 and get the same output (as the original SPC).
If this is possible, I have another request but I'll wait for a reply first.


I'm afraid I can't do that for three reasons: Firstly, it would be impossible to determine, from AMK's side, which $DB command to use in situations like $DB $EA $EE $DA $02. Is that "$DB $EA | $EE $DA", or "$DB $EA $EE | $DA $02"? Secondly, if we were to ignore that, it would be impossible to determine, from the SPC side, which $DB command to use (the short one or the long one). Finally, I don't want to introduce any commands that specify an "absolute" volume, since it would come with all sorts of complications (What if you want to fade to that volume? Does the global volume affect it? Does the qXX volume affect it? What about pan fade? Etc.) I'd basically have to create alternate versions of the $DB, $DC, $E0, $E1, $E5, $E7, and $E8 commands, as well as gut and completely recode the DSP volume determining routine, just for this one option. $FA $03 $YY was easy to add, since it just takes whatever volume is about to be output and multiplies it by 1.YY, so everything is still relative. Adding absolute volumes would just open a whole new can of worms.

EDIT: But if it were a new command that specified absolute volumes and ignored all other volume-related commands (so any further volume or pan commands would cancel it out), then that would be reasonable.
I should get a new layout.

Probably won't, though.
Originally posted by Kipernal
EDIT: But if it were a new command that specified absolute volumes and ignored all other volume-related commands (so any further volume or pan commands would cancel it out), then that would be reasonable.

That would work.
soundcloud / bandcamp / twitter / buy/stream my EP / buy my touhou music
You mean like $FC $XX $YY or something (or are we up to $FD now? I forgot...)?

Also, I would go with option 2 as well. That would make not only $EE but also $FA $02 a lot less necessary.

Also x2, speaking of volume, would it be worth having a way to do relative rather than absolute value with the v command? The primary purpose for that would be to prevent having to change every vXXX on a channel if you wanted to change the volume of the entire channel. Of course, I suppose one could just use defines, like, "CH1VOL01 = v250" or something. Actually, on that note, does AMK (or AMM, for that matter) support math in defines? Could you define "CH1VOL02" as "CH1VOL01 * 0.9" (assuming that the first define is just a number like 255 or $E0)?

----------------

I'm working on a hack! Check it out here.
There's already qXY (specifically Y) which is relative to the vXXX volume, eventhough it doesn't allow for that many variations, it's still something worth looking at (and I'm almost sure nspc games played quite a lot with that value, expecially smw to begin with).

Also, if you're adding the pitch thing, I'd go for option 2, aka the multiplier byte. That'd be infinitely useful for evil plans!
I'm pretty choked up about this, especially since there are some AddMusic M only songs I might want to use but do not want to port to a new ROM just to reinsert everything with AddMusic M. I am also excited about the part where you mentioned not needing to port if I alread used AddMusic 4.05 or needing Sample Tool.
I hope this can see an official release sometime soon.
Legacy custom music
A site where you can be able to hit that dislike where your dislike will be visible to other people and not have to rely on a browser extension as well as actually watch my SMW hacking content

Having a custum instrument then useing decrease gain doesnt on the first note for some reason.
@37
c1^2$FA $01 $AE^2
It just cuts off.
d4$FA $01 $AE^4
But notes after it work.

Also I wondering if you can make loops like:
[^1]12 hold the notes instead of cut off.
So notes like c2[^1]5 could be possible and not haveing to spam ^1 would save somes space.
________________________________________________________
Mario the Gaul
Originally posted by Masterlink
As the others, I choose option 2.

Originally posted by Sinc-X
Also, would it be at all possible to modify the $DB command to have an extra byte, for more precise volume levels and panning values? For example, if the volume levels in an SPC that you are porting are then you could have $DB $14 $22 and get the same output (as the original SPC).
If this is possible, I have another request but I'll wait for a reply first.


I'd like to second that, would be useful for many porters. I just hope it's not impossible to add.


That would not be useful because SMW is already loud as hell and matching the panning/volume values would be even worse.
I think a post layout goes here somewhere...
Well then.

But you can always decrease the global volume and keep the panning values/volume differences almost the same.
That depends. If you know what you're doing, it's easy to figure out what a value from somewhere else should be in SMW.
For example:

Let's use this as an example. In channel 1 at the start, the volume levels are both $07. So, to convert those values to SMW, we need to look at the master volume level. In SMW, that is $7F. In DKC, it's $3C. Now we are going to get out a calculator and multiply $07 by $3C (1A4) and divide it by $7F. That gives us $03, so our command will look like $FC $03 $03.

e: fixed, thanks lui
soundcloud / bandcamp / twitter / buy/stream my EP / buy my touhou music
Ahem, those values you're talking about are in inverse ratio to the global volume, not direct.
Therefore you might want to do ($07*$3C)/$7F = $03.
Alright; I want to try something. I've replaced the current pitch calculation routine with the one from Yoshi's Island, which is shorter and allows for the "sub multiplier" that I was talking about earlier. I haven't noticed any problems stemming from this, but I trust you guys can judge this better than I ever could. Replace your asm/main.asm with this one and see if you can hear anything wrong.

Originally posted by imamelia
Also x2, speaking of volume, would it be worth having a way to do relative rather than absolute value with the v command? The primary purpose for that would be to prevent having to change every vXXX on a channel if you wanted to change the volume of the entire channel. Of course, I suppose one could just use defines, like, "CH1VOL01 = v250" or something.


As Lui37 said, that's basically the purpose of the qXX command. And again, backwards compatibility and such; there's really no way I can change how it functions now.

Originally posted by imamelia
Actually, on that note, does AMK (or AMM, for that matter) support math in defines? Could you define "CH1VOL02" as "CH1VOL01 * 0.9" (assuming that the first define is just a number like 255 or $E0)?


Neither one does, and to be honest, putting a math evaluator into AMK isn't really something I want to spend time doing.

Originally posted by ggamer77
Having a custum instrument then useing decrease gain doesnt on the first note for some reason.
@37
c1^2$FA $01 $AE^2
It just cuts off.
d4$FA $01 $AE^4
But notes after it work.


That's because of how the DSP works. Writing a new ADSR (or GAIN) value doesn't reset all the internal timers and whatnot associated with them; playing a new note does. So when you change the GAIN mid-note, the volume level at that point would be equal to what it would have been if you set that GAIN at the start of the note. There's nothing I can do to change this.

Originally posted by ggamer77
Also I wondering if you can make loops like:
[^1]12 hold the notes instead of cut off.
So notes like c2[^1]5 could be possible and not haveing to spam ^1 would save somes space.


I'd like to, but doing that would also mean that when a note plays across an entire song loop (i.e. from the end to the beginning/loop point), that note would also continue playing. While that would be nice, I doubt it would be hard to find a song that it would break.

Originally posted by Slash Man
That would not be useful because SMW is already loud as hell and matching the panning/volume values would be even worse.


The idea isn't necessarily to match it 1:1, though; it's just to be able to achieve any exact volume / panning value you want.
I should get a new layout.

Probably won't, though.
Just tried out the new main.asm file and I can't find any problems with it through various songs whatsoever.
Please excuse my lack of an avatar or banner. I'm just too damn lazy to create one.
Lien Fil fermé