Ability to change the step length between highlighted rows in the pattern editor. Instead of having FT highlight every 4 rows, you could change a setting to make it highlight every 3 rows, or every 2, or every 5, or whatever. This would make it a lot easier to create songs that have a triplet feel, or, say, the mission impossible theme. This setting would preferably be very easy to change, like the tempo, and not in some hard-to-find submenu.
EDIT: Ok, maybe this wasn't such a good idea. Apparently, this forum software doesn't seem to allow linking to specific posts...?
Yes it does, but only if you know how to do. It is used today to link to the last post, but it can be used to link to any post. I will fix a link to each post in the member info area to the right in each post in a couple of days.
Thanks dude! Are you going to do it so that clicking the link to a specific post takes you to a page containing only that post, or one that contains the whole page but is centered on the post in question (kinda like what happens when using anchors)?
While we're at it, how about being able to set the arpeggio thing to only do TWO NOTES, by sticking an X or x into it? :D For instance, to arpeggiate between C-5 and C-6, you'd type 0Cx, then press 'Q' on a row (while using the default octave), and it'd make a note that arpeggiates between two octaves with no weird gaps or extra notes.
Thanks dude! Are you going to do it so that clicking the link to a specific post takes you to a page containing only that post, or one that contains the whole page bug is centered on the post in question (kinda like what happens when using anchors)?
Yes, the link will take you to the right page and scroll to the post using anchors.
Ex: #1637 (Quoted post)
Here's what I think is the biggest problem with FamiTracker, the #1 priority for me: managing the volume! Volume envelopes are a pain, and they don't work particularly well with setting channel volume. Here's an example of what I mean: suppose you want an instrument that has a linear fadeout. You use one of the presets, and it sounds fine, but it's too loud. So then you fiddle with the volume for that channel, and then the envelope doesn't sound right anymore -- usually you end up with most of the tail end being at minimum volume, altering the basic character of the sound in some situations (the lower the volume, the more it's changed).
I realize this partly caused by the NES having so few volume levels to work with, but it sounds to me like the tracker is exacerbating the problem by not scaling volume envelopes properly. For instance if you play the envelope "15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0" at volume 8, you should get an envelope of "8 7 6 6 5 5 4 4 3 3 2 2 1 1 1 0", but for some reason that isn't the envelope it generates; it sounds more percussive, getting quieter sooner. Compare the two -- the first envelope at volume 8 and the second envelope at volume F -- and you'll see what I mean.
I also realize that the problem can be circumvented by doing this scaling "by hand" rather than having your envelopes at maximum volume, but then if you want to change the volume of your instrument, you have to change the entire envelope, and if you want the same envelope at a different volume, you'll need a new instrument for it. I'm probably going to end up just writing a script to generate fades of a specified length between specified volumes and I can just copy and paste envelopes from it. Perhaps such a tool could be integrated into FamiTracker.
Currently what I'm doing is I just write my entire song without worrying about getting the volumes perfect and then I fiddle with them when I'm done...
Dafydd: If you would like to do it then you're welcome.
I can stickify this thread then.
Sure.
furrykef - I'll try looking at your request tomorrow, when I have more time. Do you think it could be that when you set the channel volume to 8, it just subtracts F-8 = 7 from each of the MML volume values in the volume envelope, so that instead of -
EDIT: AAAAAARGHHH!! I wrote this super post and it disappeared when I clicked to post it! Sorry furrykef, I will have to elaborate on this later. Try recording the song and look at its waveform, compare the waveform amplitudes to a recording of the song when not using channel volume settings, and you'll see what the actual volume values are.
It's OK, I'm pretty sure you're right. If you have an envelope of "8", and you play it at volume 8, it sounds identical to volume 1; no need to check the waveform to verify that. So I don't think the code could be doing anything other than what you describe.
Instead of doing EV - CV (where EV is envelope volume and CV is channel volume), it obviously should do EV * CV / 15 (and rounding 0 up to 1). But that's more computationally expensive on the NES, of course. If that eats up too many cycles, you could use a lookup table instead.
Let's see, a 15x15 table would be 225 bytes. (Alternatively, you can use a 16x16 table to include zero.) Looking up stuff in the table could be really fast: put the EV in the high nybble and the CV in the low nybble, or vice versa, and then you have a one-dimensional lookup.
Or you could get a smaller table if you don't mind a slower lookup, by using a triangle-shaped 2D table. It's triangle-shaped because the table would be symmetrical around the diagonal axis. You could also get a smaller table by storing two entries per byte. You get the idea...