Post by knapman [FD] on Jan 4, 2012 17:21:55 GMT
For the time being, only release candidates are posted on the DWSK website. Between release candidates, however, I release hotfixes that are available here:
ignition.customsforge.com/eof
Last Mac build (9-26-2020):
www.mediafire.com/file/4ueuex01ifs7qpy/EOF_%25289-26-2020%2529.app.zip/file
1.8RC12 (Friday December 19, 2016)
1.8RC11 (Thursday March 10, 2016)
Changes since 1.8RC10:
1.8RC10 (Mon May 12, 2014)
1.8RC9 (Wed Feb 26, 2014)
1.8RC8 (Sat Oct 19, 2013)
1.8RC7 (Wed Jul 27, 2013)
ignition.customsforge.com/eof
Last Mac build (9-26-2020):
www.mediafire.com/file/4ueuex01ifs7qpy/EOF_%25289-26-2020%2529.app.zip/file
1.8RC12 (Friday December 19, 2016)
*Fixed a GP import bug where if a note was at the absolute beginning of the first measure and had a before the beat grace note, the import of that note would malfunction.
*Fixed a GP import bug where if a tie note has a before-the-beat grace note, the duration wasn't correctly set.
*Fixed a RS2 export bug where single notes (or chords with split status) with linknext status that combined with other notes would result in the count attribute for the <note> tag being higher than it should.
*Fixed a RS2 export bug where split chords inside a handshape tag would cause duplicate chord templates to be written to XML.
*Added a "Note>Pro guitar>Slide>Convert to pitched" function that will convert unpitched slides to pitched slides, provided they aren't already defined as having a pitched slide as well.
*Added a "Note>Pro guitar>Slide>Convert to unpitched" function that will convert pitched slides to unpitched slides, provided they aren't already defined as having an unpitched slide as well. If the affected pitched slides don't have a defined end position, a 1 fret slide will be assumed. If this is not possible (ie. would cause a slide to 0 or a slide above the track's fret limit), EOF will warn about and highlight such notes.
*Fixed bugs where if a note was both a pitched slide AND a bend note, removing either technique could remove the other technique's definition (end of slide position or bend strength).
*Adds a new "chordify" RS2 authoring mechanism, to improve the ability to author a chord where some strings have a different length of sustain than others. To achieve this effect, this status will cause a chord to export as a chord tag that only includes chordnote tags for any open notes that are contained in the chord. Additionally, the invididual notes that make up the chord are written as single note tags with ignore status. Depending on the techniques applid to the chord, chord density, and the linknext status for the chord, chordnote and note tags will vary in order to best suit the in-game behavior. Otherwise the normal density rules are used and can be manually set with "crazy" or "hi dens" statuses. Density changes the height of the chord box (high density -> shorter) and whether muting notation is displayed within the box (high density muted chords display with an X covering the box). Chords that have low density, no playing technique and no sustain status but have choridify status display notes that do not rotate as they approach the front of the screen in-game.
*Improved the slide up/down toggle functions so that notes that already have a pitched end of slide position have it reset to 0, so if a down slide is turned into an up slide, it can't retain a then incorrect end of slide position.
*Improved MIDI import to recognize the "T1 GEMS" track as the guitar track in Guitar Hero 1 MIDIs.
*Fixed a bug where if the last gem in a pro guitar note was toggled off when legacy view was in effect, the note would not be deleted.
*Corrected 2D rendering so that string tunings aren't drawn on the left edge of the piano roll when legacy view is in effect.
*Improved the handling of the temp folder so that when EOF runs in a non-Windows environment, the folder is created at /tmp/eof.
*Corrected the MIDI export, lyric import and project save functions to use the temp folder for their temporary files.
*Improved the highlighting feature so that if anything in one of the active track's difficulties is highlighted, the difficulty name or number in the difficulty tab is highlighted in yellow. The tech notes indicator (*) will be individually highlighted where appropriate.
*Improved dynamic highlighting functions to process both normal and tech notes instead of just whichever note set is currently active.
*Added functions in Song>Seek to move to the position (if any) of the next or previous highlighted note in the active track difficulty, and have assigned the SHIFT+Y and CTRL+SHIFT+Y shortcuts to them, respectively.
*Fixed a bug where the Info panel wouldn't correctly indicate when no time signature was in effect.
*Fixed a bug where the seek selection (Feedback input mode) wasn't displayed in the Info panel if the vocal track was active.
*Added "Set start point" and "Set end point" functions to the edit menu that allows a portion of the chart to be defined for the "Create preview audio" and "Export time range" functions. If Feedback input mode is in use and a seek selection is set, that selection will take precedence if start and end points are also defined. To clear either the start or end point, set it again at the position it is already set to.
*Improved menu handling so that if Escape is used to close a function's dialog, it will more reliably close the menu system instead of dropping keyboard input until Escape is pressed again or the mouse is used.
*Moved the import functions into a File>Import menu to reduce the clutter in that menu.
*Added a "File>Export time range" feature that allows a user-defined portion of the active project to be saved as a new project file, with corresponding audio. For best results, use the "Set start point" and "Set end point" functions to mark the part of the project you want to export.
*Improved Guitar Pro import to handle invalid tuplets of 0 divisions that may be encoded by Guitar Pro in unknown scenarios.
*Added logic to prevent temp files from being written outside EOF's temp folder.
*Updated to FFTW 3.3.5, which should provide performance improvements with the time stretch and spectrogram features. On my computer, this seemed to result in about a 3.5% improvement in render speed when the spectrogram is being displayed.
*Updated the makefiles to perform link time optimization, which should provide some performance improvements overall. On my computer, this seemed to result in an additional 4.5% improvement in render speed when the spectrogram is being displayed.
*Added additional error checking during MIDI export.
*Improved cleanup logic so that if two pro guitar notes merge, they each retain their ghost statuses where appropriate, and if a ghost gem and a non ghost gem merge, the non ghost gem's data are kept.
*Improve Note>Resnap to not warn if fully ghosted notes will be merged by the operation. This should reduce the annoyance of cleaning up charts where the base chord of an arpeggio/handshape was rebuilt after being moved.
*Fixed a crash that could occur when enabling the secondary piano roll.
*Corrected oggenc error logging in leading silence functions.
*Fixed a GP import bug where quarter note length notes/chords could be incorrectly truncated if the preferences to truncate short notes/chords during GP import were enabled.
*Fixed a bug where "conditional deselect" didn't behave correctly when the cymbals criterion was used.
*Added an "Edit>Selection>Conditional select" function that behaves similarly to conditional deselect.
*Fixed some warning checks that are performed during save to not incorrectly warn about bend tech notes.
*Fixed a RS2 export bug where if a chord or single note had a length of 1ms and had bend or slide technique applied by a tech note, the corresponding chordnote or note tags would have a sustain of 0ms instead of 1ms.
*Fixed a GP import bug where hammer on or pull off technique from the current note wouldn't be handled correctly if the next note was in a different measure.
*Improved Sonic Visualizer import to ignore labeling data that do not define tempos, where previously the tempo processing would end earlier than it should.
*Improved the conditional selection functions to allow normal, mute and ghost gem type criteria to be specified when a pro guitar track is active.
*Fixed a Feedback import bug that could allow drum notes to be given forced HOPO status.
*Changed GHWT MIDI export so that forced strum notes export with a marker 9 lanes higher than lane 1 to reflect user testing.
*Fixed a bug in RS2 export where a palm/string muted note would lose its sustain even if it should have been kept due to having linknext or sustain status.
*Improved editor logic so that when adding linknext status to a note, it is prevented from being given a length that would go beyond the end of the chart.
*Added a check (if either RS export is enabled) during save so that a warning is given if a note crosses an RS phrase or section boundary, as this can cause problems with dynamic difficulty.
*Fixed a Feedback import bug that could cause the drums and double drums tracks to be combined into one drum track during import. Now the double drums track will be imported to the Phase Shift drum track if it is defined.
*Updated RS2 export warning checks to reflect that slides as high as fret 24 are allowed.
*Added a "Song>Rocksmith>Suppress DD warnings" option that will prevent EOF from warning about dynamic difficulty related issues during save.
*Improved RS import to parse chordnote data, allowing it to import chord lengths, stop tech notes, bend definitions and techniques that are applied to some or all of the chord's strings.
*Improved RS import to support "ignore" status.
*Fixed tech note logic so they can be used to apply string mute status.
*Corrected the "Deselect toms" function to apply to drum notes that contain both toms and cymbals.
*Re-organized many of the selection/deselection functions to be in their own submenus. Many of those that could only either select or deselect can now do both.
*Added functions to select/deselect notes of a specific length.
*Re-assigned the F12 keyboard shortcut to Guitar Pro import.
*Added functions to select/deselect notes depending on whether or not they are grid snapped.
*Various fixes for the "Open strum" feature of 5 lane guitar/bass tracks.
*Fixed a bug where enabling the display of grid lines while a custom per-measure grid snap was defined could cause EOF to hang.
*Fixed a bug where the seek to next anchor function wouldn't work in some scenarios.
*Improved the "Manage RS phrases" logic to avoid a crash by appending beats to the project if the last beat in a project contains an RS phrase.
*Fixed a bug with GP import where before the beat grace notes that were applied to the first beat in a measure were ignored.
*Improved the handling of grace notes during GP import so that if a grace note is applied on a string that isn't used in the affected note, it doesn't get interpreted as a chord. Muted grace notes authored in this way will now import correctly.
*Fixed various bugs that were related to the handling of time signatures with a beat unit (denominator) that isn't a multiple of 4.
*Improved GP import so that if the chosen track has notes in both voices, EOF asks which of the voices to import.
*Fixed a bug where fret hand position warnings may be incorrectly given if tech view was in effect during save or when the "Check fret hand positions" function is used.
*Added functions to select/deselect notes based on whether or not they are highlighted.
*Added a Note>Highlight menu with functions to apply or remove highlighting to selected notes. The functions to transpose selected notes have been moved into a Note>Transpose menu. The H menu hotkey has been re-assigned to the Highlight menu and O has been assigned to the HOPO menu.
*Improved GP import to not remove the sustain from tremolo notes if the preference for GP import to truncate short notes or chords is enabled.
*Fixed a bug in RS export where a chord with chordify AND crazy AND "hi dens" statuses would export as low density instead of the expected high density.
*Fixed a crash that could occur if Rocksmith or Guitar Pro imports fail when no project is open.
*Improved GP import so that if the selected track is a percussion track, EOF offers to import it into one or both drum tracks.
*Fixed a bug with GPA import where section/phrase markers (depending on user preferences) weren't imported.
*Added a "dB import skips 5nc conversion" import/export preference that will prevent 5 note chords from being converted to open notes during Feedback import.
*Fixed a bug during RS exports where the "At least one note crosses an RS phrase or section boundary" warning could be given when it shouldn't be.
*Fixed a bug where applying tech notes within the scope of an arpeggio/handshape phrase could cause a chord of technotes to be improperly created at the start position of the phrase.
*Added additional chord fingering definitions.
*Separated the import/export related preferences into a separate preferences dialog. It and the original set of preferences are are available in the File>Preferences submenu.
*Added a "Don't auto-name double stops" preference that does as its name suggests. With this preference, double stops that aren't manually named will export so that they appear with blank names in-game.
*Changed the check that warns if an arpeggio/handshape phrase only has one note to not apply to handshape phrases.
*Added MIDI export corrections suggested by Michael Tolly to reset running status after each exported meta/sysex event.
*Improved the consistency of measure numbering when the time signature changes mid-measure, which will cause the beginning of the next measure.
*Corrected the import of time signatures in Feedback files that have mid-beat tempo or time signature changes.
*Improved RS WAV export so that if the chart's song title has any characters that aren't usable in file names in Windows, the WAV file name substitutes them with underscores.
*Fixed memory leaks that could occur during a failed MIDI export.
*Improved RS import so that fret hand positions above fret 19 don't trigger a warning unless RS1 or Rock Band exports are enabled.
*Fixed a bug where swapping piano rolls could lower the active difficulty level of the formerly primary piano roll to difficulty 5.
*Fixed a bug where if the highest populated difficulty in a pro guitar track only had tech notes, that difficulty would be discarded during project load.
*Improved the save/load logic so that if a pro guitar track has more than 5 difficulties, any empty difficulties above the highest populated difficulty aren't removed.
*Added a check during save so that if a note has no note at the same position in another difficulty, but a note is present 1-3ms before or after in another difficulty, a warning is given that the notes are out of sync and offers to cancel and optionally highlight offending notes. If one of the two unsynced notes is grid-snapped and the other is not, the non grid-snapped note is considered the offending note, otherwise the earlier note is considered the offending note.
*Added a warning during startup if EOF is being run in Windows and is located within one of the "Program files" folders on the C drive, as Windows has security mechanisms that will interfere with normal program behavior.
*Altered MIDI tone logic so that the instrument voice in effect is updated for each note. This should prevent the wrong tone from being played even if multiple EOF instances are in use.
*Added a "Warn about missing bass FHPs" import/export preference that can be disabled to suppress the warning about no fret hand positions being defined in bass arrangements.
*Fixed bugs with the fret hand position check that places the position again at each RS phrase change.
*Added "Link to RocksmithToTab" and "Export guitar pro" functions to the file menu, allowing the command line RocksmithToTab utility to be used to create a GP5 file of the active project.
*Improved the check that runs during normal save that warns about lyrics outside of lyric lines, which will now seek to the first offending lyric.
*Changed the default fret limit for guitar/bass tracks to 24. If RS1 export is enabled, the limit is instead defaulted to 22. If FoF or RB exports are enabled, 17 and 22 are the default limits for the 17 and 22 fret tracks, respectively.
*Changed the "Save separate Rocksmith 2 files" preference to be enabled by default. This change only takes effect for EOF installations that don't already have an eof.cfg file created or if people use the "Default" button in the import/export preferences dialog.
*Re-arranged the order of the note, chordnote and handshape attributes written to RS2 XML to make them more readable.
*Added eof_4_fret_range, eof_5_fret_range and eof_6_fret_range preferences that can be manually edited in eof.cfg (while EOF isn't already running, after opening and closing EOF once) to alter the behavior of fret hand position generation. By default, eof_4_fret_range is applied at fret 1, meaning that beginning at fret 1, the player's fret hand is able to cover four frets without changing position. The other two preferences aren't in use when they have their default value of 0, but can be assigned a fret number to indicate the fret hand can reach more frets at a time (because frets get smaller as you go higher up the neck). For example, an eof_5_fret_range value of 7 and an eof_6_fret_range value of 12 might be reasonable. Keep in mind this affects the fret hand position creation for both bass and guitar arrangements. Also it's likely that Rocksmith 1 isn't designed to allow ranges other than 4, and charts with larger ranges could malfunction in that game.
*Updated the logic that offers to apply the edited chord's fingering to matching chords that are missing finger definitions so that they can be applied to chords that have string mute status (and matching fret numbering).
*Fixed a bug with GH import that would prevent QB format charts from being imported.
*Improved GH import to suppress warnings about all off-beat time signature changes after the first offending one.
*Added a new GH3 MIDI variant written during MIDI export. This MIDI file is the same as the normal MIDI, but the forced HOPO marker is written with a length of 0 delta ticks instead of the full length of the affected note.
*Fixed a bug where setting an unsupported grid snap count while grid lines were displayed could cause EOF to crash.
*Increased the maximum custom grid snap size to 96 and added 1/64 and 1/96 built-in grid snap sizes.
*Added a 2/4 option to the "Beat>Time Signature" menu.
*Added a Y hotkey to "Note>Simplify chords".
*Fixed bugs that could cause the Mark functions to be incorrectly disabled in the "Note>Star Power", "Note>Solos" and "Note>Lyrics" menus.
*Added an "Auto-Adjust sections/FHPs" preference that will appropriately move certain types of sections (lyric lines, solo, star power, trill, tremolo, arpeggio, handshape, slider) if all notes in them (among all relevant difficulties) are moved. If a fret hand position is defined at the same timestamp as a note that is moved, the position moves with it.
*Added a SHIFT+F11 keyboard shortcut that cycles through the "Names", "Hand pos" and "RS sections + phrases" top of 2D pane shows preference. If the eof_top_of_2d_pane_cycle_count_2 item is manually set to 1 in eof.cfg while EOF isn't running, the names option is skipped by this shortcut.
*Improved RS exports to filter out non-printable characters if any happen to have imported into song properties from an MP3 or Rocksmith file.
*Improved the new chart wizard to filter out non-printable and extended ASCII characters from an MP3 file's ID3 tag.
*Fixed bugs with RS import that prevented slides for chords from being correctly imported.
*Fixed bugs with GP import's handling of time signatures when the imported file's measures have to be unwrapped (uses repeats, navigation symbols, alternate endings, etc).
*Added a fifth pro guitar track "PART REAL_GUITAR_BONUS", allowing one EOF project to contain all five arrangements that Rocksmith 2014 Remastered can support for a song.
!Note: Projects that are saved with any regular or tech notes in the bonus track are not compatible with older versions of EOF, which will crash when trying to open them or otherwise simply fail to open them. New or existing projects that have an empty bonus track when saved should continue to be usable with older versions.
*Fixed a bug where the tech view populated status "(*)" wasn't correctly cleared when the erase track function is used.
*Updated Feedback import to recognize the unofficial "N 7 #" and "E O" open note notations.
*Added a line to the Information Panel to display the selected note's fingering.
*Added a "Track>Clone from" function allowing the active track's content to be replaced with a copy of another track of the same format.
*Fixed a bug in the "Highlight notes in arpeggios" feature that could either cause EOF to hang or to toggle between normal and tech views when adding notes.
*Updated the Information Panel to display the tone played on each string of the selected note, for pro guitar/bass tracks.
*Fixed a GP import bug where if a tie note has a before-the-beat grace note, the duration wasn't correctly set.
*Fixed a RS2 export bug where single notes (or chords with split status) with linknext status that combined with other notes would result in the count attribute for the <note> tag being higher than it should.
*Fixed a RS2 export bug where split chords inside a handshape tag would cause duplicate chord templates to be written to XML.
*Added a "Note>Pro guitar>Slide>Convert to pitched" function that will convert unpitched slides to pitched slides, provided they aren't already defined as having a pitched slide as well.
*Added a "Note>Pro guitar>Slide>Convert to unpitched" function that will convert pitched slides to unpitched slides, provided they aren't already defined as having an unpitched slide as well. If the affected pitched slides don't have a defined end position, a 1 fret slide will be assumed. If this is not possible (ie. would cause a slide to 0 or a slide above the track's fret limit), EOF will warn about and highlight such notes.
*Fixed bugs where if a note was both a pitched slide AND a bend note, removing either technique could remove the other technique's definition (end of slide position or bend strength).
*Adds a new "chordify" RS2 authoring mechanism, to improve the ability to author a chord where some strings have a different length of sustain than others. To achieve this effect, this status will cause a chord to export as a chord tag that only includes chordnote tags for any open notes that are contained in the chord. Additionally, the invididual notes that make up the chord are written as single note tags with ignore status. Depending on the techniques applid to the chord, chord density, and the linknext status for the chord, chordnote and note tags will vary in order to best suit the in-game behavior. Otherwise the normal density rules are used and can be manually set with "crazy" or "hi dens" statuses. Density changes the height of the chord box (high density -> shorter) and whether muting notation is displayed within the box (high density muted chords display with an X covering the box). Chords that have low density, no playing technique and no sustain status but have choridify status display notes that do not rotate as they approach the front of the screen in-game.
*Improved the slide up/down toggle functions so that notes that already have a pitched end of slide position have it reset to 0, so if a down slide is turned into an up slide, it can't retain a then incorrect end of slide position.
*Improved MIDI import to recognize the "T1 GEMS" track as the guitar track in Guitar Hero 1 MIDIs.
*Fixed a bug where if the last gem in a pro guitar note was toggled off when legacy view was in effect, the note would not be deleted.
*Corrected 2D rendering so that string tunings aren't drawn on the left edge of the piano roll when legacy view is in effect.
*Improved the handling of the temp folder so that when EOF runs in a non-Windows environment, the folder is created at /tmp/eof.
*Corrected the MIDI export, lyric import and project save functions to use the temp folder for their temporary files.
*Improved the highlighting feature so that if anything in one of the active track's difficulties is highlighted, the difficulty name or number in the difficulty tab is highlighted in yellow. The tech notes indicator (*) will be individually highlighted where appropriate.
*Improved dynamic highlighting functions to process both normal and tech notes instead of just whichever note set is currently active.
*Added functions in Song>Seek to move to the position (if any) of the next or previous highlighted note in the active track difficulty, and have assigned the SHIFT+Y and CTRL+SHIFT+Y shortcuts to them, respectively.
*Fixed a bug where the Info panel wouldn't correctly indicate when no time signature was in effect.
*Fixed a bug where the seek selection (Feedback input mode) wasn't displayed in the Info panel if the vocal track was active.
*Added "Set start point" and "Set end point" functions to the edit menu that allows a portion of the chart to be defined for the "Create preview audio" and "Export time range" functions. If Feedback input mode is in use and a seek selection is set, that selection will take precedence if start and end points are also defined. To clear either the start or end point, set it again at the position it is already set to.
*Improved menu handling so that if Escape is used to close a function's dialog, it will more reliably close the menu system instead of dropping keyboard input until Escape is pressed again or the mouse is used.
*Moved the import functions into a File>Import menu to reduce the clutter in that menu.
*Added a "File>Export time range" feature that allows a user-defined portion of the active project to be saved as a new project file, with corresponding audio. For best results, use the "Set start point" and "Set end point" functions to mark the part of the project you want to export.
*Improved Guitar Pro import to handle invalid tuplets of 0 divisions that may be encoded by Guitar Pro in unknown scenarios.
*Added logic to prevent temp files from being written outside EOF's temp folder.
*Updated to FFTW 3.3.5, which should provide performance improvements with the time stretch and spectrogram features. On my computer, this seemed to result in about a 3.5% improvement in render speed when the spectrogram is being displayed.
*Updated the makefiles to perform link time optimization, which should provide some performance improvements overall. On my computer, this seemed to result in an additional 4.5% improvement in render speed when the spectrogram is being displayed.
*Added additional error checking during MIDI export.
*Improved cleanup logic so that if two pro guitar notes merge, they each retain their ghost statuses where appropriate, and if a ghost gem and a non ghost gem merge, the non ghost gem's data are kept.
*Improve Note>Resnap to not warn if fully ghosted notes will be merged by the operation. This should reduce the annoyance of cleaning up charts where the base chord of an arpeggio/handshape was rebuilt after being moved.
*Fixed a crash that could occur when enabling the secondary piano roll.
*Corrected oggenc error logging in leading silence functions.
*Fixed a GP import bug where quarter note length notes/chords could be incorrectly truncated if the preferences to truncate short notes/chords during GP import were enabled.
*Fixed a bug where "conditional deselect" didn't behave correctly when the cymbals criterion was used.
*Added an "Edit>Selection>Conditional select" function that behaves similarly to conditional deselect.
*Fixed some warning checks that are performed during save to not incorrectly warn about bend tech notes.
*Fixed a RS2 export bug where if a chord or single note had a length of 1ms and had bend or slide technique applied by a tech note, the corresponding chordnote or note tags would have a sustain of 0ms instead of 1ms.
*Fixed a GP import bug where hammer on or pull off technique from the current note wouldn't be handled correctly if the next note was in a different measure.
*Improved Sonic Visualizer import to ignore labeling data that do not define tempos, where previously the tempo processing would end earlier than it should.
*Improved the conditional selection functions to allow normal, mute and ghost gem type criteria to be specified when a pro guitar track is active.
*Fixed a Feedback import bug that could allow drum notes to be given forced HOPO status.
*Changed GHWT MIDI export so that forced strum notes export with a marker 9 lanes higher than lane 1 to reflect user testing.
*Fixed a bug in RS2 export where a palm/string muted note would lose its sustain even if it should have been kept due to having linknext or sustain status.
*Improved editor logic so that when adding linknext status to a note, it is prevented from being given a length that would go beyond the end of the chart.
*Added a check (if either RS export is enabled) during save so that a warning is given if a note crosses an RS phrase or section boundary, as this can cause problems with dynamic difficulty.
*Fixed a Feedback import bug that could cause the drums and double drums tracks to be combined into one drum track during import. Now the double drums track will be imported to the Phase Shift drum track if it is defined.
*Updated RS2 export warning checks to reflect that slides as high as fret 24 are allowed.
*Added a "Song>Rocksmith>Suppress DD warnings" option that will prevent EOF from warning about dynamic difficulty related issues during save.
*Improved RS import to parse chordnote data, allowing it to import chord lengths, stop tech notes, bend definitions and techniques that are applied to some or all of the chord's strings.
*Improved RS import to support "ignore" status.
*Fixed tech note logic so they can be used to apply string mute status.
*Corrected the "Deselect toms" function to apply to drum notes that contain both toms and cymbals.
*Re-organized many of the selection/deselection functions to be in their own submenus. Many of those that could only either select or deselect can now do both.
*Added functions to select/deselect notes of a specific length.
*Re-assigned the F12 keyboard shortcut to Guitar Pro import.
*Added functions to select/deselect notes depending on whether or not they are grid snapped.
*Various fixes for the "Open strum" feature of 5 lane guitar/bass tracks.
*Fixed a bug where enabling the display of grid lines while a custom per-measure grid snap was defined could cause EOF to hang.
*Fixed a bug where the seek to next anchor function wouldn't work in some scenarios.
*Improved the "Manage RS phrases" logic to avoid a crash by appending beats to the project if the last beat in a project contains an RS phrase.
*Fixed a bug with GP import where before the beat grace notes that were applied to the first beat in a measure were ignored.
*Improved the handling of grace notes during GP import so that if a grace note is applied on a string that isn't used in the affected note, it doesn't get interpreted as a chord. Muted grace notes authored in this way will now import correctly.
*Fixed various bugs that were related to the handling of time signatures with a beat unit (denominator) that isn't a multiple of 4.
*Improved GP import so that if the chosen track has notes in both voices, EOF asks which of the voices to import.
*Fixed a bug where fret hand position warnings may be incorrectly given if tech view was in effect during save or when the "Check fret hand positions" function is used.
*Added functions to select/deselect notes based on whether or not they are highlighted.
*Added a Note>Highlight menu with functions to apply or remove highlighting to selected notes. The functions to transpose selected notes have been moved into a Note>Transpose menu. The H menu hotkey has been re-assigned to the Highlight menu and O has been assigned to the HOPO menu.
*Improved GP import to not remove the sustain from tremolo notes if the preference for GP import to truncate short notes or chords is enabled.
*Fixed a bug in RS export where a chord with chordify AND crazy AND "hi dens" statuses would export as low density instead of the expected high density.
*Fixed a crash that could occur if Rocksmith or Guitar Pro imports fail when no project is open.
*Improved GP import so that if the selected track is a percussion track, EOF offers to import it into one or both drum tracks.
*Fixed a bug with GPA import where section/phrase markers (depending on user preferences) weren't imported.
*Added a "dB import skips 5nc conversion" import/export preference that will prevent 5 note chords from being converted to open notes during Feedback import.
*Fixed a bug during RS exports where the "At least one note crosses an RS phrase or section boundary" warning could be given when it shouldn't be.
*Fixed a bug where applying tech notes within the scope of an arpeggio/handshape phrase could cause a chord of technotes to be improperly created at the start position of the phrase.
*Added additional chord fingering definitions.
*Separated the import/export related preferences into a separate preferences dialog. It and the original set of preferences are are available in the File>Preferences submenu.
*Added a "Don't auto-name double stops" preference that does as its name suggests. With this preference, double stops that aren't manually named will export so that they appear with blank names in-game.
*Changed the check that warns if an arpeggio/handshape phrase only has one note to not apply to handshape phrases.
*Added MIDI export corrections suggested by Michael Tolly to reset running status after each exported meta/sysex event.
*Improved the consistency of measure numbering when the time signature changes mid-measure, which will cause the beginning of the next measure.
*Corrected the import of time signatures in Feedback files that have mid-beat tempo or time signature changes.
*Improved RS WAV export so that if the chart's song title has any characters that aren't usable in file names in Windows, the WAV file name substitutes them with underscores.
*Fixed memory leaks that could occur during a failed MIDI export.
*Improved RS import so that fret hand positions above fret 19 don't trigger a warning unless RS1 or Rock Band exports are enabled.
*Fixed a bug where swapping piano rolls could lower the active difficulty level of the formerly primary piano roll to difficulty 5.
*Fixed a bug where if the highest populated difficulty in a pro guitar track only had tech notes, that difficulty would be discarded during project load.
*Improved the save/load logic so that if a pro guitar track has more than 5 difficulties, any empty difficulties above the highest populated difficulty aren't removed.
*Added a check during save so that if a note has no note at the same position in another difficulty, but a note is present 1-3ms before or after in another difficulty, a warning is given that the notes are out of sync and offers to cancel and optionally highlight offending notes. If one of the two unsynced notes is grid-snapped and the other is not, the non grid-snapped note is considered the offending note, otherwise the earlier note is considered the offending note.
*Added a warning during startup if EOF is being run in Windows and is located within one of the "Program files" folders on the C drive, as Windows has security mechanisms that will interfere with normal program behavior.
*Altered MIDI tone logic so that the instrument voice in effect is updated for each note. This should prevent the wrong tone from being played even if multiple EOF instances are in use.
*Added a "Warn about missing bass FHPs" import/export preference that can be disabled to suppress the warning about no fret hand positions being defined in bass arrangements.
*Fixed bugs with the fret hand position check that places the position again at each RS phrase change.
*Added "Link to RocksmithToTab" and "Export guitar pro" functions to the file menu, allowing the command line RocksmithToTab utility to be used to create a GP5 file of the active project.
*Improved the check that runs during normal save that warns about lyrics outside of lyric lines, which will now seek to the first offending lyric.
*Changed the default fret limit for guitar/bass tracks to 24. If RS1 export is enabled, the limit is instead defaulted to 22. If FoF or RB exports are enabled, 17 and 22 are the default limits for the 17 and 22 fret tracks, respectively.
*Changed the "Save separate Rocksmith 2 files" preference to be enabled by default. This change only takes effect for EOF installations that don't already have an eof.cfg file created or if people use the "Default" button in the import/export preferences dialog.
*Re-arranged the order of the note, chordnote and handshape attributes written to RS2 XML to make them more readable.
*Added eof_4_fret_range, eof_5_fret_range and eof_6_fret_range preferences that can be manually edited in eof.cfg (while EOF isn't already running, after opening and closing EOF once) to alter the behavior of fret hand position generation. By default, eof_4_fret_range is applied at fret 1, meaning that beginning at fret 1, the player's fret hand is able to cover four frets without changing position. The other two preferences aren't in use when they have their default value of 0, but can be assigned a fret number to indicate the fret hand can reach more frets at a time (because frets get smaller as you go higher up the neck). For example, an eof_5_fret_range value of 7 and an eof_6_fret_range value of 12 might be reasonable. Keep in mind this affects the fret hand position creation for both bass and guitar arrangements. Also it's likely that Rocksmith 1 isn't designed to allow ranges other than 4, and charts with larger ranges could malfunction in that game.
*Updated the logic that offers to apply the edited chord's fingering to matching chords that are missing finger definitions so that they can be applied to chords that have string mute status (and matching fret numbering).
*Fixed a bug with GH import that would prevent QB format charts from being imported.
*Improved GH import to suppress warnings about all off-beat time signature changes after the first offending one.
*Added a new GH3 MIDI variant written during MIDI export. This MIDI file is the same as the normal MIDI, but the forced HOPO marker is written with a length of 0 delta ticks instead of the full length of the affected note.
*Fixed a bug where setting an unsupported grid snap count while grid lines were displayed could cause EOF to crash.
*Increased the maximum custom grid snap size to 96 and added 1/64 and 1/96 built-in grid snap sizes.
*Added a 2/4 option to the "Beat>Time Signature" menu.
*Added a Y hotkey to "Note>Simplify chords".
*Fixed bugs that could cause the Mark functions to be incorrectly disabled in the "Note>Star Power", "Note>Solos" and "Note>Lyrics" menus.
*Added an "Auto-Adjust sections/FHPs" preference that will appropriately move certain types of sections (lyric lines, solo, star power, trill, tremolo, arpeggio, handshape, slider) if all notes in them (among all relevant difficulties) are moved. If a fret hand position is defined at the same timestamp as a note that is moved, the position moves with it.
*Added a SHIFT+F11 keyboard shortcut that cycles through the "Names", "Hand pos" and "RS sections + phrases" top of 2D pane shows preference. If the eof_top_of_2d_pane_cycle_count_2 item is manually set to 1 in eof.cfg while EOF isn't running, the names option is skipped by this shortcut.
*Improved RS exports to filter out non-printable characters if any happen to have imported into song properties from an MP3 or Rocksmith file.
*Improved the new chart wizard to filter out non-printable and extended ASCII characters from an MP3 file's ID3 tag.
*Fixed bugs with RS import that prevented slides for chords from being correctly imported.
*Fixed bugs with GP import's handling of time signatures when the imported file's measures have to be unwrapped (uses repeats, navigation symbols, alternate endings, etc).
*Added a fifth pro guitar track "PART REAL_GUITAR_BONUS", allowing one EOF project to contain all five arrangements that Rocksmith 2014 Remastered can support for a song.
!Note: Projects that are saved with any regular or tech notes in the bonus track are not compatible with older versions of EOF, which will crash when trying to open them or otherwise simply fail to open them. New or existing projects that have an empty bonus track when saved should continue to be usable with older versions.
*Fixed a bug where the tech view populated status "(*)" wasn't correctly cleared when the erase track function is used.
*Updated Feedback import to recognize the unofficial "N 7 #" and "E O" open note notations.
*Added a line to the Information Panel to display the selected note's fingering.
*Added a "Track>Clone from" function allowing the active track's content to be replaced with a copy of another track of the same format.
*Fixed a bug in the "Highlight notes in arpeggios" feature that could either cause EOF to hang or to toggle between normal and tech views when adding notes.
*Updated the Information Panel to display the tone played on each string of the selected note, for pro guitar/bass tracks.
1.8RC11 (Thursday March 10, 2016)
Changes since 1.8RC10:
{Spoiler}
RS exports:
===========
*Fixed bugs with RS1 and RS2 exports where identical chords that had different fingering wouldn't export correctly.
*Fixed a bug with RS2 export where a chord's template would be incorrectly written if any of its notes were string muted with no fret value defined and the arrangement defines the use of a capo.
*Improved RS2 export so that a chord with vibrato status will export with its authored sustain value.
*Fixed an issue with RS exports where if certain items like a phrase name were too long, EOF wouldn't truncate them correctly and the toolkit could crash when trying to compile the XML file.
*Fixed a bug with RS2 export where high density (repeat line) chords could incorrectly be written as low density (chord boxes).
*Fixed a bug where bend tech notes may not export correctly in some conditions.
*Improved RS2 export to only export unpitched slide status for notes that are defined as both a pitched and an unpitched slide.
*Changed RS export so that string muting isn't taken into account for chord comparison. This should make a series of repeated muted and non-muted instances of the same chord appear nicely as a set of repeat lines.
*Fixed a RS2 export bug where if a note had linknext status and a bend tech note, and that next note had a bend tech note at its start position, the latter tech note would be incorrectly exported with the prior note's bend points.
*Altered RS2 export to prevent duplicate single notes from exporting in the event of overlapping arpeggio phrases.
*Improved RS export's high density detection to look at the distance between the start of a repeated chord and the end of the previous chord, instead of using the start position of the previous chord.
*Added a "Chord density threshold" preference that defines the maximum distance a repeated chord can be from the previous chord and still be allowed to RS export with high density (repeat lines).
*Added an "Apply crazy to repeated chords separated by a rest" preference that 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.
*Changed RS2 export so that if a chord is fully string muted and has no fingering defined, it can export in the preceding chord's handshape tag as a chord repeat line. The string muted chord is not required to use the same strings in order to export as a repeat line this way.
*Fixed a bug with RS1 and RS2 exports where tone changes could be written out of chronological order.
*Added logic so that if Rocksmith export fails due to chord or handshape errors, EOF will seek to the offending track and position.
*Added logic if RS2 export is enabled so that arpeggio and handshape phrases will automatically add an additional ghost gem at their start position (to form a chord) if they don't contain gems on more than one string. This is required for RS2 export of such phrases to succeed.
*Fixed a bug with the sorting logic that would prevent temporary notes from being properly removed after Rocksmith 2 export.
*Added error checking to RS export's handling of pitched and unpitched slides.
*Fixed a bug with RS1 export where if a note had only one non-ghosted gem and at least one ghosted gem, it would incorrectly export with a handshape tag.
*Improved Rocksmith exports so that if two otherwise identical chords have different names, they will use different chord templates as appropriate so they show each up with the correct defined names in-game.
*Altered RS1 and RS2 exports to filter out non-ASCII and various punctuation characters from lyrics and phrase names that are suspected of causing the game to crash.
*Added a warning during save if any chords' names include any characters that are suspected to cause Rocksmith to crash. Such characters are now removed during RS exports.
*Changed RS2 export of bass tracks so that if all used strings have the same tuning offset (ie -1 half steps from standard), that tuning offset is written for unused strings instead of writing them as 0.
*Updated RS2 export to write a "TS:#/#" event for each beat that has a time signature defined. RS import will now import these time signature changes if they are present and the "Import/Export TS" preference is enabled.
*Improved RS2 export to be able to combine notes or chordnotes with linked single notes or chords to allow for cleaner display in-game. The combined notes must use the same fret number and techniques for this combination to occur.
*Improved Rocksmith exports to suppress certain warning messages if quick save is being performed.
*Updated RS exports so that string/palm muted notes are written without sustain unless they also include a technique requiring that sustain to be kept (bend, vibrato or slide) or have the sustain status.
*Added a warning during save (if RS1/2 export is enabled) if any arpeggio or handshape phrases cross a phrase change, which may not work correctly if the chart has or gains dynamic difficulty (ie. through DDC).
*Improved multiple Rocksmith checks performed during save to correctly observe both normal notes as well as tech notes.
*Improved RS exports to offer to highlight notes that go above the supported fret limit for either game.
*Improved RS exports to offer to highlight notes that slide to or above fret 22, since these aren't compatible with either game.
General:
========
*Fixed a rare problem where attempting to shorten a note when grid snap is enabled could fail and leave it ending at a beat position.
*Fixed a bug where changing from one drum track to the other while the tracks' phrasing was shared could remove the phrasing from the former track.
*Restored the pre-r1282 detection for modifier keys, since a recent Windows 8.1 update seems to break the functionality of Allegro's key_shifts mechanism so the new logic wouldn't work. This broke detection of modifier keys only and required removing the offending Windows security update to fix.
*Fixed a bug with the seek to previous grid snap function where it could move the seek position to the start of the chart instead of the position of the first beat marker.
*Added a "Note>Move grid snap" menu with functions that move all selected notes one grid snap position forward or backward. The CTRL+[ and CTRL+] shortcuts have been assigned to these functions.
*Fixed some memory corruption bugs regarding the handling of Unicode project paths.
*Fixed a bug where using the CTRL+SHIFT+# keyboard shortcuts to change the active difficulty or the CTRL+SHIFT+Up/Down keyboard shortcuts to change the active track during playback would not update the sound cues to reflect the contents of the correct difficulty.
*Added "Beat>Double BPM" and "Beat>Halve BPM" menus so the user can specify whether to double or halve the tempo of just the selected beat, or to do so for all beats in the project.
*Improved logging and error handling in the preview audio creation function.
*Changed the input fields for some dialogs to not automatically take focus when the mouse moves over it, requiring a click. This behavior change can be removed by disabling the new "Click to change dialog focus" user preference.
*Improved the menu system so that the mouse doesn't automatically activate submenus unless it is moved (ie. making it easier to use the keyboard to navigate the menus).
*Added the SHIFT+W keyboard shortcut to Song>Catalog>Add.
*Fixed a bug with MIDI tone playback that may have prevented events from being sent to the correct channel.
*Added an "EOF leaving focus stops playback" user preference which can be disabled to allow the chart to remain playing even if you change from EOF to another program.
*Made the "CPU saver" idling feature (File>Settings) more effective. This setting controls how long EOF idles when the chart is not playing.
*Changed the handling of time signatures so that the denominator (beat unit) alters the length of a beat as it does in music theory. To prevent unwanted alteration for existing projects' beat timings, this is not enabled by default for existing projects, but can be enabled or disabled by going into Song>Properties and toggling the "Use accurate time signatures" option. When this option is changed, if the project uses any non #/4 time signatures, EOF will offer to alter tempos so that beat positions remain the same. Time signature changes that change the denominator are forced to be anchors, to prevent the ability to accidentally corrupt the tempo map. File imports have been updated to handle this setting being enabled for new projects, and GPA import will forcibly enable this option because the Go PlayAlong format writes its timings in a way where time signatures must be taken into account. Functions in the "Beat>Time signature" menu are now disabled as appropriate if the tempo map is locked, to ensure the beat positions remain unaltered.
*Changed the exit logic so that EOF offers to quick save (instead of normal save with all warnings/errors displayed) the project if it has unsaved changes.
*Improved the accuracy of the grid snap logic.
*Fixed the secondary piano roll logic so that when swapping piano rolls, EOF's title bar reflects the correct active difficulty.
*Corrected the Track>Rename function to begin with the input field empty if the track doesn't have a custom name already.
*Added the ability to specify cymbals or non cymbals in conditional deselect, which is only offered when a drum track is active. These new criteria are only checked for lanes 3, 4 and 5 as these are the only lanes that can be cymbals or toms.
*Added "Deselect toms" and "Deselect cymbals" functions to the Edit>Selection menu.
*Fixed a bug where the second to last beat in a chart would have incorrect grid snap positions calculated if it was a tempo change.
*Added a "Beat>Time signature>Convert" function (only accessible if the accurate TS chart option is enabled) that will allow you to define a time signature for the selected beat and have EOF calculate the appropriate tempos for affected beats to allow them to keep their existing positions. This will help authors to update existing charts that have wild tempo changes to use time signature changes instead.
*Made the "Display semitones as flat" song menu item a permanent setting (like a preference).
*Added new instrument numbers that can be configured in eof.cfg (while EOF is not running) for MIDI tone playback of palm muted guitar notes (eof_midi_synth_instrument_guitar_muted) and harmonic guitar notes (eof_midi_synth_instrument_guitar_harm).
*Fixed problems with the image sequence function where the colors were incorrect and the images didn't reflect the display options in use (ie. full screen 3D).
*Added a "File>Display>Benchmark image sequence" function that tests the render speed of EOF for the current project and display settings, allowing the user to easily check the effectiveness of different customizations or build options.
*Updated to Allegro 4.4.2. This version of Allegro reportedly fixes the annoying bug with the Tab key acting like it is held down when ALT+Tabbing EOF back into the foreground.
*Added functions to Note>Drum to mark yellow, blue or green cymbal notes as being both cymbals and toms simultaneously, for future use in Phase Shift. Such cymbal notes will render as having a black hole in the middle.
*Fixed a bug where if the "3D render bass drum in a lane" preference was enabled, cymbal notes would 3D render as normal drum notes instead of cymbals.
*Fixed a bug where using "Note>Drum>Mark as non cymbal" wouldn't mark the chart as altered and create an undo state.
*Fixed a bug where the resnap function would incorrectly warn that notes would be combined if they were too close to notes in other difficulties.
*Changed fixup logic to not automatically deselect the selected note.
*Fixed a bug where shortening a note could allow it to result in a negative length.
*Added the ability to author accent drum note status using the Note>Drum>Accent submenus, for use in Guitar Hero World Tour authoring.
*Fixed a bug where the note selection would change unexpectedly when performing tasks like changing the grid snap size or using undo/redo.
*Improved the note lengthen function so that if the change is blocked, due to the enforced minimum distance between notes that don't have crazy status, the chart isn't marked as modified.
*Changed the forced HO/PO functions to allow them to be used on open strum notes, for use with GHWT authoring. These statuses will NOT export to the FoF/Phase Shift related MIDI files because they do not support it.
*Added a check during save that will seek to and warn about incorrectly placed time signature changes that don't occur at the beginning of a measure. Such problems will cause some defective behavior in some rhythm games, such as causing incorrect star power durations.
*Improved the dialogs that restrict some characters so that the tab key can again be used to change fields.
*Added a SHIFT+I keyboard shortcut to access "Beat>Time signature>Custom".
*Fixed a bug where erasing the vocal track wouldn't remove the lyric preview and could cause a crash.
*Improved paste logic so that if the paste overlaps the end of the project and beats have to be added to perform the paste, the measure numbering is updated immediately.
*Fixed a bug where SHIFT+click couldn't select a range of notes if the previous note that was selected was at 0 seconds.
*Improved the usage of the time stretch option to be remembered.
*Changed project load to calculate the non floating point beat positions by rounding to the nearest millisecond when the project is storing string representations of beat timings. This might help to avoid rounding errors with beat positions.
*Improved 2D rendering so that notes inside slider phrases have an 'S' notation at the bottom of the piano roll, which will make them more recognizable in cases where the slider phrase is very short.
*Fixed a crash that would occur if selecting a note in one track, changing to a different track that is a pro guitar track and middle clicking on a note without manually selecting that note first. Similar crashes in very specific scenarios may also be resolved.
*Added a "Note>Lyrics>Remove pitch" function.
*Improved the behavior of the paste function in the vocal track so that the pasted lyrics begin at the seek position like they do with instrument tracks.
*Improved the highlighting feature so that toggleable highlighting options ("Highlight notes in arpeggios" and "Highlight non grid snapped notes") are individually removable and do not effect the highlighting applied by other operations.
*Improved the audio selection dialog in the new chart wizard (and Feedback import) to also allow WAV files to be selected.
*Improved editor logic so that middle clicking on a lyric selects the lyric and opens the "Edit lyric" dialog for it.
*Added the CTRL+W shortcut key to "Note>Star power>Mark".
*Replaced various uses of single precision floating point with double precision floating point, ie. copy/paste/auto-adjust.
*Improved "Track>Rename" so that it will disallow a track to be given a name that is already in use by another track.
*Added a "Delete w/ lower diffs" function that deletes the selected notes as well as those in lower difficulties that are at the same timestamps as any of the selected notes. This function has been assigned the CTRL+SHIFT+Del shortcut and both it and Note>Delete have been moved into a Note>Delete> submenu.
*Added a "Beat>Events>Place section" function, which has been assigned the SHIFT+E keyboard shortcut, to simplify adding/editing section markers for use in FoF and Phase Shift. This function automatically inserts the specified name into a "[section NAME]" formatted text event. A few event related functions in the Beat menu have been moved into the "Events" submenu.
*Added a "Beat>Copy events" function (which has been assigned the CTRL+SHIFT+C shortcut) that copies the selected beat's visible events (ie. those not assigned to a track other than the active track) to the event clipboard. The "Beat>Rocksmith>Paste phrase/section" function is now "Beat>Paste events" and can be used with both "Beat>Copy events" and "Beat>Rocksmith>Copy phrase/section".
*Fixed a bug where performing undo would delete auto-recovery information.
*Improved the organization of temporary files (undo/redo states, clipboard files, auto-recovery files, etc) to be in a "temp" subfolder of EOF's program folder.
*Updated EOF to launch the new chart wizard if a WAV file is passed as an argument over the command line.
Save/Export:
============
*Improved the lyric export to be able to save lyrics into project folders whose paths contain special characters.
*Added a warning during save if any lyrics have extended ASCII or Unicode characters, as these aren't compatible with various rhythm games.
*Removed the prompt asking the offset to be reset to zero during save, as it was determined to be unnecessary.
*Added save logic to avoid a scenario where EOF cannot detect the presence of the project folder, which generally results from unknown causes external to the editor.
*Added a "Save FoF/Phase Shift files" user preference to specify whether Frets on Fire, FoFiX or Phase Shift related files (notes.mid, song.ini and script.txt) are created during save.
*Improved musical MIDI export to create an additional MIDI formatted to work in the Fretlight M-Player program.
*Changed backup logic so that backup copies of the active project use file names ending in .bak.
*Improved "Save as" function to not warn about overwriting an existing project file if the destination file name is unique.
*Added logic so that a ghwt.array.txt file is written during project save if FoF/Phase Shift export is enabled. This file contains times and codes used to try to create drum animations for Guitar Hero World Tour charts.
*Added a new GHWT related MIDI file that is created during save that 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.
*Added a "RBN export slider as HOPO" preference that will export notes in slider phrases as forced HOPO notes when writing the RBN and C3 MIDI files.
*Updated the save function to write a simplified lyrics file (lyrics.txt) if the Lyrics option in Song>Properties is checked.
*Improved lyric export to add handling for there being an empty lyric line (depending on the lyric format being exported) as the last line of lyrics in a project.
Imports:
========
*Added the ability to import a Rocksmith XML file, Guitar Pro file or Go PlayAlong file via the command line or when no project is already open. EOF will prompt which pro guitar/bass track to import the content to.
*Fixed memory leaks in Rocksmith import and musical MIDI export.
*Corrected memory and resource leaks that could occur during a failed Feedback, Guitar Pro, Rocksmith or lyric import.
*Fixed memory leaks that would occur if a file failed to be opened over the command line.
---------
FEEDBACK:
---------
*Changed Feedback import so that notes closer than 11/128 measure are given forced HOPO notation. If the unofficial "N 5 #" notation is applied to a note, that note's forced HOPO notation is inverted. Notes that aren't forced to be HOPOs are forced to be strummed, resulting in a more accurate chart.
*Fixed a rounding error in Feedback import that could cause note positions to round down instead of up to the nearest millisecond where appropriate.
*Changed Feedback import so that if a star power phrase ends on a beat marker, it is shortened by 2 chart ticks under the likely assumption that the chart was misauthored and intended to not mark a note at the beginning of that beat.
*Improved Feedback import to recognize the unofficial "N 6 #" tapping notation and to create slider phrases to define such notes.
*Fixed a bug where the target song folder for the new project created during Feedback import might not be correctly set to reflect the imported file's location.
*Added a "dB import drops mid beat tempos" preference that removes beats that were added to compensate for mid-beat tempo changes during Feedback import.
*Improved Feedback import to support the unofficial "E *" toggle HOPO notation.
*Improved Feedback import to convert 5 lane chords to open strum notes.
---
GP:
---
*Improved GP import's handling of slide direction detection. GP3 files' slide notation will no longer cause the following note to be removed, since GP3's format defines slides in a more ambiguous way than GP5.
*Fixed a GP import bug where if a repeated set of measures had one alternate ending defined for one repeat but not the others, too many measures would be skipped looking for the next effective alternate ending.
*Fixed a GP import bug where chords that use a hammer on or pull off technique into the following note could place the technique on the wrong note.
*Improved GP import so that if a tie note uses techniques other than that of the note it's attached to, such as with delayed slides, it will import as a separate note (so that the note and its tie note each retain their techniques) that is linked to the previous note. Strum direction will not be taken into account for this purpose.
*Fixed a bug where the wrong tuning would be imported for a GP file using 7 strings and the thinnest string is dropped from the import.
*Added logic to GP import to correct note duration errors, as Guitar Pro can incorrectly write empty measures as an empty whole rest, even when the time signature isn't 4/4.
*Fixed a bug where the "GP import nat. harmonics only" preference did not work correctly.
*Updated GP import so that artificial and tapped harmonic notes import as pinch harmonic notes, which is more accurate than having them import as natural harmonic notes.
*Improved Guitar Pro import so that bend points are correctly interpreted on a per-string basis as they are defined in Guitar Pro.
*Fixed a rounding error of bend points during GP import, instances of which would only manifest itself depending on the beat map.
*Fixed a GP import bug that could cause pull offs to be interpreted as hammer ons.
*Improved GP import to not apply bend status to entire chords when only some of the chord's strings are bent.
*Improved GP import so that notes that are palm muted or fully string muted lose their sustain.
*Improved GP import to summarize a bend note's height from its first bent point if the summarized height itself is not defined.
*Fixed a GP import bug that caused a note that starts at the time a trill or tremolo note ends to incorrectly be included in the tremolo phrase.
*Fixed a GP import bug that could cause tremolo status to not import correctly when importing a GP track into the active track difficulty and another difficulty has any trill/tremolo phrases overlapping those in the imported GP track.
*Potentially fixed a GP import issue where math rounding errors may cause the "GP import truncates short notes" preference to incorrectly truncate quarter notes in the right conditions.
*Improved Guitar Pro import to offer to change the active track's arrangement type from bass to non-bass or vice-versa if that would be appropriate for the GP track being imported.
*Improved GP import to drop bend points from the end of a bend if they are the same height as the last bend height change in the note, since such bend points just add clutter and too many close bend points can cause Rocksmith to crash.
*Improved GP import dialog to automatically close after a track is imported.
*Improved GP import to handle grace notes.
*Improved GP import to drop the sustain for staccato notes if the "GP import truncates short notes" preference is enabled and the notes in question don't have any techniques that would require the sustain to be kept.
*Improved GP import to drop string muted notes that are combined with non string muted notes, since Rocksmith's detection of muted notes in chords is poor and Rock Band 3 won't display mixed muting chords correctly.
*Fixed a GP import bug where tie notes that begin at different positions and overlap each other can end up using incorrect fret values.
*Improved GP import to keep the notes that follow a legato slide and link it to sliding note, to more accurately display how to play it in Rocksmith.
*Corrected GP import logic for slides in GP4 and older formats.
*Improved GP import to support triplet feel notation.
*Fixed crashes that could occur during GP import.
*Fixed a GP import bug where slide notation may not be imported in some circumstances.
*Added a "GP import truncates short chords" preference that works the same as "GP import truncates short notes", except that the latter now only applies to single notes.
*Improved the handling of alternate endings during the import of Guitar Pro 4 files.
*Fixed the handling of tie notes that overlap normal notes in GP import.
*Added handling to GP import so that EOF wouldn't crash when parsing on-beat grace notes that are attached to invalid tie notes (ie. those that don't come after any other notes on the string).
*Fixed a bug with GP import where the beat timings weren't adjusted to reflect imported time signature changes before the note timings were calculated.
*Adds special triplet feel handling to GP import to account for dotted notes that combine with the next note to create triplet feel timing.
*Improved the logic that marks notes with crazy status after MIDI and GP imports to avoid applying the status to notes that don't overlap others by at least two milliseconds.
*Improved GP import so that if any difficulty-specific tremolo phrases are imported (occurs when the "GP import replaces active track" preference is disabled), EOF offers to remove the difficulty limit to reveal these phrases.
*Fixed a GP import bug where tie notes in 7 string guitar tracks might not be imported correctly.
*Improved GP import to properly handle "on the beat" grace notes and to honor the "GP import truncates short notes" preference for the sustain for imported grace notes.
----
GPA:
----
*Added handling to GPA import so that sync points that are out of chronological are ignored and the import is allowed to continue.
*Improved GPA import to support fractional numbers that are defined with as many as 40 characters.
-----
MIDI:
-----
*Fixed a MIDI import bug where beat lengths were calculated incorrectly in non #/4 time meter, leading to errors in the beat map.
*Improved MIDI import to recognize drum animations in Guitar Hero 1 and 2 MIDIs and convert them to drum notes where applicable. Guitar Hero drum animations weren't authored as accurately as actual drum charts, but they are a good starting point.
---
RS:
---
*Improved RS import to load capo placement, tone changes and bend tech notes.
*Improved RS import to load linknext, accent, mute, pinchharmonic, slideunpitchto, tap and vibrato single note techniques.
*Improved RS import to recognize string mute and palm mute chord technique.
*Improved RS import to take the capo into account when processing anchors.
*Improved RS import to support creating arpeggio and handshape phrases.
*Improved RS import to support creating handshape phrases for handshape tags that include any single notes.
------
LYRIC:
------
*Improved UltraStar import to skip the Byte Order Mark (BOM, a Unicode encoding mechanism) if one is present at the beginning of the imported file. Previously the presence of the BOM would cause the import to fail.
*Improved LRC/ELRC lyric import (FoFLC) to allow the hundredths timing field to contain a third digit, in which case it will be interpreted as defining the field in milliseconds.
BANDFUSE:
=========
*Added the ability to import Bandfuse chart files via the "File>Bandfuse Import" function or over the command line.
*Added initial Bandfuse XML export logic, which is enabled with the "Save separate Bandfuse files" option in File>Preferences.
Audio:
======
*Added another OGG encoding quality option when converting an MP3 to an OGG file in EOF. 320kbps is just an estimate however, as this setting is given to the command line OGG encoder as the highest available quality, and the resulting OGG file can end up using a data rate higher than 320kbps.
*Fixed a bug where when an MP3 is converted to OGG format in the new chart wizard, the "original.mp3" copy of the source file is not correctly placed in the project folder.
*Added additional error handling and logging when adding leading silence to a project whose chart audio was created from an MP3 file and it is still present in the project folder (as original.mp3).
*Added a check to the leading silence function so that if the resulting audio is found to be shorter than it was before (the stream or re-encode failed), EOF will offer to undo the operation.
*Improved the new chart wizard so that if an OGG file is selected as the chart audio, it will read the year if it is stored in the "DATE" vorbis comment (some audio editors like Audacity store the year information this way).
*Improved "Song>Create preview audio" to store the start and end times of the preview as INI tags (preview_start_time and preview_end_time) in the project. Phase Shift currently supports using that start tag. If chart audio is loaded, EOF will offer to create preview audio files using the given time range of the audio. Subsequent calls to this function will read existing start and time stamps from the INI settings and use them to fill out the input fields.
Pro guitar:
===========
*Fixed a bug where the option to ignore the tuning/capo setting couldn't be disabled.
*Improved the set tuning dialog so that if a drop tuning is specified, EOF offers to turn off the option to ignore the tuning so that chord name lookups will be correct. EOF will automatically disable that option when importing a track from a Guitar Pro file that is in a drop tuning.
*Increased the fret limit on automated and manually placed fret hand positions. If Rocksmith 2 export is enabled, and neither Rock Band or Rocksmith 1 export are, EOF will allow a fret hand position of 21, which is the highest position supported in Rocksmith 2.
*Improved the tab notation to display the bend symbol in parentheses if any bend tech notes are applied to the note.
*Improved the "Tone change>Add" function to edit the existing tone change instead of creating an overlapping one, if a tone change already exists at the current seek position.
*Fixed a bug where the "Set bend strength" input field wasn't properly cleared when the function is used in tech view.
*Added functions to a Note>Rocksmith>Handshape menu to mark a "handshape" phrase, which will export to RS2 XML similarly to arpeggios, but without the "-arp" on the chord name, so it can be made to look like a highlighted chord section with no chord name. Unlike arpeggio phrases, chords inside of handshape phrases are not split up into single notes, although they will be if marked with "split" status. The first chord in a handshape is explicitly exported as low density (chord box) unless marked with the new "hi dens" status. Other chords in the handshape export as high density as normal unless there's a chord change or the chord is marked with crazy status. The keyboard shortcut assigned to mark/unmark this phrase type is CTRL+SHIFT+H, and toggle pinch harmonic's shortcut has been changed to SHIFT+H.
*Added functions to the Note>Rocksmith menu to remove or toggle linknext status. The toggle function can be invoked with the SHIFT+N keyboard shortcut.
*Improved fixup logic so that when two sliding pro guitar notes merge into a chord, the pitched/unpitched slide end position of the one using the lowest string is kept and the fingering of each note is correctly kept.
*Added a check during save that warns if any notes bend more than 3 half steps, since Rocksmith doesn't support this.
*Improved fret hand position generation to place FHP changes at the end of note slides if applicable.
*Added logic to remove the possibility of overlapping arpeggio phrases.
*Fixed a bug where EOF could remove too many beats from the project when performing certain operations in tech view, such as paste.
*Fixed a bug where arpeggio phrases that were in different difficulties of the same track at overlapping times would be combined.
*Fixed a bug where the base chord for an arpeggio might not be created in certain conditions.
*Added a function to remove crazy status from selected notes and moved it and the toggle crazy function into a "Note>Crazy" submenu.
*Improved the toggle crazy function to cancel (not cause the chart to be marked as modified) if no selected notes actually had crazy status removed (ie. they are all forced to retain that status, such as if they are all inside an arpeggio phrase).
*Fixed a bug where ghost and hammer on pro guitar statuses weren't allowed to be used on a note simultaneously.
*Added a check to the "edit pro guitar note" and "edit frets/fingering" dialogs so that if a fret value provided exceeds the track's fret limit, EOF offers to increase the limit.
*Added a Bandfuse color set, which 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.
*Added a "Ghost notes trigger clap" option to "Song>Audio cues". Ghost notes will no longer trigger the MIDI tones sound cue or export to musical MIDI files.
*Changed fret hand position generation logic so that a position is generated for the note at the beginning of each arpeggio/handshape phrase, but not for the other notes within those phrases.
*Fixed a bug with "Flatten this difficulty" where the project would not be marked as modified if no notes were changed, but if other items such as fret hand positions were.
*Improved error handling of fret hand position generation.
*Fixed a bug where downward pitched/unpitched slides could have the wrong end of slide position set if the lowest used string had a higher fret value than other strings.
*Fixed bugs where "erase track" and "erase track difficulty" would not work if tech notes were present but no normal notes were, and tech view wasn't in effect.
*Fixed a bug with the "Edit frets/fingering" dialog where setting a string to be muted would cause EOF to incorrectly ask to set a high fret limit for the track.
*Added a warning during save if any errors with a slide's end fret number are found.
*Added a "Note>Rocksmith>Remove FHPs" function that deletes all fret hand positions between the positions of the first and last selected notes in the active track.
*Added a new "Ghost handshape" mechanism accessible in the "Edit pro guitar note" dialog that causes a chord with ghosted and non-ghosted gems to export to RS2 XML so that its handshape tag reflects all its gems including ghost ones while the chord tag only reflects non-ghosted gems.
*Changed chord name lookup logic to examine defined fret values for string muted gems in chords, to avoid problems where names for otherwise matching chords could be made blank in Rocksmith.
*Improved paste logic so that arpeggio and handshape phrases are created as appropriate if the copied notes still have those phrases authored during paste.
*Added an "Offer to auto complete fingering" preference allowing this feature to be disabled.
*Improved "Precise select like" to also compare notes' ghost gems.
*Added a new "Hi Dens" pro guitar note status that causes RS2 export to treat chords with this status so that they export as high density chords (repeat lines), pending this new capability from the Rocksmith Toolkit.
*Changed FHP generation so that the effective FHP is placed at the beginning of a new phrase instead of at that phrase's first note. This should avoid strange anchor behavior in songs with dynamic difficulty.
*Added a new "Split" pro guitar status that causes the note to RS2 export as single notes instead of as a chord.
*Improved FHP generation to prevent a fret hand position change being placed at a repeated note/chord.
*Improved FHP generation to prevent adding redundant changes setting the position already in effect. The effective position is still placed again at the beginning of each RS phrase as intended.
*Fixed a bug where allowing EOF to transpose the guitar notes affected by a tuning change when tech view was in effect would cause tech notes to be altered instead of the normal notes.
*Improved the tuning change transpose logic to offer to update pitched and unpitched slide ending positions.
*Moved the "Highlight notes in arpeggios" function to "Song>Pro Guitar" and added it as an option that is stored into the project during save.
*Changed the behavior of the logic that reads the pro guitar/bass tunings from song.ini. These values will not override those in the project when a project is loaded, as Rocksmith supports 4 or 6 string counts to be authored in either track type.
*Improved the auto-adjust feature by forcing all grid snapped tech notes to resnap to their correct position after notes are adjusted.
*Fixed a crash that could occur when deleting tech notes.
*Improved technique phrase (ie. handshape, tremolo, arpeggio) marking so that even if a note has linknext status, both it and the note it links to can be put into separate phrases.
RS exports:
===========
*Fixed bugs with RS1 and RS2 exports where identical chords that had different fingering wouldn't export correctly.
*Fixed a bug with RS2 export where a chord's template would be incorrectly written if any of its notes were string muted with no fret value defined and the arrangement defines the use of a capo.
*Improved RS2 export so that a chord with vibrato status will export with its authored sustain value.
*Fixed an issue with RS exports where if certain items like a phrase name were too long, EOF wouldn't truncate them correctly and the toolkit could crash when trying to compile the XML file.
*Fixed a bug with RS2 export where high density (repeat line) chords could incorrectly be written as low density (chord boxes).
*Fixed a bug where bend tech notes may not export correctly in some conditions.
*Improved RS2 export to only export unpitched slide status for notes that are defined as both a pitched and an unpitched slide.
*Changed RS export so that string muting isn't taken into account for chord comparison. This should make a series of repeated muted and non-muted instances of the same chord appear nicely as a set of repeat lines.
*Fixed a RS2 export bug where if a note had linknext status and a bend tech note, and that next note had a bend tech note at its start position, the latter tech note would be incorrectly exported with the prior note's bend points.
*Altered RS2 export to prevent duplicate single notes from exporting in the event of overlapping arpeggio phrases.
*Improved RS export's high density detection to look at the distance between the start of a repeated chord and the end of the previous chord, instead of using the start position of the previous chord.
*Added a "Chord density threshold" preference that defines the maximum distance a repeated chord can be from the previous chord and still be allowed to RS export with high density (repeat lines).
*Added an "Apply crazy to repeated chords separated by a rest" preference that 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.
*Changed RS2 export so that if a chord is fully string muted and has no fingering defined, it can export in the preceding chord's handshape tag as a chord repeat line. The string muted chord is not required to use the same strings in order to export as a repeat line this way.
*Fixed a bug with RS1 and RS2 exports where tone changes could be written out of chronological order.
*Added logic so that if Rocksmith export fails due to chord or handshape errors, EOF will seek to the offending track and position.
*Added logic if RS2 export is enabled so that arpeggio and handshape phrases will automatically add an additional ghost gem at their start position (to form a chord) if they don't contain gems on more than one string. This is required for RS2 export of such phrases to succeed.
*Fixed a bug with the sorting logic that would prevent temporary notes from being properly removed after Rocksmith 2 export.
*Added error checking to RS export's handling of pitched and unpitched slides.
*Fixed a bug with RS1 export where if a note had only one non-ghosted gem and at least one ghosted gem, it would incorrectly export with a handshape tag.
*Improved Rocksmith exports so that if two otherwise identical chords have different names, they will use different chord templates as appropriate so they show each up with the correct defined names in-game.
*Altered RS1 and RS2 exports to filter out non-ASCII and various punctuation characters from lyrics and phrase names that are suspected of causing the game to crash.
*Added a warning during save if any chords' names include any characters that are suspected to cause Rocksmith to crash. Such characters are now removed during RS exports.
*Changed RS2 export of bass tracks so that if all used strings have the same tuning offset (ie -1 half steps from standard), that tuning offset is written for unused strings instead of writing them as 0.
*Updated RS2 export to write a "TS:#/#" event for each beat that has a time signature defined. RS import will now import these time signature changes if they are present and the "Import/Export TS" preference is enabled.
*Improved RS2 export to be able to combine notes or chordnotes with linked single notes or chords to allow for cleaner display in-game. The combined notes must use the same fret number and techniques for this combination to occur.
*Improved Rocksmith exports to suppress certain warning messages if quick save is being performed.
*Updated RS exports so that string/palm muted notes are written without sustain unless they also include a technique requiring that sustain to be kept (bend, vibrato or slide) or have the sustain status.
*Added a warning during save (if RS1/2 export is enabled) if any arpeggio or handshape phrases cross a phrase change, which may not work correctly if the chart has or gains dynamic difficulty (ie. through DDC).
*Improved multiple Rocksmith checks performed during save to correctly observe both normal notes as well as tech notes.
*Improved RS exports to offer to highlight notes that go above the supported fret limit for either game.
*Improved RS exports to offer to highlight notes that slide to or above fret 22, since these aren't compatible with either game.
General:
========
*Fixed a rare problem where attempting to shorten a note when grid snap is enabled could fail and leave it ending at a beat position.
*Fixed a bug where changing from one drum track to the other while the tracks' phrasing was shared could remove the phrasing from the former track.
*Restored the pre-r1282 detection for modifier keys, since a recent Windows 8.1 update seems to break the functionality of Allegro's key_shifts mechanism so the new logic wouldn't work. This broke detection of modifier keys only and required removing the offending Windows security update to fix.
*Fixed a bug with the seek to previous grid snap function where it could move the seek position to the start of the chart instead of the position of the first beat marker.
*Added a "Note>Move grid snap" menu with functions that move all selected notes one grid snap position forward or backward. The CTRL+[ and CTRL+] shortcuts have been assigned to these functions.
*Fixed some memory corruption bugs regarding the handling of Unicode project paths.
*Fixed a bug where using the CTRL+SHIFT+# keyboard shortcuts to change the active difficulty or the CTRL+SHIFT+Up/Down keyboard shortcuts to change the active track during playback would not update the sound cues to reflect the contents of the correct difficulty.
*Added "Beat>Double BPM" and "Beat>Halve BPM" menus so the user can specify whether to double or halve the tempo of just the selected beat, or to do so for all beats in the project.
*Improved logging and error handling in the preview audio creation function.
*Changed the input fields for some dialogs to not automatically take focus when the mouse moves over it, requiring a click. This behavior change can be removed by disabling the new "Click to change dialog focus" user preference.
*Improved the menu system so that the mouse doesn't automatically activate submenus unless it is moved (ie. making it easier to use the keyboard to navigate the menus).
*Added the SHIFT+W keyboard shortcut to Song>Catalog>Add.
*Fixed a bug with MIDI tone playback that may have prevented events from being sent to the correct channel.
*Added an "EOF leaving focus stops playback" user preference which can be disabled to allow the chart to remain playing even if you change from EOF to another program.
*Made the "CPU saver" idling feature (File>Settings) more effective. This setting controls how long EOF idles when the chart is not playing.
*Changed the handling of time signatures so that the denominator (beat unit) alters the length of a beat as it does in music theory. To prevent unwanted alteration for existing projects' beat timings, this is not enabled by default for existing projects, but can be enabled or disabled by going into Song>Properties and toggling the "Use accurate time signatures" option. When this option is changed, if the project uses any non #/4 time signatures, EOF will offer to alter tempos so that beat positions remain the same. Time signature changes that change the denominator are forced to be anchors, to prevent the ability to accidentally corrupt the tempo map. File imports have been updated to handle this setting being enabled for new projects, and GPA import will forcibly enable this option because the Go PlayAlong format writes its timings in a way where time signatures must be taken into account. Functions in the "Beat>Time signature" menu are now disabled as appropriate if the tempo map is locked, to ensure the beat positions remain unaltered.
*Changed the exit logic so that EOF offers to quick save (instead of normal save with all warnings/errors displayed) the project if it has unsaved changes.
*Improved the accuracy of the grid snap logic.
*Fixed the secondary piano roll logic so that when swapping piano rolls, EOF's title bar reflects the correct active difficulty.
*Corrected the Track>Rename function to begin with the input field empty if the track doesn't have a custom name already.
*Added the ability to specify cymbals or non cymbals in conditional deselect, which is only offered when a drum track is active. These new criteria are only checked for lanes 3, 4 and 5 as these are the only lanes that can be cymbals or toms.
*Added "Deselect toms" and "Deselect cymbals" functions to the Edit>Selection menu.
*Fixed a bug where the second to last beat in a chart would have incorrect grid snap positions calculated if it was a tempo change.
*Added a "Beat>Time signature>Convert" function (only accessible if the accurate TS chart option is enabled) that will allow you to define a time signature for the selected beat and have EOF calculate the appropriate tempos for affected beats to allow them to keep their existing positions. This will help authors to update existing charts that have wild tempo changes to use time signature changes instead.
*Made the "Display semitones as flat" song menu item a permanent setting (like a preference).
*Added new instrument numbers that can be configured in eof.cfg (while EOF is not running) for MIDI tone playback of palm muted guitar notes (eof_midi_synth_instrument_guitar_muted) and harmonic guitar notes (eof_midi_synth_instrument_guitar_harm).
*Fixed problems with the image sequence function where the colors were incorrect and the images didn't reflect the display options in use (ie. full screen 3D).
*Added a "File>Display>Benchmark image sequence" function that tests the render speed of EOF for the current project and display settings, allowing the user to easily check the effectiveness of different customizations or build options.
*Updated to Allegro 4.4.2. This version of Allegro reportedly fixes the annoying bug with the Tab key acting like it is held down when ALT+Tabbing EOF back into the foreground.
*Added functions to Note>Drum to mark yellow, blue or green cymbal notes as being both cymbals and toms simultaneously, for future use in Phase Shift. Such cymbal notes will render as having a black hole in the middle.
*Fixed a bug where if the "3D render bass drum in a lane" preference was enabled, cymbal notes would 3D render as normal drum notes instead of cymbals.
*Fixed a bug where using "Note>Drum>Mark as non cymbal" wouldn't mark the chart as altered and create an undo state.
*Fixed a bug where the resnap function would incorrectly warn that notes would be combined if they were too close to notes in other difficulties.
*Changed fixup logic to not automatically deselect the selected note.
*Fixed a bug where shortening a note could allow it to result in a negative length.
*Added the ability to author accent drum note status using the Note>Drum>Accent submenus, for use in Guitar Hero World Tour authoring.
*Fixed a bug where the note selection would change unexpectedly when performing tasks like changing the grid snap size or using undo/redo.
*Improved the note lengthen function so that if the change is blocked, due to the enforced minimum distance between notes that don't have crazy status, the chart isn't marked as modified.
*Changed the forced HO/PO functions to allow them to be used on open strum notes, for use with GHWT authoring. These statuses will NOT export to the FoF/Phase Shift related MIDI files because they do not support it.
*Added a check during save that will seek to and warn about incorrectly placed time signature changes that don't occur at the beginning of a measure. Such problems will cause some defective behavior in some rhythm games, such as causing incorrect star power durations.
*Improved the dialogs that restrict some characters so that the tab key can again be used to change fields.
*Added a SHIFT+I keyboard shortcut to access "Beat>Time signature>Custom".
*Fixed a bug where erasing the vocal track wouldn't remove the lyric preview and could cause a crash.
*Improved paste logic so that if the paste overlaps the end of the project and beats have to be added to perform the paste, the measure numbering is updated immediately.
*Fixed a bug where SHIFT+click couldn't select a range of notes if the previous note that was selected was at 0 seconds.
*Improved the usage of the time stretch option to be remembered.
*Changed project load to calculate the non floating point beat positions by rounding to the nearest millisecond when the project is storing string representations of beat timings. This might help to avoid rounding errors with beat positions.
*Improved 2D rendering so that notes inside slider phrases have an 'S' notation at the bottom of the piano roll, which will make them more recognizable in cases where the slider phrase is very short.
*Fixed a crash that would occur if selecting a note in one track, changing to a different track that is a pro guitar track and middle clicking on a note without manually selecting that note first. Similar crashes in very specific scenarios may also be resolved.
*Added a "Note>Lyrics>Remove pitch" function.
*Improved the behavior of the paste function in the vocal track so that the pasted lyrics begin at the seek position like they do with instrument tracks.
*Improved the highlighting feature so that toggleable highlighting options ("Highlight notes in arpeggios" and "Highlight non grid snapped notes") are individually removable and do not effect the highlighting applied by other operations.
*Improved the audio selection dialog in the new chart wizard (and Feedback import) to also allow WAV files to be selected.
*Improved editor logic so that middle clicking on a lyric selects the lyric and opens the "Edit lyric" dialog for it.
*Added the CTRL+W shortcut key to "Note>Star power>Mark".
*Replaced various uses of single precision floating point with double precision floating point, ie. copy/paste/auto-adjust.
*Improved "Track>Rename" so that it will disallow a track to be given a name that is already in use by another track.
*Added a "Delete w/ lower diffs" function that deletes the selected notes as well as those in lower difficulties that are at the same timestamps as any of the selected notes. This function has been assigned the CTRL+SHIFT+Del shortcut and both it and Note>Delete have been moved into a Note>Delete> submenu.
*Added a "Beat>Events>Place section" function, which has been assigned the SHIFT+E keyboard shortcut, to simplify adding/editing section markers for use in FoF and Phase Shift. This function automatically inserts the specified name into a "[section NAME]" formatted text event. A few event related functions in the Beat menu have been moved into the "Events" submenu.
*Added a "Beat>Copy events" function (which has been assigned the CTRL+SHIFT+C shortcut) that copies the selected beat's visible events (ie. those not assigned to a track other than the active track) to the event clipboard. The "Beat>Rocksmith>Paste phrase/section" function is now "Beat>Paste events" and can be used with both "Beat>Copy events" and "Beat>Rocksmith>Copy phrase/section".
*Fixed a bug where performing undo would delete auto-recovery information.
*Improved the organization of temporary files (undo/redo states, clipboard files, auto-recovery files, etc) to be in a "temp" subfolder of EOF's program folder.
*Updated EOF to launch the new chart wizard if a WAV file is passed as an argument over the command line.
Save/Export:
============
*Improved the lyric export to be able to save lyrics into project folders whose paths contain special characters.
*Added a warning during save if any lyrics have extended ASCII or Unicode characters, as these aren't compatible with various rhythm games.
*Removed the prompt asking the offset to be reset to zero during save, as it was determined to be unnecessary.
*Added save logic to avoid a scenario where EOF cannot detect the presence of the project folder, which generally results from unknown causes external to the editor.
*Added a "Save FoF/Phase Shift files" user preference to specify whether Frets on Fire, FoFiX or Phase Shift related files (notes.mid, song.ini and script.txt) are created during save.
*Improved musical MIDI export to create an additional MIDI formatted to work in the Fretlight M-Player program.
*Changed backup logic so that backup copies of the active project use file names ending in .bak.
*Improved "Save as" function to not warn about overwriting an existing project file if the destination file name is unique.
*Added logic so that a ghwt.array.txt file is written during project save if FoF/Phase Shift export is enabled. This file contains times and codes used to try to create drum animations for Guitar Hero World Tour charts.
*Added a new GHWT related MIDI file that is created during save that 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.
*Added a "RBN export slider as HOPO" preference that will export notes in slider phrases as forced HOPO notes when writing the RBN and C3 MIDI files.
*Updated the save function to write a simplified lyrics file (lyrics.txt) if the Lyrics option in Song>Properties is checked.
*Improved lyric export to add handling for there being an empty lyric line (depending on the lyric format being exported) as the last line of lyrics in a project.
Imports:
========
*Added the ability to import a Rocksmith XML file, Guitar Pro file or Go PlayAlong file via the command line or when no project is already open. EOF will prompt which pro guitar/bass track to import the content to.
*Fixed memory leaks in Rocksmith import and musical MIDI export.
*Corrected memory and resource leaks that could occur during a failed Feedback, Guitar Pro, Rocksmith or lyric import.
*Fixed memory leaks that would occur if a file failed to be opened over the command line.
---------
FEEDBACK:
---------
*Changed Feedback import so that notes closer than 11/128 measure are given forced HOPO notation. If the unofficial "N 5 #" notation is applied to a note, that note's forced HOPO notation is inverted. Notes that aren't forced to be HOPOs are forced to be strummed, resulting in a more accurate chart.
*Fixed a rounding error in Feedback import that could cause note positions to round down instead of up to the nearest millisecond where appropriate.
*Changed Feedback import so that if a star power phrase ends on a beat marker, it is shortened by 2 chart ticks under the likely assumption that the chart was misauthored and intended to not mark a note at the beginning of that beat.
*Improved Feedback import to recognize the unofficial "N 6 #" tapping notation and to create slider phrases to define such notes.
*Fixed a bug where the target song folder for the new project created during Feedback import might not be correctly set to reflect the imported file's location.
*Added a "dB import drops mid beat tempos" preference that removes beats that were added to compensate for mid-beat tempo changes during Feedback import.
*Improved Feedback import to support the unofficial "E *" toggle HOPO notation.
*Improved Feedback import to convert 5 lane chords to open strum notes.
---
GP:
---
*Improved GP import's handling of slide direction detection. GP3 files' slide notation will no longer cause the following note to be removed, since GP3's format defines slides in a more ambiguous way than GP5.
*Fixed a GP import bug where if a repeated set of measures had one alternate ending defined for one repeat but not the others, too many measures would be skipped looking for the next effective alternate ending.
*Fixed a GP import bug where chords that use a hammer on or pull off technique into the following note could place the technique on the wrong note.
*Improved GP import so that if a tie note uses techniques other than that of the note it's attached to, such as with delayed slides, it will import as a separate note (so that the note and its tie note each retain their techniques) that is linked to the previous note. Strum direction will not be taken into account for this purpose.
*Fixed a bug where the wrong tuning would be imported for a GP file using 7 strings and the thinnest string is dropped from the import.
*Added logic to GP import to correct note duration errors, as Guitar Pro can incorrectly write empty measures as an empty whole rest, even when the time signature isn't 4/4.
*Fixed a bug where the "GP import nat. harmonics only" preference did not work correctly.
*Updated GP import so that artificial and tapped harmonic notes import as pinch harmonic notes, which is more accurate than having them import as natural harmonic notes.
*Improved Guitar Pro import so that bend points are correctly interpreted on a per-string basis as they are defined in Guitar Pro.
*Fixed a rounding error of bend points during GP import, instances of which would only manifest itself depending on the beat map.
*Fixed a GP import bug that could cause pull offs to be interpreted as hammer ons.
*Improved GP import to not apply bend status to entire chords when only some of the chord's strings are bent.
*Improved GP import so that notes that are palm muted or fully string muted lose their sustain.
*Improved GP import to summarize a bend note's height from its first bent point if the summarized height itself is not defined.
*Fixed a GP import bug that caused a note that starts at the time a trill or tremolo note ends to incorrectly be included in the tremolo phrase.
*Fixed a GP import bug that could cause tremolo status to not import correctly when importing a GP track into the active track difficulty and another difficulty has any trill/tremolo phrases overlapping those in the imported GP track.
*Potentially fixed a GP import issue where math rounding errors may cause the "GP import truncates short notes" preference to incorrectly truncate quarter notes in the right conditions.
*Improved Guitar Pro import to offer to change the active track's arrangement type from bass to non-bass or vice-versa if that would be appropriate for the GP track being imported.
*Improved GP import to drop bend points from the end of a bend if they are the same height as the last bend height change in the note, since such bend points just add clutter and too many close bend points can cause Rocksmith to crash.
*Improved GP import dialog to automatically close after a track is imported.
*Improved GP import to handle grace notes.
*Improved GP import to drop the sustain for staccato notes if the "GP import truncates short notes" preference is enabled and the notes in question don't have any techniques that would require the sustain to be kept.
*Improved GP import to drop string muted notes that are combined with non string muted notes, since Rocksmith's detection of muted notes in chords is poor and Rock Band 3 won't display mixed muting chords correctly.
*Fixed a GP import bug where tie notes that begin at different positions and overlap each other can end up using incorrect fret values.
*Improved GP import to keep the notes that follow a legato slide and link it to sliding note, to more accurately display how to play it in Rocksmith.
*Corrected GP import logic for slides in GP4 and older formats.
*Improved GP import to support triplet feel notation.
*Fixed crashes that could occur during GP import.
*Fixed a GP import bug where slide notation may not be imported in some circumstances.
*Added a "GP import truncates short chords" preference that works the same as "GP import truncates short notes", except that the latter now only applies to single notes.
*Improved the handling of alternate endings during the import of Guitar Pro 4 files.
*Fixed the handling of tie notes that overlap normal notes in GP import.
*Added handling to GP import so that EOF wouldn't crash when parsing on-beat grace notes that are attached to invalid tie notes (ie. those that don't come after any other notes on the string).
*Fixed a bug with GP import where the beat timings weren't adjusted to reflect imported time signature changes before the note timings were calculated.
*Adds special triplet feel handling to GP import to account for dotted notes that combine with the next note to create triplet feel timing.
*Improved the logic that marks notes with crazy status after MIDI and GP imports to avoid applying the status to notes that don't overlap others by at least two milliseconds.
*Improved GP import so that if any difficulty-specific tremolo phrases are imported (occurs when the "GP import replaces active track" preference is disabled), EOF offers to remove the difficulty limit to reveal these phrases.
*Fixed a GP import bug where tie notes in 7 string guitar tracks might not be imported correctly.
*Improved GP import to properly handle "on the beat" grace notes and to honor the "GP import truncates short notes" preference for the sustain for imported grace notes.
----
GPA:
----
*Added handling to GPA import so that sync points that are out of chronological are ignored and the import is allowed to continue.
*Improved GPA import to support fractional numbers that are defined with as many as 40 characters.
-----
MIDI:
-----
*Fixed a MIDI import bug where beat lengths were calculated incorrectly in non #/4 time meter, leading to errors in the beat map.
*Improved MIDI import to recognize drum animations in Guitar Hero 1 and 2 MIDIs and convert them to drum notes where applicable. Guitar Hero drum animations weren't authored as accurately as actual drum charts, but they are a good starting point.
---
RS:
---
*Improved RS import to load capo placement, tone changes and bend tech notes.
*Improved RS import to load linknext, accent, mute, pinchharmonic, slideunpitchto, tap and vibrato single note techniques.
*Improved RS import to recognize string mute and palm mute chord technique.
*Improved RS import to take the capo into account when processing anchors.
*Improved RS import to support creating arpeggio and handshape phrases.
*Improved RS import to support creating handshape phrases for handshape tags that include any single notes.
------
LYRIC:
------
*Improved UltraStar import to skip the Byte Order Mark (BOM, a Unicode encoding mechanism) if one is present at the beginning of the imported file. Previously the presence of the BOM would cause the import to fail.
*Improved LRC/ELRC lyric import (FoFLC) to allow the hundredths timing field to contain a third digit, in which case it will be interpreted as defining the field in milliseconds.
BANDFUSE:
=========
*Added the ability to import Bandfuse chart files via the "File>Bandfuse Import" function or over the command line.
*Added initial Bandfuse XML export logic, which is enabled with the "Save separate Bandfuse files" option in File>Preferences.
Audio:
======
*Added another OGG encoding quality option when converting an MP3 to an OGG file in EOF. 320kbps is just an estimate however, as this setting is given to the command line OGG encoder as the highest available quality, and the resulting OGG file can end up using a data rate higher than 320kbps.
*Fixed a bug where when an MP3 is converted to OGG format in the new chart wizard, the "original.mp3" copy of the source file is not correctly placed in the project folder.
*Added additional error handling and logging when adding leading silence to a project whose chart audio was created from an MP3 file and it is still present in the project folder (as original.mp3).
*Added a check to the leading silence function so that if the resulting audio is found to be shorter than it was before (the stream or re-encode failed), EOF will offer to undo the operation.
*Improved the new chart wizard so that if an OGG file is selected as the chart audio, it will read the year if it is stored in the "DATE" vorbis comment (some audio editors like Audacity store the year information this way).
*Improved "Song>Create preview audio" to store the start and end times of the preview as INI tags (preview_start_time and preview_end_time) in the project. Phase Shift currently supports using that start tag. If chart audio is loaded, EOF will offer to create preview audio files using the given time range of the audio. Subsequent calls to this function will read existing start and time stamps from the INI settings and use them to fill out the input fields.
Pro guitar:
===========
*Fixed a bug where the option to ignore the tuning/capo setting couldn't be disabled.
*Improved the set tuning dialog so that if a drop tuning is specified, EOF offers to turn off the option to ignore the tuning so that chord name lookups will be correct. EOF will automatically disable that option when importing a track from a Guitar Pro file that is in a drop tuning.
*Increased the fret limit on automated and manually placed fret hand positions. If Rocksmith 2 export is enabled, and neither Rock Band or Rocksmith 1 export are, EOF will allow a fret hand position of 21, which is the highest position supported in Rocksmith 2.
*Improved the tab notation to display the bend symbol in parentheses if any bend tech notes are applied to the note.
*Improved the "Tone change>Add" function to edit the existing tone change instead of creating an overlapping one, if a tone change already exists at the current seek position.
*Fixed a bug where the "Set bend strength" input field wasn't properly cleared when the function is used in tech view.
*Added functions to a Note>Rocksmith>Handshape menu to mark a "handshape" phrase, which will export to RS2 XML similarly to arpeggios, but without the "-arp" on the chord name, so it can be made to look like a highlighted chord section with no chord name. Unlike arpeggio phrases, chords inside of handshape phrases are not split up into single notes, although they will be if marked with "split" status. The first chord in a handshape is explicitly exported as low density (chord box) unless marked with the new "hi dens" status. Other chords in the handshape export as high density as normal unless there's a chord change or the chord is marked with crazy status. The keyboard shortcut assigned to mark/unmark this phrase type is CTRL+SHIFT+H, and toggle pinch harmonic's shortcut has been changed to SHIFT+H.
*Added functions to the Note>Rocksmith menu to remove or toggle linknext status. The toggle function can be invoked with the SHIFT+N keyboard shortcut.
*Improved fixup logic so that when two sliding pro guitar notes merge into a chord, the pitched/unpitched slide end position of the one using the lowest string is kept and the fingering of each note is correctly kept.
*Added a check during save that warns if any notes bend more than 3 half steps, since Rocksmith doesn't support this.
*Improved fret hand position generation to place FHP changes at the end of note slides if applicable.
*Added logic to remove the possibility of overlapping arpeggio phrases.
*Fixed a bug where EOF could remove too many beats from the project when performing certain operations in tech view, such as paste.
*Fixed a bug where arpeggio phrases that were in different difficulties of the same track at overlapping times would be combined.
*Fixed a bug where the base chord for an arpeggio might not be created in certain conditions.
*Added a function to remove crazy status from selected notes and moved it and the toggle crazy function into a "Note>Crazy" submenu.
*Improved the toggle crazy function to cancel (not cause the chart to be marked as modified) if no selected notes actually had crazy status removed (ie. they are all forced to retain that status, such as if they are all inside an arpeggio phrase).
*Fixed a bug where ghost and hammer on pro guitar statuses weren't allowed to be used on a note simultaneously.
*Added a check to the "edit pro guitar note" and "edit frets/fingering" dialogs so that if a fret value provided exceeds the track's fret limit, EOF offers to increase the limit.
*Added a Bandfuse color set, which 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.
*Added a "Ghost notes trigger clap" option to "Song>Audio cues". Ghost notes will no longer trigger the MIDI tones sound cue or export to musical MIDI files.
*Changed fret hand position generation logic so that a position is generated for the note at the beginning of each arpeggio/handshape phrase, but not for the other notes within those phrases.
*Fixed a bug with "Flatten this difficulty" where the project would not be marked as modified if no notes were changed, but if other items such as fret hand positions were.
*Improved error handling of fret hand position generation.
*Fixed a bug where downward pitched/unpitched slides could have the wrong end of slide position set if the lowest used string had a higher fret value than other strings.
*Fixed bugs where "erase track" and "erase track difficulty" would not work if tech notes were present but no normal notes were, and tech view wasn't in effect.
*Fixed a bug with the "Edit frets/fingering" dialog where setting a string to be muted would cause EOF to incorrectly ask to set a high fret limit for the track.
*Added a warning during save if any errors with a slide's end fret number are found.
*Added a "Note>Rocksmith>Remove FHPs" function that deletes all fret hand positions between the positions of the first and last selected notes in the active track.
*Added a new "Ghost handshape" mechanism accessible in the "Edit pro guitar note" dialog that causes a chord with ghosted and non-ghosted gems to export to RS2 XML so that its handshape tag reflects all its gems including ghost ones while the chord tag only reflects non-ghosted gems.
*Changed chord name lookup logic to examine defined fret values for string muted gems in chords, to avoid problems where names for otherwise matching chords could be made blank in Rocksmith.
*Improved paste logic so that arpeggio and handshape phrases are created as appropriate if the copied notes still have those phrases authored during paste.
*Added an "Offer to auto complete fingering" preference allowing this feature to be disabled.
*Improved "Precise select like" to also compare notes' ghost gems.
*Added a new "Hi Dens" pro guitar note status that causes RS2 export to treat chords with this status so that they export as high density chords (repeat lines), pending this new capability from the Rocksmith Toolkit.
*Changed FHP generation so that the effective FHP is placed at the beginning of a new phrase instead of at that phrase's first note. This should avoid strange anchor behavior in songs with dynamic difficulty.
*Added a new "Split" pro guitar status that causes the note to RS2 export as single notes instead of as a chord.
*Improved FHP generation to prevent a fret hand position change being placed at a repeated note/chord.
*Improved FHP generation to prevent adding redundant changes setting the position already in effect. The effective position is still placed again at the beginning of each RS phrase as intended.
*Fixed a bug where allowing EOF to transpose the guitar notes affected by a tuning change when tech view was in effect would cause tech notes to be altered instead of the normal notes.
*Improved the tuning change transpose logic to offer to update pitched and unpitched slide ending positions.
*Moved the "Highlight notes in arpeggios" function to "Song>Pro Guitar" and added it as an option that is stored into the project during save.
*Changed the behavior of the logic that reads the pro guitar/bass tunings from song.ini. These values will not override those in the project when a project is loaded, as Rocksmith supports 4 or 6 string counts to be authored in either track type.
*Improved the auto-adjust feature by forcing all grid snapped tech notes to resnap to their correct position after notes are adjusted.
*Fixed a crash that could occur when deleting tech notes.
*Improved technique phrase (ie. handshape, tremolo, arpeggio) marking so that even if a note has linknext status, both it and the note it links to can be put into separate phrases.
1.8RC10 (Mon May 12, 2014)
{spoiler}*Fixed a bug where changing tracks while tech view was enabled could cause some types of phrases to be removed from the track.
*Fixed a bug where the "Note>Remove statuses" function didn't remove ignore or sustain pro guitar statuses.
*Fixed a bug where linkNext status used with chords could cause RS2 export to fail.
*Improved RS2 export to support sustain tech notes.
*Fixed a crash that could occur when performing a chord name lookup on a fully string muted chord.
*Updated the "Correct chord fingering" function to alter the regular notes instead of tech notes.
*Disabled the ability to apply fret or finger definitions for tech notes, since they don't use those values.
*Fixed a bug where tech view wasn't disabled when importing a Guitar Pro track, which would cause the import to malfunction.
*Updated Guitar Pro import to create tech notes for any complex bends defined in the imported track.
*Improved GP import to ignore section markers with no name instead of importing them as text events.
*Improved handling of linkNext tech notes so that they will cause a chord that follows to be exported as single notes, just as when normal notes have linkNext status applied.
*Changed GP import logic so that whether a tremolo phrase imports to be specific to the active track difficulty depends on if the "GP import replaces active track" preference is disabled or if the track's difficulty limit has been removed. If either of those conditions is true, the tremolo phrase is made difficulty specific (Rocksmith style tremolo authoring) and will only be visible when the track difficulty limit is not in effect. Otherwise the phrase applies to all track difficulties (Rock Band 3 style tremolo authoring).
*Added a new "stop" status that can be applied to tech notes. A stop tech note defines the end position of the affected string of the note it overlaps, allowing you to author chords with notes that have different lengths. If the stop tech note is at the start position of the note it affects, that note is exported with no sustain.
*Updated MIDI tones to take the track's capo placement into account.
*Added the ability to open the "Edit pro guitar note" dialog by clicking the middle mouse button (ie. scroll wheel). If no notes are selected, the dialog is opened for the currently moused-over note if any.
*Fixed a bug where operations that move all notes (ie. add leading silence, changing the midi delay or first beat position) would cause non pro guitar notes and lyrics to move twice as far as they should.
*Fixed a bug where notes with linknext status couldn't extend beyond the next note even when crazy status was in use.
*Fixed some problems with how linknext and crazy statuses interact with each other and with tech notes.
*Fixed a GP import bug that could cause alternate endings to not import.
*Improved the "Edit bend strength" dialog to start with the input focus on the bend strength field.
*Improved the "Seek to beat/measure" dialog to empty the number field when launched and fixed a minor issue where escape may have to be pressed multiple times to cancel the dialog.
*Fixed a bug where tempo changes that lead to some of the chart running past the end of the chart audio caused such content to get removed from the project.
*Fixed a bug with RS2 export where linknext status didn't force chordnotes to keep their chord's defined sustain length unless the chordnote also had bend or slide status.
*Fixed a bug where keyboard input from various dialog windows or prompts could leak and activate other keyboard shortcuts after the dialog was closed.
*Fixed a crash that would occur if a track had more tech notes than regular notes.
*Fixed a bug where auto-adjust would lose the manually defined name of affected notes and the text of lyric entries. As a side effect, this would cause pitchless lyrics to be deleted because a lyric with both no text and no pitch is discarded.
*Fixed bugs with Feedback input mode where the "edit pro guitar note" and "edit frets/fingering" dialogs couldn't be launched for the note at the seek position without explicitly selecting the note first.
*Fixed a bug with Feedback import where if a note began at the same position as a section (ie. star power phrase), it could combine with the previous note instead of being imported as a separate note.
*Altered Rocksmith import to reflect changes to how the toolkit unpacks Rocksmith 2014 songs (timestamps not padded to 3 decimal places, count attributes omitted).
*Removed handling of popup messages for RS2 export, since they aren't supported in that game.
*Fixed a bug where the use of the second piano roll prevented tech view from working.
*Changed the "Use dB style seek controls" preference so that the left/right arrows perform seek by grid snap and the up/down keys perform the normal transpose functions.
*Changed the border color (in the editor window) for selected star power notes to be red, which contrasts better against silver than white does.
*Improved the paste functions so that the chart will lengthen if necessary to perform the paste.
*Fixed a bug where clicking and dragging beats so that notes go over what was the previously the end of the chart would cause the notes to be deleted, now the chart's length is extended to retain the notes at their new positions.
*Improved error handling with Rocksmith lyric import.
*Updated Guitar Pro import to recognize when the selected XML file is a Rocksmith XML file rebuilt by the toolkit, which omits the XML declaration tag.
*Improved GP import by allowing two consecutive bend points of the same strength to be imported instead of just the first of them.
*Fixed a bug where the "Track>Rocksmith>Fret hand positions>Generate all diffs" function didn't correctly create undo states.
*Fixed bugs that would occur if tech view was enabled for a track: Manually or automatically generated fret hand positions would be incorrect, the exported MIDI wouldn't contain the right notes.
*Added a quick save function to the File menu. This saves the project without all of the prompts and warnings that the Save and Save as functions present. The CTRL+Q shortcut has been assigned to this function.
*Added a function (Track>Rocksmith>Fret hand positions>Delete effective) that deletes the fret hand position in effect at the current seek position, if there is any. This function is assigned the SHIFT+Del shortcut.
*Improved the fret hand positions display preference by having it also draw a red line across the fret board to indicate its position, so it's easier to tell whether or not they line up exactly with notes.
*Changed the "Track>Pro guitar>Ignore tuning/capo" option to be enabled by default for pro guitar/bass tracks in new projects.
*Improved the labeling of difficulty tabs to display (*) if tech notes are present in the track difficulty but are hidden from display because tech view is not enabled.
*Improved the populated indicator for the tracks in Song>Track, which will now display an asterisk when the track has no normal notes but has one or more tech notes.
*Added a function (Note>Rocksmith>Generate FHPs) that generates fret hand positions for the selected notes, removing only the existing fret hand positions that already exist anywhere within that range of notes in the active track difficulty.
*Added cleanup logic that should prevent EOF from having multiple fret hand positions at the same timestamp of the same track difficulty.
*Resolved a crash that could occur if EOF leaves foreground focus (ie. you use ALT+Tab or click outside of EOF) during time stretched playback.
*Added logic to GPA import to handle the special case of the first measure not having been synchronized in Go PlayAlong. If the tablature is synchronized in a way where one or more beats are positioned with a negative timestamp (are before the start of the audio), those beats are omitted from import. This cannot be avoided if you synchronized the file this way, but the worst side effect would be that the imported notes won't begin at the same measure as notated in the original GP file.
*Improved the "Check fret hand positions" function so that repeated instances of warnings that can be displayed more than once can be suppressed by clicking the "Ignore" option.
*Improved playback so that if you use the left arrow or home keys to seek to the beginning of the chart while the chart is playing, the playback speed stays the same as it was.
*Added an "Edit>Grid snap>Display grid lines" function that toggles the display of each grid snap position based on the current grid snap setting. When grid lines are being displayed, any note that isn't at a grid snap position will have its vertical line rendered in red instead of gray, making it obvious that it doesn't line up with a grid line. In addition to the beat marker arrows, beat lines will also now render in green if the mouse is hovered over the arrow.
*Added a "File>Display>Redraw" function that will rebuild the EOF window in unusual cases where it stops updating, such as if you leave it running after a Remote Desktop session. The SHIFT+F5 keyboard shortcut has been assigned to this function.
*Added functions to the "Note>Rocksmith" menu to toggle or remove the "ignore" status for selected notes.
*Improved the "Note>Resnap" function to warn if notes will be combined at the same position before it happens, so that the operation can be stopped.
*Fixed a bug with one of the fret hand position checks that wouldn't work correctly if a note was fret hand muted.
*Improved RS2 export so that string muted notes in a chord can be displayed with their defined fingering.
*Improved RS exports so that each unique fingering for a chord will be exported appropriately.
*Improved the "Edit frets/fingering" dialog so that the fret value, finger and mute status can each be defined individually for each string in a note.
*Fixed a bug with the toggle string mute function that wouldn't set a correct value when removing string mute status from a string muted note that has no defined fret value.
*Improved fret hand position generation so that a user-defined chord shape entry cannot force fret hand position changes to occur on single notes.
*Fixed a bug with the Song Properties dialog where the loading text preview didn't update when typing into the loading text field.
*Scanned EOF's code with Coverity and made various changes to resolve issues it identified. Various possible buffer overflows, out of bounds accesses, resource leaks and other bugs have been fixed.
*Changed the behavior of the "Erase overlapped pasted notes" preference so that only notes that start within the pasted notes' range are deleted.
*Fixed a bug where the Song>Seek>Bookmark menu was always disabled.
*Added support for the unofficial "N 5 #" forced HOPO notation to Feedback import.
*Added a check so that if EOF is unable to delete the Rocksmith WAV file after relevant chart modifications, a warning is displayed.
*Added a function (Song>Highlight non grid snapped notes) that will highlight notes that aren't on any grid snap position, indicating they may need to be manually moved/resnapped. If a custom grid snap value is in effect, its positions are also checked. The highlighting updates when notes are moved/resnapped or the grid snap value in use changes to/from a custom setting.
*Fixed a bug where if the BPM Change function auto-adjusted notes beyond what was previously the end of the chart, the notes were deleted.
*Improved the Seek prev/next anchor functions so that they are available even when grid snap is enabled, the menu will just remove the shortcuts, which are assigned to prev/next grid snap when grid snap is enabled.
*Fixed a bug with GP import where the notes at the end of legato slides weren't removed as they should be.
*Fixed timing rounding errors in the beat click and drag logic.
*Improved the auto-adjust feature by forcing all grid snapped notes to resnap to their correct position after notes are adjusted. This should reduce note timing loss when clicking and dragging beats.
*Improved the project format by storing double floating point precision timings for each beat, which should reduce beat timing loss involved with opening and saving a project.
*Added handling to GP import so that if any of the GP file's tracks has 7 strings, EOF will allow you to choose whether the high or the low string is dropped.
*Improved the "Reset BPM" function so that it will offer to auto adjust any existing notes so that affected notes will remain grid snapped after the operation is completed.
*Fixed a bug where tech view could become disabled when the MIDI file was created during save.
*Fixed memory leaks that could occur if MIDI export fails.
*Added a "Save separate musical MIDI file" preference, which will cause EOF to write a "notes_music.mid" file during save. This MIDI 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. 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.
*Corrected the handling of tech notes (ie. complex bend definitions) during the unwrapping process in GP import.
*Added an option to "Song>Audio cues" allowing the option to not have fully string muted notes trigger the clap sound cue.
*Fixed a bug that prevented the 5 lane drums and open strum track options from working (non pro guitar tracks).
*Fixed a GP import bug where the track's fret limit might not increase to reflect the imported tablature.
*Fixed a bug where the "Note>Remove statuses" function didn't remove ignore or sustain pro guitar statuses.
*Fixed a bug where linkNext status used with chords could cause RS2 export to fail.
*Improved RS2 export to support sustain tech notes.
*Fixed a crash that could occur when performing a chord name lookup on a fully string muted chord.
*Updated the "Correct chord fingering" function to alter the regular notes instead of tech notes.
*Disabled the ability to apply fret or finger definitions for tech notes, since they don't use those values.
*Fixed a bug where tech view wasn't disabled when importing a Guitar Pro track, which would cause the import to malfunction.
*Updated Guitar Pro import to create tech notes for any complex bends defined in the imported track.
*Improved GP import to ignore section markers with no name instead of importing them as text events.
*Improved handling of linkNext tech notes so that they will cause a chord that follows to be exported as single notes, just as when normal notes have linkNext status applied.
*Changed GP import logic so that whether a tremolo phrase imports to be specific to the active track difficulty depends on if the "GP import replaces active track" preference is disabled or if the track's difficulty limit has been removed. If either of those conditions is true, the tremolo phrase is made difficulty specific (Rocksmith style tremolo authoring) and will only be visible when the track difficulty limit is not in effect. Otherwise the phrase applies to all track difficulties (Rock Band 3 style tremolo authoring).
*Added a new "stop" status that can be applied to tech notes. A stop tech note defines the end position of the affected string of the note it overlaps, allowing you to author chords with notes that have different lengths. If the stop tech note is at the start position of the note it affects, that note is exported with no sustain.
*Updated MIDI tones to take the track's capo placement into account.
*Added the ability to open the "Edit pro guitar note" dialog by clicking the middle mouse button (ie. scroll wheel). If no notes are selected, the dialog is opened for the currently moused-over note if any.
*Fixed a bug where operations that move all notes (ie. add leading silence, changing the midi delay or first beat position) would cause non pro guitar notes and lyrics to move twice as far as they should.
*Fixed a bug where notes with linknext status couldn't extend beyond the next note even when crazy status was in use.
*Fixed some problems with how linknext and crazy statuses interact with each other and with tech notes.
*Fixed a GP import bug that could cause alternate endings to not import.
*Improved the "Edit bend strength" dialog to start with the input focus on the bend strength field.
*Improved the "Seek to beat/measure" dialog to empty the number field when launched and fixed a minor issue where escape may have to be pressed multiple times to cancel the dialog.
*Fixed a bug where tempo changes that lead to some of the chart running past the end of the chart audio caused such content to get removed from the project.
*Fixed a bug with RS2 export where linknext status didn't force chordnotes to keep their chord's defined sustain length unless the chordnote also had bend or slide status.
*Fixed a bug where keyboard input from various dialog windows or prompts could leak and activate other keyboard shortcuts after the dialog was closed.
*Fixed a crash that would occur if a track had more tech notes than regular notes.
*Fixed a bug where auto-adjust would lose the manually defined name of affected notes and the text of lyric entries. As a side effect, this would cause pitchless lyrics to be deleted because a lyric with both no text and no pitch is discarded.
*Fixed bugs with Feedback input mode where the "edit pro guitar note" and "edit frets/fingering" dialogs couldn't be launched for the note at the seek position without explicitly selecting the note first.
*Fixed a bug with Feedback import where if a note began at the same position as a section (ie. star power phrase), it could combine with the previous note instead of being imported as a separate note.
*Altered Rocksmith import to reflect changes to how the toolkit unpacks Rocksmith 2014 songs (timestamps not padded to 3 decimal places, count attributes omitted).
*Removed handling of popup messages for RS2 export, since they aren't supported in that game.
*Fixed a bug where the use of the second piano roll prevented tech view from working.
*Changed the "Use dB style seek controls" preference so that the left/right arrows perform seek by grid snap and the up/down keys perform the normal transpose functions.
*Changed the border color (in the editor window) for selected star power notes to be red, which contrasts better against silver than white does.
*Improved the paste functions so that the chart will lengthen if necessary to perform the paste.
*Fixed a bug where clicking and dragging beats so that notes go over what was the previously the end of the chart would cause the notes to be deleted, now the chart's length is extended to retain the notes at their new positions.
*Improved error handling with Rocksmith lyric import.
*Updated Guitar Pro import to recognize when the selected XML file is a Rocksmith XML file rebuilt by the toolkit, which omits the XML declaration tag.
*Improved GP import by allowing two consecutive bend points of the same strength to be imported instead of just the first of them.
*Fixed a bug where the "Track>Rocksmith>Fret hand positions>Generate all diffs" function didn't correctly create undo states.
*Fixed bugs that would occur if tech view was enabled for a track: Manually or automatically generated fret hand positions would be incorrect, the exported MIDI wouldn't contain the right notes.
*Added a quick save function to the File menu. This saves the project without all of the prompts and warnings that the Save and Save as functions present. The CTRL+Q shortcut has been assigned to this function.
*Added a function (Track>Rocksmith>Fret hand positions>Delete effective) that deletes the fret hand position in effect at the current seek position, if there is any. This function is assigned the SHIFT+Del shortcut.
*Improved the fret hand positions display preference by having it also draw a red line across the fret board to indicate its position, so it's easier to tell whether or not they line up exactly with notes.
*Changed the "Track>Pro guitar>Ignore tuning/capo" option to be enabled by default for pro guitar/bass tracks in new projects.
*Improved the labeling of difficulty tabs to display (*) if tech notes are present in the track difficulty but are hidden from display because tech view is not enabled.
*Improved the populated indicator for the tracks in Song>Track, which will now display an asterisk when the track has no normal notes but has one or more tech notes.
*Added a function (Note>Rocksmith>Generate FHPs) that generates fret hand positions for the selected notes, removing only the existing fret hand positions that already exist anywhere within that range of notes in the active track difficulty.
*Added cleanup logic that should prevent EOF from having multiple fret hand positions at the same timestamp of the same track difficulty.
*Resolved a crash that could occur if EOF leaves foreground focus (ie. you use ALT+Tab or click outside of EOF) during time stretched playback.
*Added logic to GPA import to handle the special case of the first measure not having been synchronized in Go PlayAlong. If the tablature is synchronized in a way where one or more beats are positioned with a negative timestamp (are before the start of the audio), those beats are omitted from import. This cannot be avoided if you synchronized the file this way, but the worst side effect would be that the imported notes won't begin at the same measure as notated in the original GP file.
*Improved the "Check fret hand positions" function so that repeated instances of warnings that can be displayed more than once can be suppressed by clicking the "Ignore" option.
*Improved playback so that if you use the left arrow or home keys to seek to the beginning of the chart while the chart is playing, the playback speed stays the same as it was.
*Added an "Edit>Grid snap>Display grid lines" function that toggles the display of each grid snap position based on the current grid snap setting. When grid lines are being displayed, any note that isn't at a grid snap position will have its vertical line rendered in red instead of gray, making it obvious that it doesn't line up with a grid line. In addition to the beat marker arrows, beat lines will also now render in green if the mouse is hovered over the arrow.
*Added a "File>Display>Redraw" function that will rebuild the EOF window in unusual cases where it stops updating, such as if you leave it running after a Remote Desktop session. The SHIFT+F5 keyboard shortcut has been assigned to this function.
*Added functions to the "Note>Rocksmith" menu to toggle or remove the "ignore" status for selected notes.
*Improved the "Note>Resnap" function to warn if notes will be combined at the same position before it happens, so that the operation can be stopped.
*Fixed a bug with one of the fret hand position checks that wouldn't work correctly if a note was fret hand muted.
*Improved RS2 export so that string muted notes in a chord can be displayed with their defined fingering.
*Improved RS exports so that each unique fingering for a chord will be exported appropriately.
*Improved the "Edit frets/fingering" dialog so that the fret value, finger and mute status can each be defined individually for each string in a note.
*Fixed a bug with the toggle string mute function that wouldn't set a correct value when removing string mute status from a string muted note that has no defined fret value.
*Improved fret hand position generation so that a user-defined chord shape entry cannot force fret hand position changes to occur on single notes.
*Fixed a bug with the Song Properties dialog where the loading text preview didn't update when typing into the loading text field.
*Scanned EOF's code with Coverity and made various changes to resolve issues it identified. Various possible buffer overflows, out of bounds accesses, resource leaks and other bugs have been fixed.
*Changed the behavior of the "Erase overlapped pasted notes" preference so that only notes that start within the pasted notes' range are deleted.
*Fixed a bug where the Song>Seek>Bookmark menu was always disabled.
*Added support for the unofficial "N 5 #" forced HOPO notation to Feedback import.
*Added a check so that if EOF is unable to delete the Rocksmith WAV file after relevant chart modifications, a warning is displayed.
*Added a function (Song>Highlight non grid snapped notes) that will highlight notes that aren't on any grid snap position, indicating they may need to be manually moved/resnapped. If a custom grid snap value is in effect, its positions are also checked. The highlighting updates when notes are moved/resnapped or the grid snap value in use changes to/from a custom setting.
*Fixed a bug where if the BPM Change function auto-adjusted notes beyond what was previously the end of the chart, the notes were deleted.
*Improved the Seek prev/next anchor functions so that they are available even when grid snap is enabled, the menu will just remove the shortcuts, which are assigned to prev/next grid snap when grid snap is enabled.
*Fixed a bug with GP import where the notes at the end of legato slides weren't removed as they should be.
*Fixed timing rounding errors in the beat click and drag logic.
*Improved the auto-adjust feature by forcing all grid snapped notes to resnap to their correct position after notes are adjusted. This should reduce note timing loss when clicking and dragging beats.
*Improved the project format by storing double floating point precision timings for each beat, which should reduce beat timing loss involved with opening and saving a project.
*Added handling to GP import so that if any of the GP file's tracks has 7 strings, EOF will allow you to choose whether the high or the low string is dropped.
*Improved the "Reset BPM" function so that it will offer to auto adjust any existing notes so that affected notes will remain grid snapped after the operation is completed.
*Fixed a bug where tech view could become disabled when the MIDI file was created during save.
*Fixed memory leaks that could occur if MIDI export fails.
*Added a "Save separate musical MIDI file" preference, which will cause EOF to write a "notes_music.mid" file during save. This MIDI 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. 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.
*Corrected the handling of tech notes (ie. complex bend definitions) during the unwrapping process in GP import.
*Added an option to "Song>Audio cues" allowing the option to not have fully string muted notes trigger the clap sound cue.
*Fixed a bug that prevented the 5 lane drums and open strum track options from working (non pro guitar tracks).
*Fixed a GP import bug where the track's fret limit might not increase to reflect the imported tablature.
1.8RC9 (Wed Feb 26, 2014)
{Spoiler}
*Increased the phrase limit to 1000 as this is needed in some rare cases when people author extremely long charts.
*Corrected the keyboard shortcut given for "Paste from catalog" in the Edit menu.
*Added a new time stretch feature using the rubberband library that uses phase vocoding techniques to allow chart audio to be played back slower than full speed without changing the pitch. This is more processor intensive so you may need to increase your audio buffer (and AV delay) to compensate, but you can disable this feature by unchecking "Edit>Playback rate>Time stretch".
*Added a new "Beat>Estimate BPM" function using the MiniBPM source package. This function estimates the tempo of the current chart audio and offers to apply that tempo to the first beat.
*Added Rocksmith 2014 export logic (enabled with the "Save separate Rocksmith 2 files" preference), which will save arrangements with the same names as the RS1 XML files except that "_RS2" is appended to the filename. String mute, tap, accent, pinch harmonic, vibrato and unpitched slide techniques are added to techniques supported in Rocksmith 1, and chords can export with any technique used by single notes. Arpeggiated chords can be defined in the style of Rock Band 3 and appear with arpeggio notation in-game. In addition, the "linkNext" mechanism allows multiple notes to be combined in-game, to author complicated notes such as a sustain that ends in a slide. Rocksmith 2014's anchors can have different widths, so EOF automatically determines how wide each anchor needs to be to account for all notes defined up until the next anchor. The anchor error checking logic's warnings have been updated to reflect when they apply to Rocksmith 1 and not Rocksmith 2014 by including "(RS1)" in the message. If RS1 export isn't enabled but RS2 export is, the WAV file created during save does not include 8 seconds of silence appended to the chart audio (since Rocksmith 2 doesn't seem to have this requirement) and some warnings that pertain only to Rocksmith 1 will be skipped. A new "Tech notes" system has been added for authoring complex techniques for Rocksmith 2014. These notes are placed by entering "tech view" with the "Track>Rocksmith>Enable tech view" (which can be activated by pressing F4) and placing "tech notes" on top of the track's regular notes. A tech note effects the individual string of the note it overlaps, meaning that one string in a chord can have techniques that are different from those on the other strings (ie. a chord can have only one string that bends, or can have strings that each slide a different number of strings). When tech view is in effect, tech notes are color coded so that if a tech note begins at the same time as a regular note it renders with blue text on a white background, if it overlaps a regular note it renders with green text or if it does noes overlap (does not affect) any regular notes it renders with red text, if the tech note is selected it renders with white text. As long as the tech note is overlapping a note it isn't required to be at a specific position unless you are defining specialized bend notes. For example, a pre-bend needs to have a tech note with bend status at the start position of the note, so ideally you should ensure that tech note displays with blue text on a white background (you can use the "Note>Rocksmith>Move to prev note" function to move a tech note to the start of whichever note is is immediately before the tech note, if any), and then defines the release as a tech note with a bend strength of 0. Bend notes export to XML reflecting however many tech notes that have bend status, so you could author a note that bends and releases several times before it ends.
*Fixed a typo with the RS1 export of an empty chordTemplates XML tag.
*Fixed a bug with GP import where the import would malfunction if the "GP import nat. harmonics only" preference was enabled and the GP file contained artificial or tapped harmonic notes.
*Fixed a bug with the lyric import where timing conversion could malfunction on a MIDI that defines time signature changes in tracks other than the tempo track.
*Added a "Create preview audio" function to the song menu that exports the specified portion of the chart audio to (songname)_preview.wav and preview.ogg in the project folder. It will default to a 30 second clip beginning from the current seek position, but if a seek selection has been made (Feedback input mode), the default start and stop position in the dialog reflect the selected area of the chart.
*Added logic so that the playback rate can be changed (in increments of 10%) while the chart is playing. Holding CTRL while pressing ; or ' will change the rate in increments of 1% whether or not the chart is playing.
*Fixed a minor issue where the note selection wasn't reset when loading a project.
*Added a confirm option to the "Edit pro guitar note" and "Edit frets/fingering" functions that suppresses the prompt to confirm editing multiple selected notes at once.
*Fixed a bug where the automatic transposing of a track during tuning change wouldn't handle string muted notes correctly.
*Corrected the handling of alternate endings during GP import, which are notated differently between GP4 and GP5 files.
*Corrected a bug with GP import where bend strengths wouldn't import from tie notes.
*Added a keyboard shortcut for "Song>Seek>Beat/Measure" (CTRL+SHIFT+B).
*Updated RS export to include EOF's version string in a comment tag near the beginning of the XML file, for troubleshooting purposes.
*Corrected the fingering for the open D chord shape definition and added 22 miscellaneous chord shape definitions.
*Increased the limit for how many chord templates EOF could parse during RS import from 200 to 400, as dynamic difficulty arrangements can define a large number of them.
*Improved logging for RS import and fixed memory leaks that occurred during a failed import.
*Added a "Track>Rocksmith>Tone changes>Names" function that lists all unique tone names referenced by tone changes in the active track, allowing a tone to be selected as the default tone the track starts with or allowing all instances of a tone name to be renamed. Both the tone changes list and names list show which tone is the track's default tone with a (D) indicator. During save, EOF will warn if the default tone needs to be set or if more than 4 unique tone names (the maximum number supported by Rocksmith 2014) are used in any single track. As long as the default tone name is set and there are at least two different tone names in use for an arrangement, tone changes will be written to the RS2 XML file as appropriate.
*Added a keyboard shortcut for "Track>Rocksmith>Tone changes>Add" (CTRL+SHIFT+T).
*Fixed a bug with RS import where an undo state wouldn't be correctly made if there was a version attribute in the song tag.
*Improved the "string mute" radio button in the edit pro guitar note dialog so that it correctly marks the used strings in the note as being string muted.
*Fixed a bug where using the edit frets/fingering dialog to set all of a note's gems' fingering to X didn't immediately mark the note as being string muted.
*Updated lyric import and export to support RS2014's line break notation (a + character in a lyric's text).
*Updated EOF to allow the vibrato, harmonic and bend pro guitar techniques to be used in combination with any other technique. Harmonic notes will no longer export to MIDI using channel 5 and will instead be denoted with Sysex phrase ID #11. Pinch harmonic notation will be written to MIDI using Sysex phrase ID #12. Bend notes will no longer export to MIDI using channel 2 and will instead be denoted with Sysex phrase ID #13.
*Updated MIDI export to support more techniques used in Rocksmith. Accent notation will be written to MIDI using Sysex phrase ID #14. Bass pop notation will be written to MIDI using Sysex phrase ID #15. Bass slap notation will be written to MIDI using Sysex phrase ID #16.
*Fixed bugs where the erase track and erase track difficulty functions would carry out their function even if you opted not to erase existing notes.
*Updated GP import to import "semi" harmonics as "pinch" harmonics.
*Fixed bugs with RS export that would cause it to malfunction when writing chord templates for chords with ghost notes.
*Added experimental handling to GP import to support multiple alternate endings that use the same measure's end of repeat.
*Improved cleanup logic that occurs when moving notes (ie. click and drag) so that the note selection isn't lost, which would cause notes to be deselected.
*Updated the "3D render RS style chords" preference so that chords that have techniques that display with sustains in Rocksmith 2014 display note tails in the 3D preview window.
*Fixed a bug where editing a note in the "edit pro guitar note" dialog would remove selected notes' bend strengths and slide end fret positions.
*Updated RS export to add enough beats to define the beat timings completing the last populated measure of each track and one beat into the next measure, for improved compatibility with the dynamic difficulty creator.
*Updated the handling of bends to reflect Rocksmith 2014's unit of measurement for bends being quarter steps, ie. EOF will display a quarter step bend as 0.5 half steps below the piano roll. New bends can be defined in increments of quarter or half steps, existing bends will be treated as half step bends as before. GP import has been updated to import bend strengths measured in quarter steps.
*Added the ability to define a capo position for the active track. This will be exported to RS2 XML and will also affect chord names unless you enable the "Track>Pro guitar>Ignore tuning/capo" option. GP import will now track the defined capo position instead of transposing the imported track to not use a capo.
*Added more checking for invalid slides. If a slide or unpitched slide is not valid (ends on the same fret it starts on or is an open note with slide technique), a question mark will be displayed beneath the slide note.
*Improved GP import to support altnernate endings that end at the start of another alternate ending instead of on a repeat marker.
*Fixed a bug where lyric line definitions would be lost if Rocksmith lyric export failed.
*Fixed a bug where sound cues wouldn't sound during playback if the chart audio's sample rate wasn't 44.1KHz.
*Corrected an issue that would occur in Linux only where the locale settings are inherited from the computer. Depending on the locale, this could cause numbers to be written to text format files with commas instead of decimal points.
*Updated RS export to forcibly truncate strings that exceed the limits supported by Rocksmith.
*Updated the automated fingering logic to not fill in fingerings for single notes.
*Add error correction to lyric export so that if a lyric is defined outside of lyric lines, a lyric line is temporarily created to hold the lyric and a warning is logged.
*Fixed a crash that would occur during script or RS lyric exports when one or more lyrics had no text defined.
*Fixed a bug where deleting the active track difficulty would change to another track after performing the operation.
*Fixed bugs with the tuning dialog where the transpose wouldn't alter each string correctly if not changing from default tuning and the wrong tuning was reflected in the undo state.
*Updated RS1 export to resolve a conflict of a slide/bend note also being a pop/slide note by removing slide/bend status from such notes because RS1 does not display pop/slide status if the note is sustained, and will crash if a slide/bend note has no sustain.
*Fixed a bug where song.ini wasn't being backed up if it existed during Feedback import.
*Made multiple changes to the undo/save logic to try to avoid a condition where the project file could be saved into the .backup.eof file instead of the project's regular .eof file.
*Fixed a bug with RS1 export where arpeggios having a base chord with only one non ghosted gem wouldn't have handshapes written to XML.
*Added cleanup logic that runs if RS export is enabled that automatically adds missing ghosted notes at each arpeggio's base note to reflect the notes within the arpeggio phrase.
*Fixed a bug where using the highest possible grid snap interval (64) would cause a note's length to reset to 0 when it reached the next beat or measure.
*Fixed a bug where when a lane 5 drum gem was combined with any other gems, those other gems were automatically removed in the way that open strum guitar notes remove other gems.
*The CTRL+SHIFT+G shortcut has been assigned to the "Note>Pro guitar>Arpeggio>Mark" function. The keyboard shortcuts that alter which strings are affected by shortcuts that set fret numbering have been re-assigned to SHIFT+Numpad #. Song>Catalog>Find previous has been re-assigned to the much more appropriate Shift+F3 shortcut.
*Improved the warning during save about open notes having bend or slide status by having EOF seek to the offending note.
*Improved some of the RS export warnings to only display once per save instead of once per offending track per save.
*Added a check during save that will warn you if an arpeggio phrase doesn't have at least two notes in it.
*Fixed a bug during GP import where if the first beat in a measure had both an RS section and a phrase imported, only one of the two was kept if the track had to be unwrapped (contained repeats, alternate endings, navigational symbols).
*Set a limit of 2000BPM in the "Beat>Set BPM" function since there's no practical reason for even setting it this high, and setting it too high will cause EOF to become unusable depending on how powerful your computer is.
*Improved GP import to load unpitched slide information, ie. \9 imports as an unpitched slide from 10 to 9, 9\ imports as an unpitched slide from 9 to 8. MIDI export will now write unpitched slides as regular up/down slides.
*Improved GP import to attempt to recover corrupted GP files that are hosted by the WebTabPlayer website, which corrupts the file by inserting a Byte Order Mark sequence at the beginning.
*Added keyboard shortcuts for double BPM (CTRL+SHIFT+D) and halve BPM (CTRL+SHIFT+X).
*Added checks during save that will warn when any slide notes don't define their end fret position or bend notes don't define their strength and RS export is enabled.
*Corrected the "Edit note frets/fingering" dialog to accept 0, t or T for the thumb.
*Fixed a bug where "Beat>Time signature>Off" would remove any defined key signature on the selected beat.
*Fixed a bug where "Beat>Reset BPM" would remove any defined time signatures and key signatures.
*Added a "Beat>Time signature>Clear all" function that removes all time signatures from the project.
*Improved the "3D render RS style chords" preference by having the 3D preview display an X on top of repeat lines for chords that are completely string muted.
*Improved GPA import to correct timing errors that can be exported by Go PlayAlong. Go PlayAlong support has accepted the bug report and will hopefully fix their export feature in the future.
*Added handling for a special rule in music theory to GP import where if a time signature occurs in a previous (inactive) alternate ending, it is still expected to be applied to the composition.
*Updated prompts that change the preference for what is displayed at the top of the piano roll to restore the original user preference after the message is closed.
*Added the ability to import beat timings exported from Sonic Visualiser (File>Sonic Visualiser Import). Sonic Visualiser is a program that can, with the first-party "Queen Mary Tempo and Beat Tracker" plugin installed, estimate the position of each beat in the song and save this information as an XML file.
*Fixed a bug with GP import where the correct time signature may not be used if there were different time signatures in effect at the beginning and end of a jump between measures (repeat, navigational symbol, etc).
*Fixed an RS1 export issue where some chords that are authored strangely (ie. has ghost and muted notes but no normal notes) may cause the export to fail.
*Added a "Display seek pos. in seconds" preference that displays the seek position in the Information panel and second counters in the piano roll in seconds instead of minutes:seconds.
*Added more logging and error checking in the leading silence function.
*Fixed a bug with GP5 import where some items like alternate endings could be mis-read in certain circumstances.
*Fixed a bug where accent status could be incorrectly added to some notes during GP import when importing a GP4 or older format of file.
*Fixed a bug where opening the "edit frets/fingers" dialog for a 5 or 6 string pro guitar track and then using it on a track with fewer strings could incorrectly give an "If any fingering is specified, it must be done only for the fretted strings" error.
*Added variant chord lookup definitions reflecting that some chords (min7b6, min6, min6/Maj7, min7, m/Maj7, 6th, 7th, Maj7, 7sus4) often omit the fifth interval.
*Improved chord lookup to return results in a chord's bass note's scale first.
*Added a warning during save if Rocksmith export is enabled and any chords have a defined name that includes parentheses, since this will cause the game to crash/hang.
*Added new keyboad handling logic that should work better for picking up many of the keyboard shortcuts when a non English-US keyboard layout is being used.
*Added a keyboard shortcut for Tremolo/Drum roll mark (CTRL+SHIFT+O).
*Added a "Make note tails clickable" preference that 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.
*Updated auto-adjust logic to handle fret hand positions.
*Improved the "Beat>Reset BPM" function to allow you specify whether tempo changes after the selected beat are removed instead of all tempo changes after the first beat.
*Increased the phrase limit to 1000 as this is needed in some rare cases when people author extremely long charts.
*Corrected the keyboard shortcut given for "Paste from catalog" in the Edit menu.
*Added a new time stretch feature using the rubberband library that uses phase vocoding techniques to allow chart audio to be played back slower than full speed without changing the pitch. This is more processor intensive so you may need to increase your audio buffer (and AV delay) to compensate, but you can disable this feature by unchecking "Edit>Playback rate>Time stretch".
*Added a new "Beat>Estimate BPM" function using the MiniBPM source package. This function estimates the tempo of the current chart audio and offers to apply that tempo to the first beat.
*Added Rocksmith 2014 export logic (enabled with the "Save separate Rocksmith 2 files" preference), which will save arrangements with the same names as the RS1 XML files except that "_RS2" is appended to the filename. String mute, tap, accent, pinch harmonic, vibrato and unpitched slide techniques are added to techniques supported in Rocksmith 1, and chords can export with any technique used by single notes. Arpeggiated chords can be defined in the style of Rock Band 3 and appear with arpeggio notation in-game. In addition, the "linkNext" mechanism allows multiple notes to be combined in-game, to author complicated notes such as a sustain that ends in a slide. Rocksmith 2014's anchors can have different widths, so EOF automatically determines how wide each anchor needs to be to account for all notes defined up until the next anchor. The anchor error checking logic's warnings have been updated to reflect when they apply to Rocksmith 1 and not Rocksmith 2014 by including "(RS1)" in the message. If RS1 export isn't enabled but RS2 export is, the WAV file created during save does not include 8 seconds of silence appended to the chart audio (since Rocksmith 2 doesn't seem to have this requirement) and some warnings that pertain only to Rocksmith 1 will be skipped. A new "Tech notes" system has been added for authoring complex techniques for Rocksmith 2014. These notes are placed by entering "tech view" with the "Track>Rocksmith>Enable tech view" (which can be activated by pressing F4) and placing "tech notes" on top of the track's regular notes. A tech note effects the individual string of the note it overlaps, meaning that one string in a chord can have techniques that are different from those on the other strings (ie. a chord can have only one string that bends, or can have strings that each slide a different number of strings). When tech view is in effect, tech notes are color coded so that if a tech note begins at the same time as a regular note it renders with blue text on a white background, if it overlaps a regular note it renders with green text or if it does noes overlap (does not affect) any regular notes it renders with red text, if the tech note is selected it renders with white text. As long as the tech note is overlapping a note it isn't required to be at a specific position unless you are defining specialized bend notes. For example, a pre-bend needs to have a tech note with bend status at the start position of the note, so ideally you should ensure that tech note displays with blue text on a white background (you can use the "Note>Rocksmith>Move to prev note" function to move a tech note to the start of whichever note is is immediately before the tech note, if any), and then defines the release as a tech note with a bend strength of 0. Bend notes export to XML reflecting however many tech notes that have bend status, so you could author a note that bends and releases several times before it ends.
*Fixed a typo with the RS1 export of an empty chordTemplates XML tag.
*Fixed a bug with GP import where the import would malfunction if the "GP import nat. harmonics only" preference was enabled and the GP file contained artificial or tapped harmonic notes.
*Fixed a bug with the lyric import where timing conversion could malfunction on a MIDI that defines time signature changes in tracks other than the tempo track.
*Added a "Create preview audio" function to the song menu that exports the specified portion of the chart audio to (songname)_preview.wav and preview.ogg in the project folder. It will default to a 30 second clip beginning from the current seek position, but if a seek selection has been made (Feedback input mode), the default start and stop position in the dialog reflect the selected area of the chart.
*Added logic so that the playback rate can be changed (in increments of 10%) while the chart is playing. Holding CTRL while pressing ; or ' will change the rate in increments of 1% whether or not the chart is playing.
*Fixed a minor issue where the note selection wasn't reset when loading a project.
*Added a confirm option to the "Edit pro guitar note" and "Edit frets/fingering" functions that suppresses the prompt to confirm editing multiple selected notes at once.
*Fixed a bug where the automatic transposing of a track during tuning change wouldn't handle string muted notes correctly.
*Corrected the handling of alternate endings during GP import, which are notated differently between GP4 and GP5 files.
*Corrected a bug with GP import where bend strengths wouldn't import from tie notes.
*Added a keyboard shortcut for "Song>Seek>Beat/Measure" (CTRL+SHIFT+B).
*Updated RS export to include EOF's version string in a comment tag near the beginning of the XML file, for troubleshooting purposes.
*Corrected the fingering for the open D chord shape definition and added 22 miscellaneous chord shape definitions.
*Increased the limit for how many chord templates EOF could parse during RS import from 200 to 400, as dynamic difficulty arrangements can define a large number of them.
*Improved logging for RS import and fixed memory leaks that occurred during a failed import.
*Added a "Track>Rocksmith>Tone changes>Names" function that lists all unique tone names referenced by tone changes in the active track, allowing a tone to be selected as the default tone the track starts with or allowing all instances of a tone name to be renamed. Both the tone changes list and names list show which tone is the track's default tone with a (D) indicator. During save, EOF will warn if the default tone needs to be set or if more than 4 unique tone names (the maximum number supported by Rocksmith 2014) are used in any single track. As long as the default tone name is set and there are at least two different tone names in use for an arrangement, tone changes will be written to the RS2 XML file as appropriate.
*Added a keyboard shortcut for "Track>Rocksmith>Tone changes>Add" (CTRL+SHIFT+T).
*Fixed a bug with RS import where an undo state wouldn't be correctly made if there was a version attribute in the song tag.
*Improved the "string mute" radio button in the edit pro guitar note dialog so that it correctly marks the used strings in the note as being string muted.
*Fixed a bug where using the edit frets/fingering dialog to set all of a note's gems' fingering to X didn't immediately mark the note as being string muted.
*Updated lyric import and export to support RS2014's line break notation (a + character in a lyric's text).
*Updated EOF to allow the vibrato, harmonic and bend pro guitar techniques to be used in combination with any other technique. Harmonic notes will no longer export to MIDI using channel 5 and will instead be denoted with Sysex phrase ID #11. Pinch harmonic notation will be written to MIDI using Sysex phrase ID #12. Bend notes will no longer export to MIDI using channel 2 and will instead be denoted with Sysex phrase ID #13.
*Updated MIDI export to support more techniques used in Rocksmith. Accent notation will be written to MIDI using Sysex phrase ID #14. Bass pop notation will be written to MIDI using Sysex phrase ID #15. Bass slap notation will be written to MIDI using Sysex phrase ID #16.
*Fixed bugs where the erase track and erase track difficulty functions would carry out their function even if you opted not to erase existing notes.
*Updated GP import to import "semi" harmonics as "pinch" harmonics.
*Fixed bugs with RS export that would cause it to malfunction when writing chord templates for chords with ghost notes.
*Added experimental handling to GP import to support multiple alternate endings that use the same measure's end of repeat.
*Improved cleanup logic that occurs when moving notes (ie. click and drag) so that the note selection isn't lost, which would cause notes to be deselected.
*Updated the "3D render RS style chords" preference so that chords that have techniques that display with sustains in Rocksmith 2014 display note tails in the 3D preview window.
*Fixed a bug where editing a note in the "edit pro guitar note" dialog would remove selected notes' bend strengths and slide end fret positions.
*Updated RS export to add enough beats to define the beat timings completing the last populated measure of each track and one beat into the next measure, for improved compatibility with the dynamic difficulty creator.
*Updated the handling of bends to reflect Rocksmith 2014's unit of measurement for bends being quarter steps, ie. EOF will display a quarter step bend as 0.5 half steps below the piano roll. New bends can be defined in increments of quarter or half steps, existing bends will be treated as half step bends as before. GP import has been updated to import bend strengths measured in quarter steps.
*Added the ability to define a capo position for the active track. This will be exported to RS2 XML and will also affect chord names unless you enable the "Track>Pro guitar>Ignore tuning/capo" option. GP import will now track the defined capo position instead of transposing the imported track to not use a capo.
*Added more checking for invalid slides. If a slide or unpitched slide is not valid (ends on the same fret it starts on or is an open note with slide technique), a question mark will be displayed beneath the slide note.
*Improved GP import to support altnernate endings that end at the start of another alternate ending instead of on a repeat marker.
*Fixed a bug where lyric line definitions would be lost if Rocksmith lyric export failed.
*Fixed a bug where sound cues wouldn't sound during playback if the chart audio's sample rate wasn't 44.1KHz.
*Corrected an issue that would occur in Linux only where the locale settings are inherited from the computer. Depending on the locale, this could cause numbers to be written to text format files with commas instead of decimal points.
*Updated RS export to forcibly truncate strings that exceed the limits supported by Rocksmith.
*Updated the automated fingering logic to not fill in fingerings for single notes.
*Add error correction to lyric export so that if a lyric is defined outside of lyric lines, a lyric line is temporarily created to hold the lyric and a warning is logged.
*Fixed a crash that would occur during script or RS lyric exports when one or more lyrics had no text defined.
*Fixed a bug where deleting the active track difficulty would change to another track after performing the operation.
*Fixed bugs with the tuning dialog where the transpose wouldn't alter each string correctly if not changing from default tuning and the wrong tuning was reflected in the undo state.
*Updated RS1 export to resolve a conflict of a slide/bend note also being a pop/slide note by removing slide/bend status from such notes because RS1 does not display pop/slide status if the note is sustained, and will crash if a slide/bend note has no sustain.
*Fixed a bug where song.ini wasn't being backed up if it existed during Feedback import.
*Made multiple changes to the undo/save logic to try to avoid a condition where the project file could be saved into the .backup.eof file instead of the project's regular .eof file.
*Fixed a bug with RS1 export where arpeggios having a base chord with only one non ghosted gem wouldn't have handshapes written to XML.
*Added cleanup logic that runs if RS export is enabled that automatically adds missing ghosted notes at each arpeggio's base note to reflect the notes within the arpeggio phrase.
*Fixed a bug where using the highest possible grid snap interval (64) would cause a note's length to reset to 0 when it reached the next beat or measure.
*Fixed a bug where when a lane 5 drum gem was combined with any other gems, those other gems were automatically removed in the way that open strum guitar notes remove other gems.
*The CTRL+SHIFT+G shortcut has been assigned to the "Note>Pro guitar>Arpeggio>Mark" function. The keyboard shortcuts that alter which strings are affected by shortcuts that set fret numbering have been re-assigned to SHIFT+Numpad #. Song>Catalog>Find previous has been re-assigned to the much more appropriate Shift+F3 shortcut.
*Improved the warning during save about open notes having bend or slide status by having EOF seek to the offending note.
*Improved some of the RS export warnings to only display once per save instead of once per offending track per save.
*Added a check during save that will warn you if an arpeggio phrase doesn't have at least two notes in it.
*Fixed a bug during GP import where if the first beat in a measure had both an RS section and a phrase imported, only one of the two was kept if the track had to be unwrapped (contained repeats, alternate endings, navigational symbols).
*Set a limit of 2000BPM in the "Beat>Set BPM" function since there's no practical reason for even setting it this high, and setting it too high will cause EOF to become unusable depending on how powerful your computer is.
*Improved GP import to load unpitched slide information, ie. \9 imports as an unpitched slide from 10 to 9, 9\ imports as an unpitched slide from 9 to 8. MIDI export will now write unpitched slides as regular up/down slides.
*Improved GP import to attempt to recover corrupted GP files that are hosted by the WebTabPlayer website, which corrupts the file by inserting a Byte Order Mark sequence at the beginning.
*Added keyboard shortcuts for double BPM (CTRL+SHIFT+D) and halve BPM (CTRL+SHIFT+X).
*Added checks during save that will warn when any slide notes don't define their end fret position or bend notes don't define their strength and RS export is enabled.
*Corrected the "Edit note frets/fingering" dialog to accept 0, t or T for the thumb.
*Fixed a bug where "Beat>Time signature>Off" would remove any defined key signature on the selected beat.
*Fixed a bug where "Beat>Reset BPM" would remove any defined time signatures and key signatures.
*Added a "Beat>Time signature>Clear all" function that removes all time signatures from the project.
*Improved the "3D render RS style chords" preference by having the 3D preview display an X on top of repeat lines for chords that are completely string muted.
*Improved GPA import to correct timing errors that can be exported by Go PlayAlong. Go PlayAlong support has accepted the bug report and will hopefully fix their export feature in the future.
*Added handling for a special rule in music theory to GP import where if a time signature occurs in a previous (inactive) alternate ending, it is still expected to be applied to the composition.
*Updated prompts that change the preference for what is displayed at the top of the piano roll to restore the original user preference after the message is closed.
*Added the ability to import beat timings exported from Sonic Visualiser (File>Sonic Visualiser Import). Sonic Visualiser is a program that can, with the first-party "Queen Mary Tempo and Beat Tracker" plugin installed, estimate the position of each beat in the song and save this information as an XML file.
*Fixed a bug with GP import where the correct time signature may not be used if there were different time signatures in effect at the beginning and end of a jump between measures (repeat, navigational symbol, etc).
*Fixed an RS1 export issue where some chords that are authored strangely (ie. has ghost and muted notes but no normal notes) may cause the export to fail.
*Added a "Display seek pos. in seconds" preference that displays the seek position in the Information panel and second counters in the piano roll in seconds instead of minutes:seconds.
*Added more logging and error checking in the leading silence function.
*Fixed a bug with GP5 import where some items like alternate endings could be mis-read in certain circumstances.
*Fixed a bug where accent status could be incorrectly added to some notes during GP import when importing a GP4 or older format of file.
*Fixed a bug where opening the "edit frets/fingers" dialog for a 5 or 6 string pro guitar track and then using it on a track with fewer strings could incorrectly give an "If any fingering is specified, it must be done only for the fretted strings" error.
*Added variant chord lookup definitions reflecting that some chords (min7b6, min6, min6/Maj7, min7, m/Maj7, 6th, 7th, Maj7, 7sus4) often omit the fifth interval.
*Improved chord lookup to return results in a chord's bass note's scale first.
*Added a warning during save if Rocksmith export is enabled and any chords have a defined name that includes parentheses, since this will cause the game to crash/hang.
*Added new keyboad handling logic that should work better for picking up many of the keyboard shortcuts when a non English-US keyboard layout is being used.
*Added a keyboard shortcut for Tremolo/Drum roll mark (CTRL+SHIFT+O).
*Added a "Make note tails clickable" preference that 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.
*Updated auto-adjust logic to handle fret hand positions.
*Improved the "Beat>Reset BPM" function to allow you specify whether tempo changes after the selected beat are removed instead of all tempo changes after the first beat.
1.8RC8 (Sat Oct 19, 2013)
{Spoiler}
*Fixed a bug where exported tone changes improperly added brackets around the tone key name. Spaces in the name are now converted to underscores, which is what the toolkit does when assigning "key names" to tones.
*Changed the program window resize functions to not alter the zoom level.
*Added a "Rewind when playback is at end" preference to control whether the chart automatically rewinds when the end of the song is reached during playback.
*Added handling for a rare problem that can affect the lyric import of MIDI based files. This problem occurs when a MIDI file does not properly define a 0 byte length for the last end of track event, and subsequently the file would fail to parse. Such MIDI files may even technically be violating the MIDI standard.
*Resolved a rounding error that could cause the seek position to draw one pixel away from the correct position in some zoom levels.
*Improved MIDI import by adding handling for fret hand positions, which are authored with note 108 in pro guitar/bass tracks in Rock Band 3.
*Fixed a bug where clicking the far right edge of the scroll bar might not perform the expected seek.
*Improved the display of program window widths larger than 1024 by changing how the scroll bar and border between the difficulty tabs and piano roll are drawn.
*Added logic so that when fret hand positions are generated, or when "Manage RS phrases" is used to level up a phrase, each affected phrase has the effective fret hand position defined at the phrase's first note if that phrase doesn't define the hand position before then. This ensures that fret hand positions in dynamic difficulty charts are displayed correctly in-game.
*Added a "Song>Rocksmith>Export chord techniques" menu function allowing control over whether the project's chord techniques will export to XML files. By default, they no longer will.
*Added a "Track>Rocksmith>Popup messages>Copy from" menu allowing you to copy popup messages from another track into the active track.
*Improved logging that is created during failed save or leading silence operations.
*Fixed a memory leak that occurred during creation of the Rocksmith WAV file.
*Added a warning during RS import if invalid fret hand positions (higher than fret 19) are found.
*Added functions to Edit>Selection to deselect notes that are either on a beat marker or those that are not.
*Added a separate MIDI tone for bass that defaults to MIDI instrument 34 (fingered electric bass). This can be changed by editing the "eof_midi_synth_instrument_bass" value in eof.cfg while EOF is closed.
*Added logic during project load that would drop invalid fret hand positions (those higher than fret 19) automatically.
*Made improvements to the logging. Application launch and close now log the timestamp, as does each project save operation.
*Changed full screen 3D preview option so that it fits the preview to EOF's window height instead of allowing it to stretch horizontally when a custom window width is in use.
*Improved the fret hand positions dialog so that after positions are generated, the one in effect at the seek position becomes selected automatically.
*Added a warning during MIDI import if any of the pro guitar or bass tracks include any notes that exceed the track's fret limit.
*Improved the "Add event" dialog (this is used by the "Place RS Phrase" function) to remember the last setting you used regarding track specificity.
*Improved the "Edit pro guitar note" and "Edit frets/fingering" functions to accept 3 digits in each fret number field, allowing a fret value to be changed from 0 to a two digit number without having to erase the 0 first.
*Added a check to UltraStar lyric import to handle an invalid lyric duration of 0.
*Moved the "Thin diff. to match" function to the Track menu.
*Added a "Simplify chords" function to the Note menu that removes the note on the highest string for selected chords. This is a common way to reduce chords for lower difficulties.
*Added an "x2 zoom" option to the File>Display menu that doubles the size of everything displayed in EOF except for the menus and dialog functions.
*Fixed bugs where the SHIFT+S and CTRL+M keyboard shortcuts, which run the set slider section and set lyric line functions, could cause the chart to be marked as modified even when no notes/lyrics were selected.
*Improved GPA import to handle XML files where the first sync point isn't defined at the beginning of the first measure.
*Fixed a bug with project load where if any INI entry values used brackets [], it could cause EOF to warn that the INI file had been edited outside of EOF.
*Fixed bugs in GPA import where non #/4 time signatures weren't handled correctly.
*Fixed a bug where a chord where all but one note was string muted would export to XML as a chord with only one note in it instead of as a single note.
*Fixed a bug where ghosted notes within a chord were exported to XML.
*Fixed a bug where mandatory RS phrases/sections wouldn't automatically be created for one track if they were defined as track-specific events in another track.
*Improved RS import to derive chord sustains based on corresponding single note sustains in lower difficulties.
*Fixed a bug with the auto-adjust logic where if the last beat in a project was clicked and drug to be before existing notes in the project, those notes would be left in their current position in addition to being moved backward.
*Fixed a bug with GPA import where time signatures changes that occurred in between sync points weren't handled correctly.
*Fixed a bug with GP import where navigational symbols weren't handled correctly.
*Fixed a bug with GPA import where multiple sync points that were within one beat's length of each other weren't handled correctly.
*Fixed a bug with Rocksmith export where a chord that has normal and arpeggiated forms was written incorrectly so that both the fingerprint indicator and chord box display wrong in-game.
*Re-assigned SHIFT+L to the "Precise select like" function. "Split lyric" has been re-assingned to SHIFT+S.
*Improved GP import to import bend strengths.
*Redesigned the fret hand position generation logic to be more reliable.
*Added a new feature where chord fingerings can be automatically applied (during save or using the "Correct chord fingerings" function) using chord shape definitions from the chordshapes.xml file located in EOF's program folder. These definitions have the same formatting as chord templates in Rocksmith style XML files (so you can copy them from a chart's XML file if you don't want to type them by hand), where finger0 through finger5 define which finger is used to fret each string (0 being the thickest string), and fret0 through fret5 define which fret is played on each string. A name can also be given for each, such as to indicate that it is a D chord shape, but EOF doesn't currently use the names. You can add, edit and remove the definitions as much as you want, but EOF only loads these definitions when the program is started, so you may need to save, close and re-open EOF to use any definition changes you've made. During project save, if any chords don't have their fingering manually defined, it will try to match the chord shape against the definitions and if it finds one, automatically exports it with the corresponding fingering. The shape definition doesn't have to be defined on any specific string or fret position, so a D shape can be matched anywhere on the guitar neck without being defined more than once. If the same exact shape happens to be defined more than once (with different fingerings), such as an A shape played as a barre and an A shape played with three fingers, the first definition in the file is automatically used.
*Fixed a bug where after deleting one or more selected notes, holding SHIFT while clicking the next note selected all notes between the previously selected (and now deleted) note and the newly clicked one.
*Doubled the maximum length of the lyric preview lines.
*Added a function (Song>Rocksmith>Check fret hand positions) that will look for various problems with any fret hand positions defined in the project, seeking to each and describing the problem, allowing you to opportunity to cancel the check to correct it or to continue looking for errors. During save, EOF will warn you if there are any problems with defined fret hand positions, and will offer to cancel the save and to show the problems to you.
*Applied a fix from shrubbery that corrects the writing of loading text to Rocksmith XML files.
*Updated automatic fret hand generation to perform chord shape lookups if a chord's fingering is not defined.
*Fixed a minor bug with Feedback input mode where the logic that automatically selects the note at the seek position (when no notes are explicitly selected) when performing certain note manipulations would leave that note selected if the note function was not allowed (ie. not applicable to the active track, such as attempting to apply vibrato status to a 5 lane guitar note).
*Added a "Note>Pro Guitar>Toggle string mute" function that makes selected notes muted if any of their used strings weren't muted already, or unmuted if they all were muted.
*Added fret hand position checks that makes sure that a fret hand position is in effect at/before the first note in a track difficulty and that positions are not higher than fret 19.
*Added a "Track>Rocksmith>Fret hand positions>Generate all diffs" function that generates fret hand positions for all populated difficulties of the active track.
*Improved MIDI import to support Power Gig format charts.
*Updated the "Delete active difficulty" function to support non pro guitar tracks and moved it to the root of the Track menu.
*Added logic so that the drum and Phase Shift drum tracks both share the same solo, star power, drum roll and special drum roll phrases by default, as this is expected in Phase Shift. This feature can be turned off for a chart by enabling the "Track>Phase Shift>Unshare drum phrasing" option.
*Added a "Don't write Rocksmith WAV file" user preference that skips writing the WAV file during save.
*The "Track>Phase Shift>Enable open strum" function now allows any 5 lane guitar/bass track to add an open strum lane. Phase Shift currently only supports open strumming in bass tracks.
*Fixed a bug where SHIFT+Up and CTRL+SHIFT+Up were able to set the visible portion of the piano higher than C6.
*Fixed a bug where transposing the mini piano visible area up or down one octave (CTRL+SHIFT+Up/Down) didn't work while Feedback input method was in use.
*Added keyboard shortcuts (CTRL+SHIFT+Up/Down in a non vocal track) that change to the next/previous track of the same format (ie. pro guitar, 5/6 button guitar/drum) as the active track, allowing you to quickly cycle through the pro guitar/bass tracks.
*Added an alternate EOF icon image courtesy of Frack.
*Fixed a bug where moving the first beat marker did not move fret hand positions, popup messages and tone changes in each track.
*Fixed a bug where SHIFT and CTRL did not correctly affect how much the lengths of selected notes were altered when the [ and ] keys are used and grid snap is disabled.
*Fixed a bug where alternate endings didn't unwrap correctly during GP import.
*Added logic so that EOF will keep track of the active difficulty for the vocal track separately from the other tracks, so changing to the vocal track and then another track doesn't force the lowest difficulty to be made active.
*Fixed a bug where a file path variable wasn't set when a new project was created, which could cause the project to save into EOF's project folder instead of the expected location until the project was manually re-opened in EOF.
*Added a Note>Reflect menu that has functions to reflect the selected notes vertically (ie. a gem on the lowest lane becomes a gem on the highest lane), horizontally (ie. the first selected note is swapped with the last selected note), or both.
*Fixed a bug where exported tone changes improperly added brackets around the tone key name. Spaces in the name are now converted to underscores, which is what the toolkit does when assigning "key names" to tones.
*Changed the program window resize functions to not alter the zoom level.
*Added a "Rewind when playback is at end" preference to control whether the chart automatically rewinds when the end of the song is reached during playback.
*Added handling for a rare problem that can affect the lyric import of MIDI based files. This problem occurs when a MIDI file does not properly define a 0 byte length for the last end of track event, and subsequently the file would fail to parse. Such MIDI files may even technically be violating the MIDI standard.
*Resolved a rounding error that could cause the seek position to draw one pixel away from the correct position in some zoom levels.
*Improved MIDI import by adding handling for fret hand positions, which are authored with note 108 in pro guitar/bass tracks in Rock Band 3.
*Fixed a bug where clicking the far right edge of the scroll bar might not perform the expected seek.
*Improved the display of program window widths larger than 1024 by changing how the scroll bar and border between the difficulty tabs and piano roll are drawn.
*Added logic so that when fret hand positions are generated, or when "Manage RS phrases" is used to level up a phrase, each affected phrase has the effective fret hand position defined at the phrase's first note if that phrase doesn't define the hand position before then. This ensures that fret hand positions in dynamic difficulty charts are displayed correctly in-game.
*Added a "Song>Rocksmith>Export chord techniques" menu function allowing control over whether the project's chord techniques will export to XML files. By default, they no longer will.
*Added a "Track>Rocksmith>Popup messages>Copy from" menu allowing you to copy popup messages from another track into the active track.
*Improved logging that is created during failed save or leading silence operations.
*Fixed a memory leak that occurred during creation of the Rocksmith WAV file.
*Added a warning during RS import if invalid fret hand positions (higher than fret 19) are found.
*Added functions to Edit>Selection to deselect notes that are either on a beat marker or those that are not.
*Added a separate MIDI tone for bass that defaults to MIDI instrument 34 (fingered electric bass). This can be changed by editing the "eof_midi_synth_instrument_bass" value in eof.cfg while EOF is closed.
*Added logic during project load that would drop invalid fret hand positions (those higher than fret 19) automatically.
*Made improvements to the logging. Application launch and close now log the timestamp, as does each project save operation.
*Changed full screen 3D preview option so that it fits the preview to EOF's window height instead of allowing it to stretch horizontally when a custom window width is in use.
*Improved the fret hand positions dialog so that after positions are generated, the one in effect at the seek position becomes selected automatically.
*Added a warning during MIDI import if any of the pro guitar or bass tracks include any notes that exceed the track's fret limit.
*Improved the "Add event" dialog (this is used by the "Place RS Phrase" function) to remember the last setting you used regarding track specificity.
*Improved the "Edit pro guitar note" and "Edit frets/fingering" functions to accept 3 digits in each fret number field, allowing a fret value to be changed from 0 to a two digit number without having to erase the 0 first.
*Added a check to UltraStar lyric import to handle an invalid lyric duration of 0.
*Moved the "Thin diff. to match" function to the Track menu.
*Added a "Simplify chords" function to the Note menu that removes the note on the highest string for selected chords. This is a common way to reduce chords for lower difficulties.
*Added an "x2 zoom" option to the File>Display menu that doubles the size of everything displayed in EOF except for the menus and dialog functions.
*Fixed bugs where the SHIFT+S and CTRL+M keyboard shortcuts, which run the set slider section and set lyric line functions, could cause the chart to be marked as modified even when no notes/lyrics were selected.
*Improved GPA import to handle XML files where the first sync point isn't defined at the beginning of the first measure.
*Fixed a bug with project load where if any INI entry values used brackets [], it could cause EOF to warn that the INI file had been edited outside of EOF.
*Fixed bugs in GPA import where non #/4 time signatures weren't handled correctly.
*Fixed a bug where a chord where all but one note was string muted would export to XML as a chord with only one note in it instead of as a single note.
*Fixed a bug where ghosted notes within a chord were exported to XML.
*Fixed a bug where mandatory RS phrases/sections wouldn't automatically be created for one track if they were defined as track-specific events in another track.
*Improved RS import to derive chord sustains based on corresponding single note sustains in lower difficulties.
*Fixed a bug with the auto-adjust logic where if the last beat in a project was clicked and drug to be before existing notes in the project, those notes would be left in their current position in addition to being moved backward.
*Fixed a bug with GPA import where time signatures changes that occurred in between sync points weren't handled correctly.
*Fixed a bug with GP import where navigational symbols weren't handled correctly.
*Fixed a bug with GPA import where multiple sync points that were within one beat's length of each other weren't handled correctly.
*Fixed a bug with Rocksmith export where a chord that has normal and arpeggiated forms was written incorrectly so that both the fingerprint indicator and chord box display wrong in-game.
*Re-assigned SHIFT+L to the "Precise select like" function. "Split lyric" has been re-assingned to SHIFT+S.
*Improved GP import to import bend strengths.
*Redesigned the fret hand position generation logic to be more reliable.
*Added a new feature where chord fingerings can be automatically applied (during save or using the "Correct chord fingerings" function) using chord shape definitions from the chordshapes.xml file located in EOF's program folder. These definitions have the same formatting as chord templates in Rocksmith style XML files (so you can copy them from a chart's XML file if you don't want to type them by hand), where finger0 through finger5 define which finger is used to fret each string (0 being the thickest string), and fret0 through fret5 define which fret is played on each string. A name can also be given for each, such as to indicate that it is a D chord shape, but EOF doesn't currently use the names. You can add, edit and remove the definitions as much as you want, but EOF only loads these definitions when the program is started, so you may need to save, close and re-open EOF to use any definition changes you've made. During project save, if any chords don't have their fingering manually defined, it will try to match the chord shape against the definitions and if it finds one, automatically exports it with the corresponding fingering. The shape definition doesn't have to be defined on any specific string or fret position, so a D shape can be matched anywhere on the guitar neck without being defined more than once. If the same exact shape happens to be defined more than once (with different fingerings), such as an A shape played as a barre and an A shape played with three fingers, the first definition in the file is automatically used.
*Fixed a bug where after deleting one or more selected notes, holding SHIFT while clicking the next note selected all notes between the previously selected (and now deleted) note and the newly clicked one.
*Doubled the maximum length of the lyric preview lines.
*Added a function (Song>Rocksmith>Check fret hand positions) that will look for various problems with any fret hand positions defined in the project, seeking to each and describing the problem, allowing you to opportunity to cancel the check to correct it or to continue looking for errors. During save, EOF will warn you if there are any problems with defined fret hand positions, and will offer to cancel the save and to show the problems to you.
*Applied a fix from shrubbery that corrects the writing of loading text to Rocksmith XML files.
*Updated automatic fret hand generation to perform chord shape lookups if a chord's fingering is not defined.
*Fixed a minor bug with Feedback input mode where the logic that automatically selects the note at the seek position (when no notes are explicitly selected) when performing certain note manipulations would leave that note selected if the note function was not allowed (ie. not applicable to the active track, such as attempting to apply vibrato status to a 5 lane guitar note).
*Added a "Note>Pro Guitar>Toggle string mute" function that makes selected notes muted if any of their used strings weren't muted already, or unmuted if they all were muted.
*Added fret hand position checks that makes sure that a fret hand position is in effect at/before the first note in a track difficulty and that positions are not higher than fret 19.
*Added a "Track>Rocksmith>Fret hand positions>Generate all diffs" function that generates fret hand positions for all populated difficulties of the active track.
*Improved MIDI import to support Power Gig format charts.
*Updated the "Delete active difficulty" function to support non pro guitar tracks and moved it to the root of the Track menu.
*Added logic so that the drum and Phase Shift drum tracks both share the same solo, star power, drum roll and special drum roll phrases by default, as this is expected in Phase Shift. This feature can be turned off for a chart by enabling the "Track>Phase Shift>Unshare drum phrasing" option.
*Added a "Don't write Rocksmith WAV file" user preference that skips writing the WAV file during save.
*The "Track>Phase Shift>Enable open strum" function now allows any 5 lane guitar/bass track to add an open strum lane. Phase Shift currently only supports open strumming in bass tracks.
*Fixed a bug where SHIFT+Up and CTRL+SHIFT+Up were able to set the visible portion of the piano higher than C6.
*Fixed a bug where transposing the mini piano visible area up or down one octave (CTRL+SHIFT+Up/Down) didn't work while Feedback input method was in use.
*Added keyboard shortcuts (CTRL+SHIFT+Up/Down in a non vocal track) that change to the next/previous track of the same format (ie. pro guitar, 5/6 button guitar/drum) as the active track, allowing you to quickly cycle through the pro guitar/bass tracks.
*Added an alternate EOF icon image courtesy of Frack.
*Fixed a bug where moving the first beat marker did not move fret hand positions, popup messages and tone changes in each track.
*Fixed a bug where SHIFT and CTRL did not correctly affect how much the lengths of selected notes were altered when the [ and ] keys are used and grid snap is disabled.
*Fixed a bug where alternate endings didn't unwrap correctly during GP import.
*Added logic so that EOF will keep track of the active difficulty for the vocal track separately from the other tracks, so changing to the vocal track and then another track doesn't force the lowest difficulty to be made active.
*Fixed a bug where a file path variable wasn't set when a new project was created, which could cause the project to save into EOF's project folder instead of the expected location until the project was manually re-opened in EOF.
*Added a Note>Reflect menu that has functions to reflect the selected notes vertically (ie. a gem on the lowest lane becomes a gem on the highest lane), horizontally (ie. the first selected note is swapped with the last selected note), or both.
1.8RC7 (Wed Jul 27, 2013)
{Spoiler}
*Fixed a bug where the spectrogram wasn't properly recreated if its configuration was changed.
*Modified the "BPM Change" dialog so that the checkbox options remember their last setting.
*Minor change to GP import so that note positions are rounded to the nearest millisecond, which should improve the repeat unwrap handling.
*Adds initial handling for navigational symbols in Guitar Pro import.
*Fixed a bug with Rocksmith import where a 4 string (ie. bass) arrangement that has chords wouldn't import.
*Corrected the behavior of the function that increments/decrements the tempo at the anchor at/before the seek position (- or = while Feedback input mode is not in use).
*Changed the "GP import truncates short notes" preference so that imported notes that have slide, bend or vibrato techniques are not truncated.
*Added a Track menu and organized several track-specific functions from the Song menu into it.
*Fixed a bug where EOF would crash if changing to a pro guitar track containing arpeggios.
*Increased the limit of time signature changes that could be exported to MIDI from 100 to 500, since a user had a chart that required more than 100 of them.
*Fixed a bug where the Rocksmith WAV file was written as "guitar.wav" instead of "(song title).wav".
*Adds the ability to display a second piano roll with another track difficulty (Song>Second piano roll>). This second piano roll is view-only, only the main piano roll will be editable. Its seek position stays synchronized with the active piano roll by default, but you can disable this by unchecking the "Sync with main piano roll" option.
*Improved the "Disable 3D rendering" preference so that it does not apply to full screen 3D view.
*Fixed an XML export bug where hand shapes were not written for a track difficulty if that difficulty didn't have at least one chord (any note where at least two gems weren't ghosted).
*Added an "Edit>Selection>Select all longer than" function that selects all notes in the active track difficulty that are longer than a given length.
*Added logic so that if the configured song path no longer exists when EOF is opened, it reverts to the default location of EOF's program folder.
*Added logic in the Windows build so that the new chart wizard drops trailing space characters from the end of a user-defined project folder name, since Windows prevents such folders from working normally.
*Added a function (Track>Rocksmith>Un-flatten track) that mostly does the reverse of the "Flatten this difficulty" function. Each adjacent difficulty of each RS phrase is compared, and if the notes in a particular phrase are identical, the phrase is leveled down to remove the duplicate difficulty of the phrase. This will make it easier to convert a chart authored in the style of Rock Band/Guitar Hero (each difficulty defines all playable notes) to one authored in the style of Rocksmith (each difficulty only defines changes to the previous difficulty's phrases).
*Fixed a bug where EOF would forget if no chart audio was loaded when an undo/redo was performed, and would save a 1 second guitar.ogg file on the next save.
*Fixed a bug where the delete difficulty function did not adjust the difficulty levels of difficulty-specific tremolo phrases.
*Updated EOF to display as many difficulty tabs as will fit in the program window, taking any custom width into account.
*Fixed a crash that could occur when the spectrogram was being displayed near the end of the chart audio.
*Implemented 5of0's spectrogram improvements, which allow it to render much faster than before.
*Added new functions to the Edit>Selection menu allowing single notes or chords to be deselected. The new "Conditional deselect" function will allow you to deselect notes based on the gems they do or don't have.
*Added a function (Edit>Selection>Invert selection) that makes notes that aren't selected become selected and vice versa.
*Fixed an issue where a track's exported XML file wouldn't be named correctly if the arrangement name included periods and the arrangement type wasn't defined.
*Fixed a bug where if the clipboard contained only one note, and the preference to erase overlapped notes during paste was enabled, notes could be incorrectly deleted after the pasted note's location.
*Updated some prompts that seek to different points in the chart to correctly display the lyric preview.
*Fixed a bug where bend strength was being removed automatically.
*Improved the function to play the chart from the first to the last selected note (holding S while playing back the chart) by allowing the playback to loop as long as the S key remains held down. Release the S key to allow playback to stop when the last selected note is reached.
*Corrected the 2D rendering to show when pro guitar notes have certain combinations of techniques. While EOF doesn't allow status combinations such as pull off and harmonic to be authored onto a note, such notes can be imported from a Guitar Pro file.
*Doubled the number of MIDI events that could be written for each MIDI track, which may be necessary for authoring extremely long charts, such as those that last for the duration of an entire album.
*Added logic to import synchronization from an exported Go PlayAlong XML file, by using the "Guitar Pro Import" function and selecting an appropriate XML file, which needs to be in the same directory as the related GP file. Importing a Go PlayAlong file will force the time signatures to import, since GPA sync points reference measure numbers.
*Fixed some bugs with the grid snap logic.
*Fixed a bug where GP3 format tremolo bar notation imported as tremolo picking.
*Improved DTA export by writing appropriate difficulty tier values (based on PikminGuts92's findings) if the 17 fret guitar/bass track difficulties are defined.
*Added initial support for alternate endings during Guitar Pro import, thanks to some code provided by quarnster.
*Changed the "Paste from" function so that arpeggios, hand positions and difficulty-specific tremolo phrases are copied without prompting.
*Added a "GP import replaces active track" user preference. It is enabled by default, but if you disable it, importing a guitar pro track will only replace the content of the active track difficulty and will not remove anything in the other difficulties in the track. EOF will prompt before changing the tuning or string count of the active track in a way that affects existing notes.
*Added a "GP import nat. harmonics only" user preference. If enabled, only notes transcribed as natural harmonics will import from Guitar Pro files with harmonic status into EOF.
*Added functions to the Track menu to erase either the active track or the active track difficulty.
*Improved the "Set number of frets/strings" function to offer to highlight all notes that use a fret higher than the proposed fret limit. This highlighting can be removed with the "Track>Erase highlighting" function.
*Added the ability for the "MIDI tones" feature (in the Edit menu) to output MIDI notes to your computer's default MIDI device to play a synthesized version of the active pro guitar/bass track during playback, thanks to some code provided by quarnster. The MIDI tones feature no longer plays back notes from the vocal track. When this feature is enabled, clicking on a pro guitar/bass note will sound the tones for the note. A MIDI tone delay value can be specified in File>Settings that will allow MIDI tones to play back earlier than notes, in order to compensate for MIDI lag from factors outside of EOF.
*Improved the warning message about being unable to automatically add an "END" phrase if the appropriate beat already has another phrase by having EOF seek to the position of the track that needs to be corrected.
*Fixed a bug where the selected beat number could become invalid when performing an undo after certain chart operations, leading to a crash.
*Added a "3D render RS style chords" preference that will draw repeat bars for high density chords in the 3D preview, and will skip drawing tails for pro guitar/bass chords.
*Added a warning during save if any notes slide to or above fret 22, as this will cause Rocksmith to crash.
*Minor improvement to Rocksmith lyric detection by adding another criterion to identify such a file if the <xml> header tag is missing.
*Fixed a bug with Rocksmith import where tremolo notes didn't import correctly.
*Fixed a bug where a note at 0ms could become automatically selected when a deselect (CTRL+D or clicking on a blank area of the piano roll) was attempted.
*Improved Rocksmith export to write the bass note of any chord with a technique (ie. bend, hammer on, harmonic, palm mute, pop, slap, slide, tremolo) as an additional single note at the same position, to cause the note to display on top of the chord box with the appropriate technique in-game (a trick discovered by Dreddfoxx).
*Added logic to MIDI import that corrects invalid velocity values that can be introduced by other pro guitar chart editors.
*Loosened the requirements for arpeggiated hand shapes to export to XML. The first note in the arpeggio now only has to be within 10ms of the beginning of the arpeggio section, instead of exactly at the same starting position.
*Updated XML export so that hand shapes are padded to a minimum of 56ms if possible, as Rocksmith seems to misuse hand shapes that are too short.
*Added a function to the "Track>Pro Guitar" menu that highlights notes in arpeggio sections, which will make it easy to identify notes that have fallen outside an arpeggio.
*Added a song_length INI tag that will give the length of the chart's audio in milliseconds.
*Added an "Edit>Selection>Deselect one in every" function that allows you to deselect one out of every X number of selected notes.
*Doubled the limit of each type of section a track can contain, since a user ran into the limit for arpeggios.
*Updated MIDI export so that if the preference to save separate Rock Band files is enabled, and the project contains any pro guitar/bass content, an additional notes_c3.mid file is created. This file contains the same Rock Band Network compatible content as notes_rbn.mid, but it also contains the RB3 compatible pro guitar and 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.
*Improved the "Set tuning" function so that if a tuning change affects any notes in the track, EOF will offer to transpose them up or down their current string so that they keep the same pitch. If this isn't possible for any notes (any that use a fret that is too high or low on the string), EOF will warn you that you need to transpose them manually and will highlight it.
*Added a keyboard shortcut (SHIFT+T) to toggle MIDI Tones on/off.
*Added a keyboard shortcut (CTRL+SHIFT+Home) to seek to the first beat marker.
*Added a user preference (Import dialogs recall last path) where, if enabled, will alter 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.
*Added functions to the new "Track>Rocksmith>Tone Change" menu allowing tone changes to be defined in the exported XML files. RS import has been updated to handle tone changes as well.
*Fixed a bug where EOF wanted a fingering to be given for string muted notes in a chord.
*Fixed a bug where the spectrogram wasn't properly recreated if its configuration was changed.
*Modified the "BPM Change" dialog so that the checkbox options remember their last setting.
*Minor change to GP import so that note positions are rounded to the nearest millisecond, which should improve the repeat unwrap handling.
*Adds initial handling for navigational symbols in Guitar Pro import.
*Fixed a bug with Rocksmith import where a 4 string (ie. bass) arrangement that has chords wouldn't import.
*Corrected the behavior of the function that increments/decrements the tempo at the anchor at/before the seek position (- or = while Feedback input mode is not in use).
*Changed the "GP import truncates short notes" preference so that imported notes that have slide, bend or vibrato techniques are not truncated.
*Added a Track menu and organized several track-specific functions from the Song menu into it.
*Fixed a bug where EOF would crash if changing to a pro guitar track containing arpeggios.
*Increased the limit of time signature changes that could be exported to MIDI from 100 to 500, since a user had a chart that required more than 100 of them.
*Fixed a bug where the Rocksmith WAV file was written as "guitar.wav" instead of "(song title).wav".
*Adds the ability to display a second piano roll with another track difficulty (Song>Second piano roll>). This second piano roll is view-only, only the main piano roll will be editable. Its seek position stays synchronized with the active piano roll by default, but you can disable this by unchecking the "Sync with main piano roll" option.
*Improved the "Disable 3D rendering" preference so that it does not apply to full screen 3D view.
*Fixed an XML export bug where hand shapes were not written for a track difficulty if that difficulty didn't have at least one chord (any note where at least two gems weren't ghosted).
*Added an "Edit>Selection>Select all longer than" function that selects all notes in the active track difficulty that are longer than a given length.
*Added logic so that if the configured song path no longer exists when EOF is opened, it reverts to the default location of EOF's program folder.
*Added logic in the Windows build so that the new chart wizard drops trailing space characters from the end of a user-defined project folder name, since Windows prevents such folders from working normally.
*Added a function (Track>Rocksmith>Un-flatten track) that mostly does the reverse of the "Flatten this difficulty" function. Each adjacent difficulty of each RS phrase is compared, and if the notes in a particular phrase are identical, the phrase is leveled down to remove the duplicate difficulty of the phrase. This will make it easier to convert a chart authored in the style of Rock Band/Guitar Hero (each difficulty defines all playable notes) to one authored in the style of Rocksmith (each difficulty only defines changes to the previous difficulty's phrases).
*Fixed a bug where EOF would forget if no chart audio was loaded when an undo/redo was performed, and would save a 1 second guitar.ogg file on the next save.
*Fixed a bug where the delete difficulty function did not adjust the difficulty levels of difficulty-specific tremolo phrases.
*Updated EOF to display as many difficulty tabs as will fit in the program window, taking any custom width into account.
*Fixed a crash that could occur when the spectrogram was being displayed near the end of the chart audio.
*Implemented 5of0's spectrogram improvements, which allow it to render much faster than before.
*Added new functions to the Edit>Selection menu allowing single notes or chords to be deselected. The new "Conditional deselect" function will allow you to deselect notes based on the gems they do or don't have.
*Added a function (Edit>Selection>Invert selection) that makes notes that aren't selected become selected and vice versa.
*Fixed an issue where a track's exported XML file wouldn't be named correctly if the arrangement name included periods and the arrangement type wasn't defined.
*Fixed a bug where if the clipboard contained only one note, and the preference to erase overlapped notes during paste was enabled, notes could be incorrectly deleted after the pasted note's location.
*Updated some prompts that seek to different points in the chart to correctly display the lyric preview.
*Fixed a bug where bend strength was being removed automatically.
*Improved the function to play the chart from the first to the last selected note (holding S while playing back the chart) by allowing the playback to loop as long as the S key remains held down. Release the S key to allow playback to stop when the last selected note is reached.
*Corrected the 2D rendering to show when pro guitar notes have certain combinations of techniques. While EOF doesn't allow status combinations such as pull off and harmonic to be authored onto a note, such notes can be imported from a Guitar Pro file.
*Doubled the number of MIDI events that could be written for each MIDI track, which may be necessary for authoring extremely long charts, such as those that last for the duration of an entire album.
*Added logic to import synchronization from an exported Go PlayAlong XML file, by using the "Guitar Pro Import" function and selecting an appropriate XML file, which needs to be in the same directory as the related GP file. Importing a Go PlayAlong file will force the time signatures to import, since GPA sync points reference measure numbers.
*Fixed some bugs with the grid snap logic.
*Fixed a bug where GP3 format tremolo bar notation imported as tremolo picking.
*Improved DTA export by writing appropriate difficulty tier values (based on PikminGuts92's findings) if the 17 fret guitar/bass track difficulties are defined.
*Added initial support for alternate endings during Guitar Pro import, thanks to some code provided by quarnster.
*Changed the "Paste from" function so that arpeggios, hand positions and difficulty-specific tremolo phrases are copied without prompting.
*Added a "GP import replaces active track" user preference. It is enabled by default, but if you disable it, importing a guitar pro track will only replace the content of the active track difficulty and will not remove anything in the other difficulties in the track. EOF will prompt before changing the tuning or string count of the active track in a way that affects existing notes.
*Added a "GP import nat. harmonics only" user preference. If enabled, only notes transcribed as natural harmonics will import from Guitar Pro files with harmonic status into EOF.
*Added functions to the Track menu to erase either the active track or the active track difficulty.
*Improved the "Set number of frets/strings" function to offer to highlight all notes that use a fret higher than the proposed fret limit. This highlighting can be removed with the "Track>Erase highlighting" function.
*Added the ability for the "MIDI tones" feature (in the Edit menu) to output MIDI notes to your computer's default MIDI device to play a synthesized version of the active pro guitar/bass track during playback, thanks to some code provided by quarnster. The MIDI tones feature no longer plays back notes from the vocal track. When this feature is enabled, clicking on a pro guitar/bass note will sound the tones for the note. A MIDI tone delay value can be specified in File>Settings that will allow MIDI tones to play back earlier than notes, in order to compensate for MIDI lag from factors outside of EOF.
*Improved the warning message about being unable to automatically add an "END" phrase if the appropriate beat already has another phrase by having EOF seek to the position of the track that needs to be corrected.
*Fixed a bug where the selected beat number could become invalid when performing an undo after certain chart operations, leading to a crash.
*Added a "3D render RS style chords" preference that will draw repeat bars for high density chords in the 3D preview, and will skip drawing tails for pro guitar/bass chords.
*Added a warning during save if any notes slide to or above fret 22, as this will cause Rocksmith to crash.
*Minor improvement to Rocksmith lyric detection by adding another criterion to identify such a file if the <xml> header tag is missing.
*Fixed a bug with Rocksmith import where tremolo notes didn't import correctly.
*Fixed a bug where a note at 0ms could become automatically selected when a deselect (CTRL+D or clicking on a blank area of the piano roll) was attempted.
*Improved Rocksmith export to write the bass note of any chord with a technique (ie. bend, hammer on, harmonic, palm mute, pop, slap, slide, tremolo) as an additional single note at the same position, to cause the note to display on top of the chord box with the appropriate technique in-game (a trick discovered by Dreddfoxx).
*Added logic to MIDI import that corrects invalid velocity values that can be introduced by other pro guitar chart editors.
*Loosened the requirements for arpeggiated hand shapes to export to XML. The first note in the arpeggio now only has to be within 10ms of the beginning of the arpeggio section, instead of exactly at the same starting position.
*Updated XML export so that hand shapes are padded to a minimum of 56ms if possible, as Rocksmith seems to misuse hand shapes that are too short.
*Added a function to the "Track>Pro Guitar" menu that highlights notes in arpeggio sections, which will make it easy to identify notes that have fallen outside an arpeggio.
*Added a song_length INI tag that will give the length of the chart's audio in milliseconds.
*Added an "Edit>Selection>Deselect one in every" function that allows you to deselect one out of every X number of selected notes.
*Doubled the limit of each type of section a track can contain, since a user ran into the limit for arpeggios.
*Updated MIDI export so that if the preference to save separate Rock Band files is enabled, and the project contains any pro guitar/bass content, an additional notes_c3.mid file is created. This file contains the same Rock Band Network compatible content as notes_rbn.mid, but it also contains the RB3 compatible pro guitar and 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.
*Improved the "Set tuning" function so that if a tuning change affects any notes in the track, EOF will offer to transpose them up or down their current string so that they keep the same pitch. If this isn't possible for any notes (any that use a fret that is too high or low on the string), EOF will warn you that you need to transpose them manually and will highlight it.
*Added a keyboard shortcut (SHIFT+T) to toggle MIDI Tones on/off.
*Added a keyboard shortcut (CTRL+SHIFT+Home) to seek to the first beat marker.
*Added a user preference (Import dialogs recall last path) where, if enabled, will alter 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.
*Added functions to the new "Track>Rocksmith>Tone Change" menu allowing tone changes to be defined in the exported XML files. RS import has been updated to handle tone changes as well.
*Fixed a bug where EOF wanted a fingering to be given for string muted notes in a chord.