Hi, folks. It's time for a new release candidate. Changes since 1.8RC7:
*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.
This candidate has all sorts of fixes and new features. As much as I want this to be the final RC for 1.8, Rocksmith 2014 is coming out next week and I should probably allow a little time to see if new authoring support needs to be added. In the mean time, please report any last bugs you find.