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 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > Help with the Gxx command Owner: charliechip95 New post
Page 1 of 1 Sort:  
Help with the Gxx command Posted: 2013-10-28 05:05 Reply | Quote
charliechip95



Member for: 3158 days
Status: Offline

#52026
Hey, I'm new to Famitracker (and the forums)! I have a question about the Gxx command.

The effect table says "Gxx = Note delay, delay before the current row is triggered, xx = frames to wait"

[url=http://i.imgur.com/MWeFkxd.png]These are frames, if I'm not mistaken. But the Gxx command doesn't delay notes over entire frames--Frames are long periods of time (4 bars usually). So if not frames, what does xx effect?
Thanks in advance

Posted: 2013-10-28 05:54 Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#52027
The value of the Gxx effect affect the time delay between notes. The "xx = frames to wait" is a typo in the help file, but one would basically use the Gxx effect to pull off such things as the delay between an 8th note & a dotted quarter note.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2013-10-28 06:09  (Last Edited: 2013-10-28 06:11) Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4983 days
Location: Canada
Status: Offline

#52028
It's not a typo, just bad wording/conflict of terminology. A "frame" in tracker parlance is (more or less) synonymous with "order" or "pattern"; however "frame" also corresponds to one update of the Audio Processing Unit (APU) engine and Graphics Processing Unit (GPU) engines when one speaks of consoles from the 8-bit era. Typically, there are 60.09 frames per second on a NTSC console (most programs - Famitracker included - round this down to 60, either to keep things simple or because their developer didn't know any better), and exactly 50 frames per second on a PAL console. The APU and GPU don't necessarily have to be in sync, but NES games kept it that way for simplicity's sake; nothing stops you, however, from configuring your NSF in such a way that one second contains (for instance) 400 frames instead of 60.

Simply put, the term "frame" in the help file is entirely correct, though admittedly ambiguous, and the entire program (and documentation) would likely benefit from having every occurence of the word "frame" changed to something like "order" (not "pattern", since that currently corresponds to "one set of frames/orders").

Coming back to your original question, not much can be said that TechEmporium hasn't already; the only thing I might add is that the parameter 'xx' for the Gxx command determines how many APU frames the program should wait before playing whatever is on that row in that channel (other effects included). It is indeed useful for triplets, tuplets and everything involving in-between notes that would normally fall inbetween rows.

Probably the user-friendliest way to approach the Gxx command is to make sure your module uses tempo 150, modifying the speed only through the "Speed" field (or Fxx values between 01 and 1F). This setting has the useful property of explicitly showing how many frames one row lasts, so you can time your Gxx delays accordingly. For instance, imagine the following scenario:

Tempo: 150
Speed: 6
Problem: You need to insert a note that would fall exactly halfway inbetween rows 00 and 01.
Solution: On row 00, insert your note and add G03 next to it (because 3 frames is exactly one half of 6 frames, the duration of each row in your module).

Hope that helped!

_______________________
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.
Posted: 2013-10-29 01:30 Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#52040
That clears things up for me at least. Thanks.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2013-10-29 22:18 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#52046
Yeah this is a bit unclear in the help files. I'll add some clarification regarding this.

_______________________
Programmer and developer
Page 1 of 1 Sort: