Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
As you might know already, the Zxx effect has the 'side-effect' of making the triangle and noise channels louder/quieter in inverse proportion to it. It also makes a click whenever you change it - the bigger the leap, the louder the click is. As a result, for a smooth triangle volume slide you'd want to change it every frame - which would require setting the speed to 1, something which you might want to do (as it stretches your project out a lot).
I'm not sure what letter it would have, but could such an effect be made? I figure there's precedence, with effects for sliding volume up and down and many for sliding pitch up and down.
_______________________
bite-sized songs inspired by rhythm game music, in Famitracker: http://soundcloud.com/patashu
It's easy to accomplish this with a DPCM ramp. This example ramps all the way on and off, but you can make non-looped ramps that will stop at a specific point.
I don't think the Zxx function is used often enough to make this a worthwhile addition. There are already workarounds anyway.
_______________________
[quote=iGotno_scope]im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to.[/quote]
I second Patashu's notion. I find myself preferring to use Zxx all the time in order to get more expression from the triangle, but the pain of working at speed 1 steers me away from it unless I think the extra hours of work are worth it. A dedicated effect would be extremely useful, so I'm requesting this as well.
The DPCM ramp workaround still uses up space that you might want for other things. What other workarounds are there?
I would also like an effect for this. The DPCM ramp is but that: a workaround. A nice officially implemented way to achieve a Zxx envelope would be very welcome. Maybe the arp macro in the instrument could be used for this?
EDIT: It would certainly make stuff like [url=http://dl.dropbox.com/u/34026765/zxx_abuse.ftm]this easier.
_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
DPCM ramps aren't a workaround at all. They're just a different way to set the DMC counter set that has its own advantages and disadvantages. If you need a fast fade, DPCM does a better job because the time resolution is much finer (you can smooth out a fast fade, where a Zxx or Zxx macro effect would only be able to pop loudly).
Gyms, the space used for the simplest on/off ramps is 17 bytes, I believe. The NSF code required for the proposed effect would mostly likely be larger than that. For more complex ramps you'd probably be reserving 32 more bytes per sample, so at some point the sample data would overtake the code.
Anyhow, I'm not opposed to an effect, just pointing out that DPCM is a valid way to do it, possibly a better way to do it, depending on what you want to accomplish (e.g. it's better for "triangle echo" than a Zxx macro would be).
Tadpole, get a [url=http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm]hex editor. A DPCM sample is just a series of bits, 1 means add +1 to the counter, 0 means add -1 to the counter. e.g. 10111010 = BA = -1 +1 -1 +1 +1 +1 -1 +1 (note bits are read from the least significant bit first).
The DPCM goes from 0 to 127, and a sample that tells it to go past 127 just clamps to 127, or if it tells it to go below 0 clamps to 0.
The sample length has to be 16n+1 bytes, where n is some positive integer (0, 1, 2...), so 1, 17, 33, 49, etc...
The simplest ramps are 1 byte samples 11111111 and 00000000 that you just loop so they repeat until they flatline at 127 or 0. If you want to stop at a specific spot, you can alternate 1010 until you can stop the sample (i.e. until you reach 17 or 33 bytes).