Being able to use the volume column on the triangle channel would be useful, because that then allows you to turn the channel off then on without having to re-enter the note. So you can have a "stuttering" triangle wave without having to enter a bunch of identical notes (separated by note-offs) or making an instrument just for that effect alone.
EDIT: here's an example in Deflemask, where the technique I explained does work, versus a similar Famitracker module where it evidently doesn't (the second frame shows you have to re-enter the note in order for it to work, which is slightly more time-consuming and probably not necessary).
The NES has only one way to silence the triangle channel, so there's no case where "volume 0" and "note off" would mean different things to the hardware.
The squares are different, they have both volume 0 and a note on/off toggle, not that it matters to the listener, but yes these are different hardware states for the squares.
Yeah, maybe inside the tracker engine there are differences. As I said some posts ago:
Delek wrote:
Zeroing the volume will change the exact same register as making a NOTE-OFF, because the NES' Triangle has only an ON/OFF command, there is nothing more.
BUT, maybe jsr is processing differently a volume change and a note off inside FamiTracker, so this require a look at the source or wait the jsr reply.
Yeah, this may be a bit out of my field of expertise( because I really have none. ) but I think, personally, since some people say yes, and some people say no, that there should just be a setting. I know that its a bit more complicated than that, but I would either opt in for a setting, or everything over a 0 instantly being converted into a F and 0 remains the same. That solves the problem of the actual program reading a note-off and a 0 differently, as the note is still being played, just muted. That would also solve the problem of when someone decided to copy and paste a note into the triangle channel, while also getting rid of useless numbers and/or letters between 0 and F. If I have gotten anything totally wrong, please don't flame or anything, I am sort-of a novice at programming, and have never even glimpsed the source code of FamiTracker, nor do I plan to do so. I do, however, use the program and, although it doesn't improve it much, it would make it slightly easier. For me, at least. As with most things, it's all a matter of personally preference or opinion.
That's the thing: as rainwarrior explained, the 2A03 makes no distinction between "triangle playing but muted" and "triangle not playing", unlike the squares for instance. In my view, the debate isn't about what's going on at the hardware level, but rather "how does Famitracker the volume channel for triangle".
"Everything above 0 gets coverted to F" seems like the most sensible solution to me (and a few other people judging from the reactions in this thread).
I don't understand why anything needs to be converted to F?
0 can disable the triangle, anything else enables it, the same as macros do (and it's worth being consistent with macros). If loading an old famitracker document, for full compatibility all you have to do is delete any 0s in the triangle's volume volume.
I suggested the alternative of hiding the volume column entirely just because the volume column does nothing currently and is a source of confusing. Obviously, making it work is an even better solution, but since the behaviour was so long-standing I figured it wasn't ever going to change.
There doesn't need to be any kind of settings for this. Why would there be? (You can ignore the column entirely if you don't need it.)
I guess "make non-zero values activate the channel" is what I meant as well, I was just using CheeseGuy99's own words. But yeah, 1-F should turn the channel on, and 0 should turn it off without forgetting the currently playing note. That seems like the most sensible behaviour to me (and that's how it works in Deflemask, as I demonstrated earlier).
(You can ignore the column entirely if you don't need it.)
Well, yes, that WOULD be simpler, and that's how I do it now. But for visual reference, I would personally add in that all are either F or 0. I talked with a couple other people without accounts here, and they disagree with me, so perhaps im just weird.
(You can ignore the column entirely if you don't need it.)
Well, yes, that WOULD be simpler, and that's how I do it now. But for visual reference, I would personally add in that all are either F or 0. I talked with a couple other people without accounts here, and they disagree with me, so perhaps im just weird.
This makes sense because new users will be like "0 works and F works but all the other values don't make it quieter, fix it plz" or something. Make it 1 or 0 maybe even?
I have changed the volume column behavior to zero = mute and non-zero = unmute. The difference from note-offs is that effects will keep running in the background when it's muted.
I don't think keeping the entire volume range is a problem, there is a note in the documentation about missing volume control for the triangle channel. (and I don't think anyone has ever asked about that.)