The Notes panel is an additional informational panel that is meant for users to customize to display whatever information is wanted. This is achieved by defining static text as well as various macros that will translate dynamically to text. For the sake of this documentation, "printed" text will refer to the text that is written to the Notes panel. Some of these macros are conditional, so you can control whether text or macros are displayed at all, such as to define content that will display only for the vocal track, or for content that will only display if a note is currently selected. Content is defined line by line, where one line in the text file corresponds to a single line in the Notes panel. Macros are case insensitive (you can use any amount of upper or lower case letters to type them), but it's recommended to use upper case to make it more easy to identify where macros occur int the notes.panel.txt file. It's also generally more traditional to type macros in all capital letters.
A default notes.panel.txt file is provided with EOF. It is a simple text file which can be viewed or edited in a text editor such as the Notepad utility that comes with Windows. Keep in mind that this file is expected to be written in Windows format: Line breaks are CR LF format (a carriage return character followed by a line feed character). Decent text editors should allow you to save edits in this format, just make sure it isn't converted to Linux (line breaks only have a line feed character) or Unix (line breaks only have a carraige return character) format or it won't work properly. To display or hide the Notes panel, use the File>Display>Enable Notes panel function. If it is shown, EOF will automatically resize the program window if doing so is needed to make enough space to display the panel. If the Info panel or 3D preview are already being hidden (ie. from File>Preferences>Preferences), EOF will use that empty space for the Notes panel and will prompt to resize the program window if the disabled Info/3D panels are re-enabled from Preferences while the Notes panel is being displayed (or if the Info panel is re-enabled via keyboard shortcut, EOF will resize the program window without prompting). The Notes panel's contents are kept in EOF's memory to avoid having to read it from the computer's hard drive repeatedly, so if you make edits to the Notes panel, you can make them take effect in EOF by hiding the Notes panel and showing it again. This causes EOF to re-load the notes.panel.txt file into memory. Keep in mind that text that runs over the right edge of the Notes Window and into the 3D preview or the edge of the program window unless you either hide the 3D preview window or resize the program window (File>Display>Set display width).
The simplest thing to display would be static text, which prints exactly as typed in the notes.panel.txt file. Alphabetical characters, numerical characters and spaces are supported. Other characters aren't guaranteed to work. Control characters like the tab character, for example, do not display. Static text is mostly useful to display notes, to-do items, keyboard shortcuts, etc.
Dynamic text is text that will change due to various defined conditions such as whether notes are selected, what kind of track is being displayed in the editor, etc. For the Notes panel, this is achieved by using a "macro", which is basically a placeholder for what will eventually be "printed" to the Notes panel. You can use this to display statuses of notes, conditions that may be in effect and other pieces of information. EOF's macros always begin with a % (percent sign), end with % and never include any spaces. If you want to print a percent sign to the Notes panel, a %PERCENT% macro can be used. If there is an error in the notes.panel.txt file, the notes panel will indicate there was an unrecognized macro in that line. If the unrecognized macro is specified as being %ELSE%, it's probably an error that needs to be corrected in EOF, otherwise it's most likely a typo in the notes.panel.txt file or a macro is being used that isn't supported by the version of EOF that you're using. A complete list of all macros that EOF supports are defined further down in this document. Feel free to request new macros to print specific items, which can be added to EOF if they would be useful or at least reasonably simple to implement.
Any line in notes.panel.txt that begins with a semicolon ; will be treated as a comment and no text or macros will be processed for that line. No blank line will be printed, even if there is an %EMPTY% macro in the line.
There are times where you may want to only display a certain piece of content under certain conditions. For example, say you only wanted to print the shortcuts for toggling cymbal status when the drum track was active. You could do this by adding the following text to the notes.panel.txt file:Everything after the %IF_IS_DRUM_TRACK% will only print if that macro's condition is true: That a drum track (either the normal one or the Phase Shift drum track) is the active track. This way, you can display the shortcuts only when relevant and when a non drum track is active, that space can be used to display something else. You can consider the part of the line that will print when the macro is evaluated as true as being the macro's "scope", which in this case is everything after the %IF_IS_DRUM_TRACK% macro up until the end of the line.
%IF_IS_DRUM_TRACK%Toggle Y/B/G cymbal: CTRL+Y/B/G Expert+ bass: CTRL+E
In the previous example, everything after the %IF_IS_DRUM_TRACK% macro up until the end of the line in the notes.panel.txt file was conditional on the active track being a drum track and thus the macro being evaluated as being true. A more complicated example is one where only part of a line is conditional. An %ENDIF% macro can be placed after an %IF... macro to end its scope, stopping the conditional processing of the line in the notes.panel.txt file. For example:In this example, the "Note is selected at (position)" text is only printed if a note is selected. The %ENDIF% macro indicates the end of the content that only prints if a note is selected, so the seek position is displayed regardless of whether a note is selected. After conditional printing of a line is ended with %ENDIF%, another conditional macro can be used if desired. For example:
%IF_NOTE_IS_SELECTED%Note is selected at %SELECTED_NOTE_POS%. %ENDIF%Seek position is %SEEK_POSITION%. In this example. "Note selected." only prints if a note is selected. Then the seek position is printed regardless of whether a note is selected. Then the selected note's position is printed only if a note is selected. Keep in mind that some macros are only relevant in some conditions. If the %SELECTED_NOTE_POS% macro is printed when no note is selected, the text "None" would be printed, and that might not always be what you want. Conditionally printing such macros can be preferable if that's the result you're wanting to achieve.
%IF_NOTE_IS_SELECTED%Note selected. %ENDIF%Seek position is %SEEK_POSITION%. %IF_NOTE_IS_SELECTED%Selected note is at %SELECTED_NOTE_POS%.
An even more complicated use of conditional macros is printing text when the conditional macro evaluates as false. Similarly to %ENDIF%, the %ELSE% macro ends the scope of a conditional macro that evaluated as true. However, everything in the scope of the %ELSE% macro is printed only if the previous conditional macro evaluated as false. For example:In this example, the number of notes/lyrics that are selected is printed, followed by a space. Then if the vocal track is active, the text "Lyrics" is printed. The %ELSE% macro defines what to print if the %IF_IS_VOCAL_TRACK% condition was not true, so the text "Notes" is printed if the vocal track is not active. As with previous examples, %ENDIF% ends the scope of the %ELSE% macro and defines where the true/false conditional printing stops and normal printing resumes, so the text " are selected." is then printed no matter which track is active. Keep in mind that the printing of spaces can also be conditional, so place them either inside or outside conditional macro statements as appropriate.
%COUNT_NOTES_SELECTED% %IF_IS_VOCAL_TRACK%Lyrics%ELSE%Notes%ENDIF% are selected.
The most complex use of conditional macros is when a conditional macro is used inside the scope of another conditional macro. This is known as "nesting" the conditional macros. For example:In this example, the first if macro is evaluated, and then only if it is true, the second if macro (which is nested one "level" deeper) is evaluated. So if a vocal track is active, text will be printed indicating whether or not any lyrics are selected. If a vocal track is not active, nothing is printed. You can generally nest conditional macros as many levels as you want, just make sure to use the correct number and placement of %ENDIF% and %ELSE% macros to control the scope to get the desired results. If you wanted to print text after the previous example even if the vocal track was not active, the scope of both conditional macros would have to be ended. For example:
%IF_IS_VOCAL_TRACK%%IF_NOTE_IS_SELECTED%At least one lyric is selected.%ELSE%No lyrics are selected. The first %ENDIF% macro ended the scope of %IF_NOTE_IS_SELECTED% that occurred immediately before it, and the second %ENDIF% macro ended the scope of the %IF_IS_VOCAL_TRACK% macro even earlier. Ultimately, "This text always prints." will be printed regardless of whether any lyrics are selected or whether the vocal track is even active.
%IF_IS_VOCAL_TRACK%%IF_NOTE_IS_SELECTED%At least one lyric is selected. %ELSE%No lyrics are selected. %ENDIF%%ENDIF%This text always prints.
If a defined line is empty or if all of the macros are conditional and none of the applicable requirements are met, nothing will display for it in the Notes panel, not even an empty line. The text output position in the Notes panel will not advance, meaning the next line of content will be displayed immediately below the previous line of content that was written. For example:If the current track is the vocal track, two lines will be written to the Notes panel ("This is a vocal track" and "This is the next line"), otherwise only the second of those two lines will be written and there will be no empty line.
%IF_IS_VOCAL_TRACK%This is a vocal track This is the next line
If you want to allow a line that results in no text (due to either being empty in the notes.panel.txt file or by no conditions being successfully met) to be written as an empty line in the Notes panel, use an %EMPTY% macro anywhere it will be sure to be processed instead of being within the scope of a macro that might not be used (before conditional macros or after all conditional macros were ended with %ENDIF%. If you change it as follows:Everything from the %IF_IS_VOCAL_TRACK% macro until the end of the line in the notes.panel.txt file will only be processed if that condition (the current track is the vocal track) is met, or until an %ELSE% or %ENDIF% macro is reached on the same line. Using %ENDIF% in this example allows the rest of the line to be processed so if the current track is NOT the vocal track, the %EMPTY% macro is still processed. Since no text is being written for this line (none of it pertained to non vocal tracks), nothing is to be written for this line in the Notes panel, and the %EMPTY% macro that was processed indicates that the line is explicitly written to be empty in the panel so that the next text to be written to the panel will do so after a blank row.
%IF_IS_VOCAL_TRACK%This is a vocal track%ENDIF%%EMPTY% This is the next line
These are all of the macros that can be used with the Notes panel.
Tip: Some web browsers will allow you to hold CTRL and left click on the macro name to highlight the entire name. This makes it easier to copy to the clipboard and paste into the notes.panel.txt file in order to change what is to be displayed in the Notes panel. CTRL+click the macro name again or click someplace else on the page in order to deselect it.Conditional macros
See the detailed explanation earlier in this document for instructions on how to use conditional macros.
Macro name Purpose %IF_HOVER_BEAT% Evaluates as true if the mouse is currently hovering over a beat marker. %IF_SELECTED_BEAT_HAS_TS% Evaluates as true if there is a time signature in effect at the selected beat (a time signature change is placed at or before the selected beat). %IF_IS_VOCAL_TRACK% Evaluates as true if the active track is the vocal track. %IF_IS_NOT_VOCAL_TRACK% Evaluates as true if the active track is NOT the vocal track. %IF_IS_LEGACY_GUITAR_TRACK% Evaluates as true if the active track is a guitar track that is not a pro guitar track. %IF_IS_NOT_LEGACY_GUITAR_TRACK% Evaluates as true if the active track is anything but a legacy guitar track (a pro guitar track, a drum track, the keys track, the dance track or the vocal track). %IF_IS_PRO_GUITAR_TRACK% Evaluates as true if the active track is a pro guitar track. %IF_IS_NOT_PRO_GUITAR_TRACK% Evaluates as true if the active track is NOT a pro guitar track. %IF_IS_DRUM_TRACK% Evaluates as true if the active track is either of the drum tracks: The normal one (PART DRUMS) or the Phase Shift one (PART REAL_DRUMS_PS). %IF_IS_NOT_DRUM_TRACK% Evaluates as true if the active track is NOT one of the drum tracks. %IF_IS_GHL_TRACK% Evaluates as true if the active track has GHL mode enabled. %IF_IS_NOT_GHL_TRACK% Evaluates as true if the active track does NOT have GHL mode enabled, regardless of whether or not GHL mode is compatible with the active track. %IF_IS_FIVE_BUTTON_GUITAR_TRACK% Evaluates as true if the active track is one designed for use with a five button guitar controller (not a GHL mode guitar track and is not a pro guitar track). %IF_IS_NON_FIVE_BUTTON_GUITAR_TRACK% Evaluates as true if the active track is one designed for use with one designed for use with a guitar controller with more than five buttons (a GHL mode guitar track or a pro guitar track). %IF_IS_FIVE_BUTTON_GUITAR_OR_KEYS_TRACK% Evaluates as true if the active track is one designed for use with a five button guitar controller (not a GHL mode guitar track and is not a pro guitar track), or is the keys track (which has similar functionality being a 5 lane track). %IF_IS_ANY_GUITAR_TRACK% Evaluates as true if the active track is a guitar/bass track of any kind (normal, GHL, pro guitar). %IF_IS_NOT_ANY_GUITAR_TRACK% Evaluates as true if the active track is anything besides a guitar/bass track. %IF_IS_DANCE_TRACK% Evaluates as true if the active track is the dance track. %IF_IS_NOT_DANCE_TRACK% Evaluates as true if the active track is NOT the dance track. %IF_IS_KEYS_TRACK% Evaluates as true if the active track is the keys track. %IF_IS_NOT_KEYS_TRACK% Evaluates as true if the active track is NOT the keys track. %IF_IS_TECH_VIEW% Evaluates as true if the active track is a pro guitar track AND tech view is in effect. %IF_IS_NOT_TECH_VIEW% Evaluates as true if tech view is NOT in effect. This will always evaluate as true if the active track is not a pro guitar track. %IF_NOTE_IS_SELECTED% Evaluates as true if a note is specifically selected by mouse click. Using select functions does not count towards this condition. %IF_SELECTED_NOTES% Evaluates as true if at least one note is currently selected by any means (even without clicking on notes with the mouse). %IF_HOVER_NOTE% Evaluates as true if the mouse is currently hovered over a note. %IF_SEEK_HOVER_NOTE% Evaluates as true if Feedback input mode is in effect AND there is a note at the current seek position (making it the target for various modifications such as toggling gems, deletion, etc). %IF_SELECTED_NOTE_IS_NAMED% Evaluates as true if a note is currently selected AND that note has been given a name (ie. by Note>Edit Name). %IF_CAN_LOOKUP_SELECTED_CHORD_NAME% Evaluates as true if the active track is a pro guitar track, a chord is selected and the chord lookup logic found a name for it. %IF_TUNING_IGNORED% Evaluates as true if the active track is a pro guitar track, and its Track>Pro Guitar>Ignore tuning/capo option is enabled. %IF_SOUND_CUES_DISABLED% Evaluates as true if the "Disable sound FX" preference is enabled. %IF_START_POINT_DEFINED% Evaluates as true if the start point (see Edit>Set start point) has been defined. %IF_END_POINT_DEFINED% Evaluates as true if the end point (see Edit>Set start point) has been defined. %IF_SELECTED_CATALOG_ENTRY_NAMED% Evaluates as true if there is a fret catalog entry, and the currently selected catalog entry has a name defined for it (see Song>Catalog). %IF_WINDOW_HEIGHT_IS_480% Evaluates as true if the EOF's window height (set in File>Display>Display) is 480. %IF_WINDOW_HEIGHT_IS_600% Evaluates as true if the EOF's window height (set in File>Display>Display) is 600. %IF_WINDOW_HEIGHT_IS_768% Evaluates as true if the EOF's window height (set in File>Display>Display) is 768. %IF_ACTIVE_DIFFICULTY_IS_NUMBER_[NUMBER]% Evaluates as true if the active difficulty number matches [NUMBER], where the lowest difficulty (ie. "Easy" in Rock Band terms) is 0 and the highest difficulty supported for Rocksmith authoring is 255. %IF_ACTIVE_DIFFICULTY_IS_EASY% Evaluates as true if the active difficulty is "Easy" by Rock Band standards ("Supaeasy" in Frets on Fire). %IF_ACTIVE_DIFFICULTY_IS_MEDIUM% Evaluates as true if the active difficulty is "Medium" by Rock Band standards ("Easy" in Frets on Fire). %IF_ACTIVE_DIFFICULTY_IS_HARD% Evaluates as true if the active difficulty is "Hard" by Rock Band standards ("Medium" in Frets on Fire). %IF_ACTIVE_DIFFICULTY_IS_EXPERT% Evaluates as true if the active difficulty is "Expert" by Rock Band standards ("Amazing" in Frets on Fire). %IF_ACTIVE_DIFFICULTY_HAS_EMPTY_SOLO% Evaluates as true if the active difficulty has any solo sections that don't have at least one note, even if the solos have notes in other difficulties. This condition may prevent the chart from working in Clone Hero. %IF_ACTIVE_DIFFICULTY_HAS_NO_CYMBALS% Evaluates as true if the active difficulty doesn't have at least one cymbal. %IF_ANY_SOLOS_CLOSER_THAN_1_SECOND% Evaluates as true if any solo sections begin less than one second after an earlier one. This condition may prevent the solo bonus from displaying long enough to be visible in Clone Hero. %IF_TRACK_DIFF_HAS_NOTES_WITH_GEM_COUNT_[NUMBER]% Evaluates as true if the active track difficulty has at least one note with the specified [NUMBER] of gems. Specify 0 to check for open strum notes. This can be used to quality check a chart by looking for the presence of 4 or 5 lane chords. %IF_TRACK_DIFF_HAS_INVALID_DRUM_CHORDS% Evaluates as true if the drum track is active and the active difficulty has at least one chord that is unplayable in a Rock Band style game (which has no support for mechanisms like hi hat pedals) in that it requires more than two hands to play. %IF_NONZERO_MIDI_DELAY% Evaluates as true if chart has a nonzero delay/offset, which isn't supported in some rhythm games like Clone Hero and Rock Band. %IF_TRACK_HAS_NO_SOLOS% Evaluates as true if the active track does not have any solo sections. %IF_TRACK_HAS_NO_STAR_POWER% Evaluates as true if the active track does not have any star power sections. %IF_TRACK_HAS_NO_SLIDERS% Evaluates as true if the active track does not have any slider sections. %IF_TRACK_HAS_NO_EXPERT_PLUS_BASS% Evaluates as true if the active track doesn't have at least one expert+ bass note. %IF_TRACK_DIFFICULTY_UNDEFINED% Evaluates as true if the active track's difficulty is not defined. This doesn't take the secondary difficulty level (vocal and drum tracks) into account. %IF_ANY_TRACK_DIFFICULTY_UNDEFINED% Evaluates as true if any populated track has no defined difficulty. This doesn't take the secondary difficulty level (vocal and drum tracks) into account. %IF_TRACK_IS_POPULATED% Evaluates as true if the active track has any normal or tech notes. %IF_NO_LOADING_TEXT% Evaluates as true if the project has no loading text defined or the text that is defined is just whitespace. %IF_NO_PREVIEW_START_TIME% Evaluates as true if the project has no preview start time INI entry defined either manually or by using Song>Create preview audio. %IF_NOTE_GAP_IS_IN_MS% Evaluates as true if EOF's configured Min. note distance setting (analogous to the note gap setting in Moonscraper) in File>Preferences>Preferences is set to # ms instead of a 1/# beat or measure interval as is typically recommended for Clone Hero authoring. %IF_CH_SP_TS_MISSING% Evaluates as true if star power scoring information can't be determined due to the first beat marker having no time signature. %IF_CH_SP_TS_DEFINED% Evaluates as true if the first beat marker has a defined time signature. %IF_CH_SP_PATH_VALID% Evaluates as true if a star power path is defined (either automatically with "Track>Find optimal CH star power path" or manually with "Note>Clone Hero>SP deploy") and it is valid. %IF_CH_SP_DEPLOYMENTS_MISSING% Evaluates as true if no star power deployments are defined. %IF_CH_SP_PATH_INVALID% Evaluates as true if one or more star power deployments are defined but it is considered an invalid star power path, such as if a deployment is designated without sufficient star power, deploying while star power is already deployed, etc. %IF_CH_SP_STATS_AVAILABLE% Evaluates as true if star power related information is available (the star power pathing logic calculated a score) to be displayed by applicable expansion macros. %IF_GRID_SNAP_ENABLED% Evaluates as true as long as grid snap isn't set to off.
Control macros
These macros are for special uses, such as affecting how text will be printed to the Notes panel.
Macro name Purpose %EMPTY% If the line in notes.panel.txt did not result in any text to print for the line in the Notes panel, this macro allows an empty line to be printed to the Notes panel and the print position to be lowered so that the next line of printed text occurs below the empty space. %MOVE_UP_ONE_PIXEL% Raises the print position in the Notes panel by one pixel, to remove spacing, such as if you want to use hyphens to underline the previous printed line of text. %MOVE_UP_PIXELS_[NUMBER]% Raises the print position in the Notes panel by [NUMBER] pixels, to remove spacing, such as if you want to use hyphens to underline the previous printed line of text. %MOVE_DOWN_ONE_PIXEL% Lowers the print position in the Notes panel by one pixel, to allow better spacing in case two lines of printed text are too close and overlap each other. %MOVE_DOWN_PIXELS_[NUMBER]% Lowers the print position in the Notes panel by [NUMBER] pixels, to remove spacing, such as if you want to use hyphens to underline the previous printed line of text. %MOVE_LEFT_ONE_PIXEL% Moves the print position in the Notes panel left by one pixel, such as to allow better alignment of items in different lines. %MOVE_LEFT_PIXELS_[NUMBER]% Moves the print position in the Notes panel left by [NUMBER] pixels, such as to allow better alignment of items in different lines. %MOVE_RIGHT_ONE_PIXEL% Moves the print position in the Notes panel right by one pixel, such as to allow better alignment of items in different lines. %MOVE_RIGHT_PIXELS_[NUMBER]% Moves the print position in the Notes panel right by [NUMBER] pixels, such as to allow better alignment of items in different lines. %FLUSH% Prints the content of the line that has been processed up to this point, then resumes processing the line. Use this to print a line in progress so that a control macro that comes after the %FLUSH% statement, such as %TEXT_COLOR_[COLORNAME]%, can take effect mid-line. %TEXT_COLOR_[COLORNAME]% Changes the text color of newly printed text to [COLORNAME], which can be BLACK, WHITE, GRAY, RED, GREEN, BLUE, TURQUOISE, YELLOW, PURPLE, ORANGE, SILVER, CYAN or a 6 digit RGB code. For example: %TEXT_COLOR_RED% and %TEXT_COLOR_DAA520%. This color change is permanent until it is changed again. %TEXT_BACKGROUND_COLOR_[COLORNAME]% Similar to the %TEXT_COLOR_...% macro, changes the background color of newly printed text to [COLORNAME]. This color change is permanent until it is changed again. The default background color can be restored with %TEXT_BACKGROUND_COLOR_NONE%. %TEXT_BACKGROUND_COLOR_NONE% Removes the text background color, making it transparent as it is by default. %ENDLINE% Ends printing for the current line. %ENDPANEL% Ends printing for the entire panel.
Symbol macros
These macros each result in a single symbol being printed to the Notes panel.
Macro name Purpose %PERCENT% Prints the percent sign. This is the only way to print a percent sign because percent signs are otherwise used to name macros. %BEND% Prints the bend symbol. %HARMONIC% Prints the harmonic symbol. %DOWNSTRUM% Prints the down strum symbol. %UPSTRUM% Prints the up strum symbol. %TREMOLO% Prints the tremolo symbol. %PHARMONIC% Prints the pinch harmonic symbol. %LINKNEXT% Prints the linknext symbol. %USLIDEUP% Prints the unpitched slide up symbol. %USLIDEDOWN% Prints the unpitched slide down symbol. %STOP% Prints the stop symbol. %PREBEND% Prints the pre-bend symbol.
Expansion macros
These macros are "expanded" into (replaced with) appropriate text which is printed to the Notes panel.
Macro name Purpose Track information %TRACK_NAME% Prints the name of the active track (ie. PART GUITAR). %TRACK_ALT_NAME% Prints the alternate name of the active track (the name that was defined with Track>Rename). If no such name is defined for the active track, "None" is printed. %TRACK_DIFFICULTY% Prints the difficulty level of the active track (which is set in Track>Set difficulty). If no difficulty is defined for the active track, "(Undefined)" is printed. %TRACK_SECONDARY_DIFFICULTY% If the active track is one of the tracks that has a second difficulty level (drums or vocals, see Track>Set difficulty), prints that level along with some text identifying what the difficulty type ("(Pro: " for pro drum difficulty or "(Harmony: " for harmony difficulty). If the active drum/vocal track has no secondary difficulty level defined, "Undefined" is printed after the dificulty type. If the active track is not a drum/vocal track, no text is printed. %TRACK_SOLO_COUNT% Prints the number of solo sections in the active track. If there aren't any, "None" is printed. %TRACK_SOLO_NOTE_COUNT% Prints the number of notes in the active track that are in solo sections, and the percentage of the track's total note count that represents. If there aren't any, "None" is printed. %TRACK_SOLO_NOTE_STATS% Prints statistics about the number of notes in the active track's solo sections: The minimum number among all solo sections, the maximum number among all solo sections and the mean number (the total number of solo notes divided by the number of solo sections). If there aren't any, "None" is printed. %TRACK_SP_COUNT% Prints the number of star power sections in the active track. If there aren't any, "None" is printed. %TRACK_SP_NOTE_COUNT% Prints the number of star power notes in the active track, and the percentage of the track's total note count that represents. If there aren't any, "None" is printed. %SP_LYRIC_LINE_COUNT% Prints the number of star power lyric lines in the vocal track, and the percentage of the vocal track's total lyric line count that represents. If there aren't any, "None" is printed. %TRACK_SP_NOTE_STATS% Prints statistics about the number of notes in the active track's star power sections: The minimum number among all star power sections, the maximum number among all star power sections and the mean number (the total number of star power notes divided by the number of star power sections). If there aren't any, "None" is printed. %TRACK_SLIDER_COUNT% Prints the number of slider sections in the active track. If there aren't any, "None" is printed. %TRACK_SLIDER_NOTE_COUNT% Prints the number of slider notes in the active track, and the percentage of the track's total note count that represents. If there aren't any, "None" is printed. %TRACK_SLIDER_NOTE_STATS% Prints statistics about the number of notes in the active track's slider sections: The minimum number among all slider sections, the maximum number among all slider sections and the mean number (the total number of slider notes divided by the number of slider sections). If there aren't any, "None" is printed. Sound cue statuses %METRONOME_STATUS% Prints "On" if the metronome sound cue (see Edit>Metronome) is currently enabled, otherwise prints "Off". %CLAPS_STATUS% Prints "On" if the claps sound cue (see Edit>Claps) is currently enabled, otherwise prints "Off". %VOCAL_TONES_STATUS% Prints "On" if the vocal tones sound cue (see Edit>Vocal tones) is currently enabled, otherwise prints "Off". %MIDI_TONES_STATUS% Prints "On" if the MIDI tones sound cue (see Edit>MIDI tones) is currently enabled, otherwise prints "Off". Beat information %SELECTED_BEAT% Prints the selected beat's number. The first beat in a project is always number 0. %SELECTED_BEAT_TEMPO% Prints the tempo of the selected beat. Only the number is printed, you must add the text "BPM" if that is what you want. %HOVER_BEAT% Prints the number of the beat that the mouse is currently hovering over. If no beat is being hovered over, "None" is printed. %SELECTED_BEAT_KEY_SIGNATURE% Prints the major key signature defined on the selected beat, followed by the minor key signature in parentheses. If no key signature is defined on the selected beat, "None maj (None min)" is printed. %SELECTED_BEAT_POS% Prints the position of the selected beat. %SELECTED_BEAT_MEASURE% Prints the measure number the selected beat is in. If no time signature is in effect at the selected beat's position (Beat>Time signature was not used to define a time signature on that or any previous beat), "(TS undefined)" is printed. %BEAT_POSITION_IN_MEASURE% Prints the beat number within a measure the selected beat is. If no time signature is in effect at the selected beat's position (Beat>Time signature was not used to define a time signature on that or any previous beat), "(TS undefined)" is printed. %BEAT_COUNT% Prints the number of beats present in the current project. %MEASURE_COUNT% Prints the number of measures present in the current project. If there are no time signatures defined in the project, "(No TS)" is printed. Selected Note information %SELECTED_NOTE% Prints the selected note's/beat's number. The first note in a track is always number 0, but the numbering is shared among all difficulties in the track, so the first note in a difficulty will not be 0 if there's an earlier note in another difficulty in the same track. If no note is selected, "None" is printed. %SELECTED_NOTE_POS% Prints the position of the selected note. If no note is selected, "None" is printed. %SELECTED_NOTE_LENGTH% Prints the length of the selected note. If no note is selected, "None" is printed. %SELECTED_NOTE_NAME% Prints the name (ie. defined by Note>Edit Name) of the selected note. If the selected note has no defined name, no text is printed. If no note is selected, "None" is printed. %SELECTED_NOTE_VALUE% Prints the internal note value of the selected note. If the active track is the vocal track, this value is the pitch of the selected lyric. If the active track is not a vocal track, this is a bitmask defining which lanes the note uses. If no note is selected, "None" is printed. %SELECTED_NOTE_FLAGS% Prints the internal flags value of the selected note/lyric. If no note/lyric is selected, "None" is printed. %SELECTED_LYRIC_TONE_NAME% Prints the proper note name for the pitch, ie. C# or Db (taking the Song>Display semitones as flat setting into account). If no lyric is selected, or the active track is not the vocal track, "None" is printed. %PRO_GUITAR_NOTE_FRETTING% Prints a string defining the fret number used on each string by the selected pro guitar note. If no note is selected or the active track is not a pro guitar track, "None" is printed. %SELECTED_CHORD_NAME_LOOKUP% Prints a string indicating what chord name the selected note is detected to have, and what match number out of the total number of lookup matches the result is. If no note is selected, or there are no chord name matches found or the active track is not a pro guitar track, "None" is printed. %PRO_GUITAR_NOTE_FINGERING% Prints a string defining the finger number used on each string by the selected pro guitar note (see Note>Rocksmith>Edit frets/fingering). If no note is selected, or the active track is not a pro guitar track, "None" is printed. %PRO_GUITAR_NOTE_TONES% Prints a string defining the note name played on each string by the selected pro guitar note. If no note is selected or the active track is not a pro guitar track, "None" is printed. Note information %HOVER_NOTE% Prints the number of the note that the mouse is currently hovering over. If no note is being hovered over, "None" is printed. %SEEK_HOVER_NOTE% Prints the number of the note that is at the seek position and would be altered by various modifications in Feedback input mode. If Feedback input mode is not in use or if the seek position is not at a note position, "None" is printed. %COUNT_NOTES_SELECTED% Prints the number of selected notes that are in the active track difficulty. %TRACK_DIFF_NOTE_COUNT% Prints the number of notes that exist in the active track difficulty. %TRACK_DIFF_NUMBER_NOTES_WITH_GEM_COUNT_[NUMBER]% Prints the number of notes in the track difficulty that have the specified [NUMBER] of gems, and the percentage of the track difficulty's total note count that represents. Specify 0 to print information for open strum notes. %TRACK_DIFF_NOTE_COUNT_INSTANCES_[COMBINATION]% Prints the number of notes in the track difficulty that have the specified [COMBINATION] of gems. Standard GRYBO gem colors can be specified (G is lane 1, R is lane 2, Y is lane 3, B is lane 4, O is lane 5, ie. %TRACK_DIFF_NOTE_COUNT_INSTANCES_GR% counts green+red chords), and S is for open strum. For pro guitar tracks, 'P' can be used to represent lane 6 (lane 6 gems are drawn in purple for Rock Band, Guitar Hero and Rocksmith color sets). For GHL tracks, the gem designations are W1, W2, W3, B1, B2, B3 and S for open strum. For drum tracks, cymbals/toms that must be present to be counted are available: "T3" = lane 3 tom, "T4" = lane 4 tom, "T5" = lane 5 tom, "C3" = lane 3 cymbal, "C4" = lane 4 cymbal, "C5" = lane 5 cymbal. These tom/cymbal designations are additive, ie. a designation of 3T5 will be specify any drum chord with a cymbal or tom on lane 3 and a tom on lane 5, and 3C3 will have the same result as C3 because both indicate a note where there must be cymbal on lane 3, which requires there to be a gem on lane 3. Lane numbers can also be designated by number instead of color ('1' is lane 1, '2' is lane 2, '3' is lane 3, '4' is lane 4, '5' is lane 5, '6' is lane 6). A pro guitar note being an open note doesn't prevent it from being detected as having gems on lanes, ie. an open E single note will be counted by both %TRACK_DIFF_NOTE_COUNT_INSTANCES_S% and %TRACK_DIFF_NOTE_COUNT_INSTANCES_1%. %TRACK_DIFF_NOTE_COUNT_AND_RATIO_INSTANCES_[COMBINATION]% Similar to %TRACK_DIFF_NOTE_COUNT_INSTANCES_[COMBINATION]%, but also prints the percentage of all notes in the active track difficulty that matching notes represent. %TRACK_DIFF_COUNT_AND_RATIO_OPEN_CHORDS% Prints the number of open chords (chords with at least one open string, at least one fretted string, and no frets higher than 3) in the active pro guitar track difficulty, and the percentage of the track difficulty's total note count that represents. If the active track is not a pro guitar track, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_BARRE_CHORDS% Prints the number of barre chords (chords where the lowest used fret is played on multiple non-contiguous strings, with no strings played open between the lowest fret instances) in the active pro guitar track difficulty, and the percentage of the track difficulty's total note count that represents. If the active track is not a pro guitar track, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_STRING_MUTES% Prints the number of fully string muted chords in the active pro guitar track difficulty, and the percentage of the track difficulty's total note count that represents. If the active track is not a pro guitar track, "None" is printed. %TRACK_DIFF_NOTE_COUNT_AND_RATIO_EXPERT_PLUS_BASS% Prints the number of expert+ bass notes in the active track difficulty, and the percentage of the track difficulty's total note count that represents. If the active track difficulty is not Expert in either of the drum tracks, "None" is printed. %TRACK_DIFF_NOTE_COUNT_AND_RATIO_CYMBALS% Prints the number of notes with cymbals in the active track difficulty, and the percentage of the track difficulty's total note count that represents. If the active track difficulty doesn't have any cymbals, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_PITCHED_LYRIC% Prints the number of pitched lyrics (lyrics with a pitch between 36 and 84 whose text does not include a freestyle marker), and the percentage of the track difficulty's total note count that represents. If the vocal track is not active, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_UNPITCHED_LYRIC% Prints the number of unpitched lyrics (lyrics with no defined pitch, not including pitched lyrics with a freestyle marker), and the percentage of the track difficulty's total note count that represents. If the vocal track is not active, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_PERCUSSION_LYRIC% Prints the number of percussion lyrics, and the percentage of the track difficulty's total note count that represents. If the vocal track is not active, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_FREESTYLE_LYRIC% Prints the number of freestyle lyrics (those whose text include a # or ^ freestyle marker), and the percentage of the track difficulty's total note count that represents. If the vocal track is not active, "None" is printed. %TRACK_DIFF_COUNT_AND_RATIO_PITCH_SHIFT_LYRIC% Prints the number of pitch shift lyrics (those whose text begins with the + pitch shift marker), and the percentage of the track difficulty's total note count that represents. If the vocal track is not active, "None" is printed. %COUNT_LYRICS_WITH_PITCH_NUMBER_[PITCH]% Prints the number of lyrics with the specified pitch. If the vocal track is not active, "None" is printed. %TRACK_COUNT_HIGHLIGHTED_NOTES% Prints the number of notes/lyrics in the active track that are dynamically (ie. with "Song>Highlight non grid snapped notes") or statically (ie. with Note>Highlight>On or by various functions) highlighted. Pro guitar information %PRO_GUITAR_TRACK_EFFECTIVE_FHP% Prints the fret hand position in effect at the current seek position. If there is no fret hand position defined at or before the seek position, or if the active track is not a pro guitar track, "None" is printed. %PRO_GUITAR_TRACK_EFFECTIVE_TONE% Prints the name of the tone that is in effect at the current seek position of the active track. If there is no tone change at or before the current seek position, but there is a default tone defined, that tone name is printed in parentheses. If there is no tone change defined at/before the current seek position and no default tone defined, or if the active track is not a pro guitar track, "None" is printed. %FRET_VALUE_SHORTCUTS_SETTING% Prints a string indicating which strings will be affected by the keyboard functions to set/increment/decrement the fret number or toggle the ghost status of selected pro guitar notes. Star power path information %CH_SP_PATH_SCORE% If a valid star power path is defined, prints the estimated score for the solution in Clone Hero. If no star power path is defined, or the defined path is invalid, "None" is printed. %CH_SP_PATH_BASE_SCORE% If a valid star power path is defined, prints the base score (point values of gems and sustains without any bonuses, used to calculate the number of awarded stars) for the solution in Clone Hero. If no star power path is defined, or the defined path is invalid, "None" is printed. %CH_SP_PATH_AVG_MULTIPLIER% If a valid star power path is defined, prints the average multiplier (the estimated in-game score (minus solo bonuses) divided by the base score) used to determine the number of awarded stars) for the solution in Clone Hero. If no star power path is defined, or the defined path is invalid, "None" is printed. %CH_SP_PATH_STARS% If a valid star power path is defined, prints the number of stars (ie. as "1 star" or "7 stars") estimated for this star power path in Clone Hero. If no star power path is defined, or the defined path is invalid, "None" is printed. %CH_SP_PATH_DEPLOYMENT_NOTES% If a valid star power path is defined, prints the estimated maximum number of notes that can be played during the star power deployments, and the percentage of the track difficulty's total note count that represents. If no star power path is defined, or the defined path is invalid, "None" is printed. %CH_SP_SEEK_SP_PATH_STATUS% Prints whether or not the seek position is within the estimated scope of any defined star power deployment, and if so, that deployment's start and stop timestamps. %CH_SP_MAX_DEPLOYMENT_COUNT_AND_RATIO% Prints the active track difficulty's maximum number of star power deployments and the ratio of deployments to notes, based on the currently defined star power phrases. %CH_SP_METER_AFTER_LAST_NOTE_HIT% Prints the star power meter level in effect after hitting the note immediately at/before the seek position. Various information %SEEK_POSITION% Prints the current seek position in minutes:seconds.milliseconds format (or in seconds.milliseconds format if the "Display seek pos. in seconds" preference is enabled). %SEEK_POSITION_SEC% Prints the current seek position in seconds.milliseconds format, regardless of the current setting of the "Display seek pos. in seconds" preference. %SEEK_POSITION_MIN_SEC% Prints the current seek position in minutes:seconds.milliseconds format, regardless of the current setting of the "Display seek pos. in seconds" preference. %SEEK_POSITION_PERCENT% Prints the current seek position as a percentage of the chart's total length. %START_POINT% Prints the position of the start point (see Edit>Set start point). If no start point has been defined, "None" is printed. %END_POINT% Prints the position of the end point (see Edit>Set start point). If no end point has been defined, "None" is printed. %INPUT_MODE_NAME% Prints the name of the input mode currently in use (Defined in File>Preferences>Preferences), the default setting of which is "Piano Roll". %PLAYBACK_SPEED% Prints the playback speed in percent (the percent sign is not printed). %GRID_SNAP_SETTING% Prints the current grid snap setting. If a custom grid snap setting is in use, the number of intervals per-beat or per-measure is displayed as appropriate. %NOTE_GAP% Prints the current "Min. note length" preference. %SELECTED_CATALOG_ENTRY% Prints the currently selected fret catalog entry number out of the total catalog entry count. If there are no catalog entries, "0 of 0" is printed. %SELECTED_CATALOG_ENTRY_NAME% Prints the name of the currently selected fret catalog entry. If there are no catalog entries, or the active entry does not have a defined name, "None" is printed. %LOADED_OGG_NAME% Prints the relative file name (excludes the folder path) of the currently loaded OGG file. If no audio is loaded, "None" is printed. %TEXT_FILE% Prints relative path (not including the folder path) of the text file loaded for display in the Notes panel. %KEY_INPUT_STATUS% Prints the key status of CTRL, ALT and SHIFT (displays an asterisk * if the key is detected as being held), as well as the scan code and ASCII code of the last pressed key. %WINDOW_HEIGHT% Prints EOF's current program window height (set in File>Display>Display). %WINDOW_WIDTH% Prints EOF's current program window width (a default width set in File>Display>Display or a custom width set in File>Display>Set display width). %ACTIVE_DIFFICULTY_NUMBER% Prints the number of the active difficulty, where 0 is the lowest (ie. Easy in Rock Band) and 255 is the highest (ie. in Rocksmith). %ACTIVE_DIFFICULTY_NAME% Prints the name of the active difficulty, taking the "Use FoF difficulty naming" preference into account. %3D_MAX_DEPTH% Prints the current maximum depth of the 3D preview's camera (ie. how far back the displayed track goes), as controlled by ALT+numpad minus, ALT+numpad plus. %MOUSE_X% Prints the mouse X coordinate, as well as the relative X coordinate and name of whichever sub-window the mouse is in. %MOUSE_Y% Prints the mouse Y coordinate, as well as the relative Y coordinate and name of whichever sub-window the mouse is in. %EOF_HOVER_PIECE% Prints the lane number the mouse is currently hovered over, or -1 if the mouse isn't hovered directly over any lane. %EOF_FPS% Prints the number of frames per second rendered in the main loop of EOF (ie. doesn't count benchmarking, while dialogs are open, etc). %GRID_SNAP_SEEK_POS_LENGTH_NPS% Prints the length and effective note per second rate of the current grid snap length at the current seek position. If no grid snap is enabled, "None" is printed. %PHASE_CANCELLATION% Prints the "on" or "off" status of the phase cancellation audio feature. %CENTER_ISOLATION% Prints the "on" or "off" status of the center isolation audio feature. %SEEK_SP_STATUS% Prints whether or not the seek position is within a defined star power phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within an SP phrase" is printed. %SEEK_SP_STATUS_CONDITIONAL% Similar to %SEEK_SP_STATUS% but prints nothing if the seek position is not within a star power phrase. %SEEK_LYRIC_LINE_STATUS% Prints whether or not the seek position is within a defined lyric line, and if so, that line's start and stop timestamps. If not, "Seek pos is not within a lyric line" is printed. %SEEK_LYRIC_LINE_STATUS_CONDITIONAL% Similar to %SEEK_LYRIC_LINE_STATUS% but prints nothing if the seek position is not within a lyric line. %SEEK_SLIDER_STATUS% Prints whether or not the seek position is within a defined slider phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within a slider phrase" is printed. %SEEK_SLIDER_STATUS_CONDITIONAL% Similar to %SEEK_SLIDER_STATUS% but prints nothing if the seek position is not within a slider phrase. %SEEK_SOLO_STATUS% Prints whether or not the seek position is within a defined solo phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within a solo phrase" is printed. %SEEK_SOLO_STATUS_CONDITIONAL% Similar to %SEEK_SOLO_STATUS% but prints nothing if the seek position is not within a solo phrase. %SEEK_TRILL_STATUS% Prints whether or not the seek position is within a defined trill phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within a trill phrase" is printed. In the case of drum tracks, trill phrases are referred to as "special drum rolls". %SEEK_TRILL_STATUS_CONDITIONAL% Similar to %SEEK_TRILL_STATUS% but prints nothing if the seek position is not within a trill or special drum roll phrase. %SEEK_TREMOLO_STATUS% Prints whether or not the seek position is within a defined tremolo phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within a tremolo phrase" is printed. In the case of drum tracks, tremolo phrases are referred to as "drum rolls". %SEEK_TREMOLO_STATUS_CONDITIONAL% Similar to %SEEK_TREMOLO_STATUS% but prints nothing if the seek position is not within a tremolo or drum roll phrase. %SEEK_SLIDER_STATUS% Prints whether or not the seek position is within a defined slider phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within a slider phrase" is printed. %SEEK_SLIDER_STATUS_CONDITIONAL% Similar to %SEEK_SLIDER_STATUS% but prints nothing if the seek position is not within a slider phrase. %SEEK_ARPEGGIO_STATUS% Prints whether or not the seek position is within a defined arpeggio phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within an arpeggio" is printed. %SEEK_ARPEGGIO_STATUS_CONDITIONAL% Similar to %SEEK_ARPEGGIO_STATUS% but prints nothing if the seek position is not within an arpeggio phrase. %SEEK_HANDSHAPE_STATUS% Prints whether or not the seek position is within a defined handshape phrase, and if so, that phrase's start and stop timestamps. If not, "Seek pos is not within a handshape" is printed. %SEEK_HANDSHAPE_STATUS_CONDITIONAL% Similar to %SEEK_HANDSHAPE_STATUS% but prints nothing if the seek position is not within a handshape phrase.