A song editor for "Frets On Fire"
Table of Contents

# Configuring EOF

[ Buffer Size ] [ AV Delay ] [ Song Folder ] [ Linking to FOF ] [ Linking to Phase Shift ] [ Other Settings ] [ Preferences ]

# Finding the Right Buffer Size

It is important to set the Buffer Size to a good setting for your computer. Differences in hardware configurations mean that not all computers will operate properly with the default buffer size (4096). To see if you have the correct value, load the example song (included) and press the play button. If the audio stutters or crackles this means the buffer size is too small. Open up the Settings dialog and try setting the buffer size to 8192 and hit play again:
If it still stutters, try 16384. If it still stutters your computer may not be sufficiently powerful to run EOF. Please note that the buffer size can be any size as long as it's at least 1024, the values I suggested are not the only possible settings. Also note that the buffer size affects the AV delay so you may need to update that setting (see Setting Up Your AV Delay) as well.

# Setting Up Your AV Delay

First you will want to set up your AV delay. EOF comes with a song called AV Delay which you will need load. Do so as shown here:
Here is what the screen looks like when the AV Delay song is loaded:
Press the space bar and watch the screen. You will see a green line move across the editor pane as shown here:
If the AV Delay setting is correct you should see the green line pass over the center of the notes at exactly the same time as the sound of the notes comes out of the speakers. When the green line hits the note the note will also be highlighted. Chances are, the default value is going to be too small. What you will need to do is, while the song is playing, hold the '+' key for a little bit and see if you can get the notes to light up at exactly the same time as the note plays from the speakers. If you set the delay too high just use the '-' key to adjust it back down in the same way.
You may also use the Settings dialog to adjust your AV delay setting.

# Setting Up Your Song Folder

The EOF Song Folder is the directory in which new projects are created. By default, new projects will be created in the folder in which EOF resides. You may wish to place them elsewhere for whatever reason. To change the Song Folder just select "File->Song Folder" from the menu. A folder browser will be displayed:
From here just browse to the folder you wish EOF to place new projects in. Each new project will be placed in a sub-folder of the folder you selected here assuming you selected "Create New Folder" in the New Project wizard (see "File->New").

# Linking to FOF

You may find it useful to link up EOF with your copy of "Frets On Fire" so you can test your songs without having to copy files. To do so, select "Link To FOF" from the "File" menu:
First you will have to browse to your "FretsOnFire.exe:"
Next you will have to browse to your "Frets On Fire" song library base folder:
Once you have done that, any time you wish to open "Frets On Fire" with your current project just select "Test In FOF" from the "Song" menu (see "Song->Test In FOF"). Please note that only certain versions of Frets on Fire support this feature (see "File->Link to FOF" for more details).

# Linking to Phase Shift

Similarly to Frets on Fire, you can link to Phase Shift and launch the currently open chart in Phase Shift's practice mode. The steps are the same, select "Link to Phase Shift" from the "File" menu, browse to the Phase Shift executable file and then browse to the Phase Shift song folder.

# Other Settings

"MIDI Tone Delay" is similar to the AV delay, but causes the MIDI playback of pro guitar/bass notes to occur sooner in order to compensate for MIDI lag from factors outside of EOF. See Edit>MIDI Tones for more information.
"CPU Saver" allows you to change the amount of time the CPU rests. Moving the bar to the right will lower EOF's idle processor usage.
"Smooth Playback" makes EOF use it's own timer to keep track of the position of the music. Turn this off if the audio and video lose synchronization during playback.
"Disable Windows UI" allows you to use the built-in file selection dialogs instead of the native Windows dialogs. Linux and Mac users will always get the built-in file selector so this option is disabled on these platforms.
"Disable VSync" tells EOF not to wait until in between monitor refreshes before updating the screen. This saves CPU and often provides better performance overall.
Please see "File->Settings" and "File->Preferences" for details.

# Preferences

"Inverted Notes" flips the notes so they are displayed with purple on top in the fretboard editing area.
"Lefty Mode" flips the notes so they are displayed with purple on left in the 3D Preview.
"Note Auto-Adjust" allows the notes in your project to stay positioned correctly relative to the beat markers when the beat markers are moved, ie. notes will stay grid snapped. While it's possible that a note can fall out of grid snap by affecting it several times by clicking and dragging beat markers and automatically adjusting its position, EOF calculates a note's grid snap position before adjusting the note and applies the new grid snap position after the adjustment is performed, allowing it to stay grid snapped in most cases. If you also enable the "Song>Highlight non grid snapped notes" feature, it will be easy to notice if a note ever does lose its grid snap position.
"Enable logging" causes EOF to create debug logging to the file "eof_log.txt" in EOF's program folder. Changes to this setting require EOF to be restarted in order to take effect.
"Hide drum note tails" is a performance option that will skip the rendering of tails on drum notes in the editor window.
"Hide note names" is a performance option that skips drawing note names in the editor window (ie. when a pro guitar track is active).
"Disable sound FX" is a performance option that disables sound mixing (sound volume, sound cues, etc.) during playback.
"Disable 3D rendering" is a performance option that disables rendering for the 3D preview. If full screen 3D preview is in effect (CTRL+F), this preference is ignored.
"Disable 2D rendering" is a performance option that disables rendering for the editor window.
"Hide info panel" is a performance option that disables rendering for the info panel.
"Paste erases overlap" causes notes whose start positions would be overlapped during a paste operation to be deleted instead of merged, similar to the behavior of the Feedback editor. The length of the last pasted note is not taken into account, its tail is allowed to be truncated so as to not overlap another note. Also, if the first pasted note is pasted at the position another note ends, that note is not deleted, it is just truncated slightly.
""Make note tails clickable" allows you to hover the mouse over a note's tail or anywhere over the start to end position of a lyric and click to select it, instead of requiring you to mouse over the note's/lyric's head. Consequently, this means that hovering the mouse over a note's tail and adding a gem will toggle that gem at the beginning of the note being hovered over, instead of placing a note at the mouse position.
"Min. note distance" allows a minimum distance between the end of one note and the start of the next, since notes whose tails are too close to other notes can cause issues during timing conversion. It may be necessary to change this value to 0 if you are creating charts for Rocksmith 2014, as notes with the "linkNext" attribute should extend all the way to the next note with no gap in between the two.
"Min. note length" allows a minimum note length to be specified for all 5 lane guitar tracks. This may help when creating custom songs for use in Guitar Hero, as the song won't play correctly in-game if the gems are too short (such as 1ms long).
"Chord density threshold" defines the maximum distance (in milliseconds) a repeated chord can be from the previous chord and still be allowed to RS export with high density (repeat lines). The default value observed during the RS1 customs era and much of the RS2 era is 10 seconds (10000ms).
"New notes are made 1ms long" makes newly created notes 1ms long instead of the length that is normally determined through the grid snap setting. For notes exported for use in Rocksmith, any note longer than 1ms causes them to display specially as sustained notes.
"Top of 2D pane shows" allows you to specify which item is displayed at the top of the editor window, since there's not enough to display more than one of them at once. If the option to display RS phrases is selected, and the preference to save Rocksmith files is also enabled, the RS phrases are displayed with a color coding system to aid in Rocksmith authoring: If a phrase's notes in the active difficulty are identical to those in the next difficulty, the phrase's background is rendered red. If the active difficulty of the phrase has at least one note, and the next difficulty does not, the phrase's background is rendered in green. If the phrase is empty in the current difficulty, it is rendered with a blue background. If the option to display both RS sections and phrases is selected, the phrases are allowed to draw on top of time signature markers (which are still visible in the 3D preview) due to space limitations. If a displayed RS phrase or section is specific to the active track, it is prefixed with an asterisk (*). If the option to display hand positions is selected, a red vertical line is drawn at each fret hand position's timestamp in order to make it easier to see how they line up with notes.
"Apply crazy to repeated chords separated by a rest" does what it implies if the distance between the distance between the chord and the one that precedes it is greater than the minimum note length preference (or 2ms, whichever is larger) and that preceding note is not selected (ie. not still being edited). The purpose of this preference is to display repeated chords as boxes instead of repeat lines if there is explicitly space between it and the chord it follows (ie. note tail doesn't extend all the way from one chord to the next).
"Click to change dialog focus" changes the behavior of some dialog menus by requiring a mouse click to change input focus instead of just mousing over them.
"dB style seek controls" causes the seek functions' keyboard shortcuts to reverse in direction, so that the Pg Up key seeks forward and the Pg Dn key seeks backward. The Left and Right arrow keys will also seek forward or backward, respectively, by intervals of the current grid snap value. Unlike Feedback input mode, the Up and Down arrow keys will perform the standard note transpose functions.
"Add new notes to selection" causes newly added gems cause notes to be added to the currently selected notes instead of the selection being cleared and only the newly created/edited note remaining selected.
"3D render RS style chords" changes the 3D preview of pro guitar/bass tracks to more closely reflect how chords are displayed in Rocksmith 2014. Repeated chords are displayed as repeat lines unless they are far enough apart and chords don't display with tails unless they use a technique that would cause the chord sustain to display in-game.
"Treat inverted chords as slash" causes chord inversions (a chord where the bass note is not the root note, ie. scale, of the chord) to be displayed and exported to MIDI as slash chords.
"Rewind when playback is at end" controls whether the chart automatically rewinds when the end of the song is reached during playback.
"Drum modifiers affect all diff's" causes the toggling of open/pedal/sizzle hi hat or rimshot status to also modify existing notes that are in other difficulties of the drum track, preventing the need to add such features to each difficulty one at a time.
"Display seek pos. in seconds" causes the seek position in the Information panel and the second counters in the piano roll to be shown as seconds (the format used in Rocksmith XML files) instead of minutes:seconds.
"EOF leaving focus stops playback" can be disabled to allow the chart to remain playing even if you change from EOF to another program.
"3D render bass drum in a lane" causes bass drum gems to be drawn in in the 3D window as a lane instead of as a bar that crosses all lanes.
"Offer to auto complete fingering" can be disabled to prevent EOF from offering to do this when using the "Edit note frets/fingering" dialog for pro guitar notes.
"Don't auto-name double stops" can be enabled to prevent pro guitar chords that have only two notes from being automatically assigned a chord name, and will display with no name as a default.
"Auto-Adjust sections/FHPs" Allows EOF to automatically move certain types of sections (lyric line, solo, star power, trill, tremolo, arpeggio, handshape, slider) if all notes in them (among all relevant difficulties) are moved. Also allows a fret hand position to automatically move if it is defined at the same timestamp as a note that is being moved.
"Input Method" alters the way the editor works. See Editing Songs for details.
"Color set" allows the colors used for each lane to reflect those that EOF originally used (lanes 1 through 6 use green, red, yellow, blue, purple and orange respectively), those that Rock Band uses, those that Guitar Hero uses or those that Rocksmith uses (non pro guitar tracks will display with the Rock Band color set). The Bandfuse color set is more complex: It uses color to indicate the fingering (open string = purple, index = green, middle = red, ring = yellow, pinky = blue, thumb = orange). If a note's fingering isn't defined, EOF will guess based on any fret hand position in effect, otherwise if no suitable fingering is determined, the note is drawn in white. If the note uses tap technique, it is drawn in black.

## Import/Export Preferences

"Save separate Rock Band files" causes EOF to save additional files during save. This feature makes it more convenient to chart custom Rock Band Network and custom pro guitar charts, as you will not have to manually remove features for whatever custom content you are authoring. If enabled, a "notes_rbn.mid" file will be written to contain all valid Rock Band Network 2 notation, omitting custom notations that are exclusive to FoF or Phase Shift (expert+ bass drum notes will be written as normal bass drum notes, non Rock Band notations such as rimshot, open/pedal controlled/sizzle hi hat, sliders and Sysex based phrases are omitted, non Rock Band Network tracks such as PART DANCE and PART REAL GUITAR are omitted, open strum bass notes are omitted, fifth lane drum notes are omitted) while ensuring necessary components such as drum mix events and the BEAT track are included automatically. If enabled, a "notes_pro.mid" file will be written to contain the tempo map (track 0) and all pro guitar and pro bass tracks if any such tracks are populated. If a "notes_pro.mid" file is created, an additional MIDI (notes_c3.mid) is created, which combines all of the RBN compatible content of notes_rbn.mid with the pro guitar and pro bass tracks. Unlike the official Harmonix release of the Magma utility, the C3 release is able to build CON files out of MIDIs containing pro guitar/bass tracks. In addition, enabling this preference causes EOF to write an upgrades.dta file (used for creating custom pro guitar upgrades for Rock Band 3) for you if it doesn't already exist at the destination folder. Although you need to manually edit that file to contain the correct song ID, the song name and tuning tags are pre-written in the appropriate format. Appropriate difficulty tier values are written to the DTA file if the difficulty levels for the pro guitar/bass tracks are defined in the project. Otherwise you will need to edit the file to contain the appropriate values.
"Save separate musical MIDI file" causes EOF to write additional MIDI files during save. The "notes_music.mid" file contains all populated vocal and pro guitar/bass tracks, and unlike the other MIDI files EOF writes, all MIDI notes included are the real pitches used in each lyric or guitar/bass note. Notes that are ghosted or string muted are not exported. This file can be used in other music programs that use normal MIDI files, like Songs2See, Synthesia or even just your favorite MIDI player. Each pro guitar/bass track is written to use the corresponding MIDI instrument number used by the MIDI tones sound cue, which is configured in eof.cfg. The "notes_fretlight.mid" file is similar to notes_music.mid, but has some slight differences to allow it to work better in the Fretlight M-Player program.
"Save separate Rocksmith 1 files" causes the populated pro guitar/bass tracks and the vocal track to each be written in Rocksmith's XML format during save, for use in creating Rocksmith custom charts. The lyrics do not need to have line phrases defined because Rocksmith doesn't define the start and stop position of lyric lines. The lyric XML file export will not work if the EOF's program folder path contains Unicode of extended (ie. accented) ASCII characters. This preference also causes EOF to automatically prompt for a bend note's strength or a slide note's end position when these statuses are toggled on, as they are required for Rocksmith. It also prompts you to update the finger values for chords if any are undefined during save. It also prompts to automatically add fret hand positions for if any populated pro guitar/bass track difficulty has none defined during save. It also causes the chart's audio (with 8 seconds of silent audio appended) to be written to [SONGNAME].wav (or guitar.wav if the chart has no defined song title, or the title has characters that are not usable in file names, such as forward or backward slashes) in the project's folder during save, if a file by that name doesn't already exist, unless the "Don't write Rocksmith WAV file" preference is also enabled. This WAV file is used for the creation of Rocksmith custom charts. If "Load OGG" or "Leading Silence" are used to change the chart audio, or the song title is changed in "Song>Properties", the WAV file is deleted and will be rewritten during the next save operation. This preference will also prompt the user whether to use the "Reset offset to zero" function if there is a nonzero MIDI delay during save, since this condition can prevent the song from starting at the beginning in Rocksmith.
"Save separate Rocksmith 2 files" causes the populated pro guitar/bass tracks and the vocal track to each be written in Rocksmith 2014's XML format during save, for use in creating Rocksmith 2014 custom charts. Unlike Rocksmith 1, the lyrics in Rocksmith 2 do use line breaks, so it's important to define the lyric lines to ensure they display nicely in-game. Rocksmith 2 charts generally support everything in Rocksmith 1, as well as a lot more. A single chart can be authored to work with both Rocksmith games and each track will be exported to a different XML file containing the techniques compatible with the target game. The Rocksmith 2 XML files will include "_RS2" in the file name, as a means to tell them apart from the Rocksmith 1 XML files. Similarly to Rocksmith 1, the chart audio is saved as a WAV file, however Rocksmith 2 doesn't seem to require the added silence that is used for Rocksmith 1 compatibility. Unless the preference to save Rocksmith 1 files is also enabled, the WAV file will be created so that it DOES NOT contain the 8 extra seconds of silence at the end of the chart audio.
"Save separate Bandfuse files" causes the populated pro guitar/bass tracks to each be written in an XML format during save, for use in creating Bandfuse custom charts. The ability to make or use custom Bandfuse charts is pending some reverse engineering that is still incomplete. Any and all people with relevant expertise with modding or hacking Xbox 360 games are encouraged to help.
"Save FoF/GH/Phase Shift files" causes the traditional Frets on Fire chart files (song.ini, notes.mid, script.txt) as well as a Guitar Hero 3 variant (notes_gh3.mid, similar to the normal notes.mid MIDI, but the forced HOPO marker is written with a length of 0 delta ticks instead of the full length of the affected note) and some Guitar Hero World Tour specific files (notes_ghwt.mid and ghwt_drum.array.txt) to be written during save, for use in Frets on Fire, FoFiX, Guitar Hero and Phase Shift authoring. ghwt_drum.array.txt contains times and codes used to try to create drum animations for Guitar Hero World Tour charts. The notes_ghwt.mid file can be converted to .chart format by importing into Feedback and then loaded with Buldy's GHWT Custom Songs Import Tool (http://www.scorehero.com/forum/viewtopic.php?t=110650) to create customs with GHWT features such as forced HOPO notes, open bass notes, lane 5 toms and accent drum notes.
"GP import beat text as sections, markers as phrases" changes the RS phrase/section handling of Guitar Pro import. By default (if you answer yes when prompted), all beat text and section markers in the GP file that have valid RS section names are imported as RS sections, and all others are imported as RS phrases. This preference instead causes all section markers in the GP file to be imported as RS phrases regardless of the content, and beat text will be imported as RS sections if they have appropriate text for RS sections.
"GP import truncates short notes" affects Guitar Pro import by removing the sustain from imported single notes that are shorter than a quarter note. This preference does not apply to tie notes or notes with slide, bend or vibrato status.
"RBN export slider as HOPO" causes notes in slider phrases to be exported as forced HOPO notes when writing the RBN and C3 MIDI files.
"GP import truncates short chords" affects Guitar Pro import by removing the sustain from imported chords that are shorter than a quarter note. This preference does not apply to tie notes or notes with slide, bend or vibrato status.
"Don't write Rocksmith WAV file" skips writing the WAV file during save when the preference to save separate Rocksmith files is enabled.
"GP import replaces active track" causes an imported Guitar Pro track to replace the entire active track. If disabled, the imported track will instead replace only the active track difficulty's content. EOF will prompt before changing the tuning or string count of the active track in a way that affects existing notes in other difficulties.
"dB import drops mid beat tempos" causes Feedback import to remove beats that were added to compensate for mid-beat tempo changes and allow for a cleaner chart that effectively discards the extraneous tempo changes.
"GP import nat. harmonics only" causes artificial and tapped harmonic notes imported from a Guitar Pro track to have no harmonic technique applied. If this preference is not enabled, such notes will be imported with pinch harmonic status.
"Import dialogs recall last path" causes the starting folder for each of the MIDI/Feedback/GH/Lyric/GP/RS imports to be the folder containing the last successfull import of such a file (if the folder still exists), instead of always starting in the project directory.
"Import/Export TS" allows EOF to save time signature events to the MIDI file created during save and to load time signature events during MIDI and Feedback imports. When this feature is checked, a default Time Signature of 4/4 will be used on the first beat marker if the imported file doesn't define an initial Time Signature. If this feature is unchecked, time signature events will be ignored during the save or import of a MIDI/Feedback file. In this case, any time signatures placed on a chart (see the Time Signature section of the manual) will only be stored in the .eof file.
"dB import skips 5nc conversion" prevents 5 note chords from being converted to open notes during Feedback import.
"Warn about missing bass FHPs" suppresses the warning about no fret hand positions being defined in bass arrangements. For either preferences dialog, the "Default" button will change the options in the menu to reflect EOF's default settings, which will then be applied if you click the OK button.