nesbox / TIC-80

TIC-80 is a fantasy computer for making, playing and sharing tiny games.
https://tic80.com
MIT License
4.98k stars 479 forks source link

Volume column in tracker? #161

Closed darkhog closed 7 years ago

darkhog commented 7 years ago

I think this would be cool if we could have a volume column. Not talking about effects, but plain volume that would act as a modifier to volume envelope of the sound used. Not sure about the exact formula, but something e.g. OpenMPT use for the volume column in formats that supports it.

As for how to get the space for this column? Simple. Remove sharp/flat column in note area. As for differentiation between sharp/flat notes you could do what another tracker I use is doing (either Sunvox or Klystrack, one of these, but not sure which): Represent flat notes with capital letters and sharp with small ones so e.g. C#4 would be noted c4 and C-4 would be noted C4.

nesbox commented 7 years ago

Unlikely, but we'll see, I think you could do volume control with effects columns

ajc2 commented 7 years ago

That would be my preferred way of doing it personally.

nesbox commented 7 years ago

it's not UI only problem I also have only 12 bits reserved for Effect columns As idea, I can cut a column from the Effects and leave effect with one parameter I haven't designed effects yet, maybe this is enough

darkhog commented 7 years ago

"I think you could do volume control with effects columns"

But what when I want e.g. set specific volume and slide? Most trackers have volume/velocity column for specifically this reason. Otherwise they'd need to make some "combined effects" which they tend to do anyway for more advanced stuff.

As for memory space, I think you could set aside additional 4 bits for volume (which is in 0..F range to my knowledge so 4 bits would be enough). You have pretty big amount of memory set aside for 'future use" so it could be this.

nesbox commented 7 years ago

added volume column (blue) to the tracker you can assign 0-F (0-15) values image so, we have left 2 columns for effect/parameter done in .27