Hi, folks. The last few weeks have seen a heavy amount of changes, mostly for Rocksmith authoring, but there have been other improvements too. The new release candidate has been added to the first post. Changes since 1.8RC2:
*Fixed a bug with Rocksmith export where the note ending tag wasn't being written.
*Updated Rocksmith export to automatically write COUNT and END phrases along with any user-defined practice sections.
*Improved GP import to set the ending fret number for slides that define them. The note that defines the end fret of the slide in the GP file is now properly removed if it is not a shift slide.
*Fixed a bug with RS export where notes weren't correctly split into their proper difficulties.
*Fixed a bug with RS export where boolean note statuses weren't being written correctly.
*Updated RS export to write chords using the chordTemplates and chords tags.
*Fixed a bug in RS export where the phrase iterations were written in milliseconds instead of seconds.
*Added logic to RS export so that string muted individual notes are omitted, as Rocksmith doesn't support those.
*Altered RS export so that single notes with a length of 1ms are exported with a sustain of 0.
*Added logic to RS export so that if a section is defined in multiple places, each instance refers to the same phrase ID number.
*Added the ability to define the fingering for selected notes by using "Note>Pro Guitar>Edit Frets/Fingering" (or using the F keyboard shortcut). If a note's fingering is altered in this function, EOF will offer to update all matching notes to use the new fingering. When saving, the finger information for each chord will be appropriately written to Rocksmith's XML format. Any defined finger definitions for a note are cleared if the note is edited, since the previously-defined fingering is assumed to no longer be correct. Guitar Pro import has been updated to load fingering definition, if defined, from individual notes and chord diagrams.
*Added a function (Song>Pro Guitar>Correct chord finger information) that checks to make sure each chord in each pro guitar track has the fingerings validly defined. If a chord's fingering isn't correctly defined, the function displays the offending chord's fret values and allows the finger values to be edited, at which point all matching chords in the pro guitar track are updated to match. EOF will also run this check during save, after which if any chords' fingering isn't completely defined, their fingering is written as -1 values so that the XML file will still work.
*Added a function to clear the finger definitions for selected notes (Note>Pro Guitar>Clear finger information).
*Added a function (Edit>Selection>Select all shorter than) to select all notes in the active track difficulty that are shorter than a specified length. This will make it easy to select and set short notes to a specific length (ie. the minimum of 1ms so they export to RS XML with a sustain of 0).
*Fixed a bug with RS export where the only one difficulty of a pro guitar/bass track having chords could be exported.
*Fixed a bug where trying to click and drag a beat marker while the tempo map was locked could cause the note auto-adjust feature to move notes.
*Organized the preferences dialog menu, and added a separate "Save separate Rocksmith files" preference. Various Rocksmith authoring related prompts will now only come up if the preference to save Rocksmith files is enabled.
*Added the ability to define the fret hand position (Song>Pro Guitar>Set fret hand position) at the current seek position in the active track difficulty, which are written as anchors during Rocksmith export. MIDI export will also write a track's expert difficulty's fret hand positions, as long as the song property to use a fret hand position of 1 for the entire track isn't enabled. If no fret hand positions exist for a track during save, they will be automatically generated. The information panel now displays the fret hand position in effect at the current seek position. Paste From will now offer to copy fret hand positions if used on a pro guitar track. A function (Song>Pro Guitar>This difficulty's fret hand positions) has been added to display fret hand positions and allow them to be deleted, automatically generated or seeked to. This dialog's title bar lists the number of fret hand positions present for the active track difficulty in parentheses.
*Added logic so that if (song name).wav doesn't exist in the project's folder during Save/Save as, and the option to export Rocksmith files is enabled, a WAV file will be written with the loaded chart audio, with 8 seconds of silence added to the end, since it has been identified that the chart's audio must be significantly longer than the chart in order to work properly in Rocksmith. This WAV file is automatically deleted when "Load OGG" is used, and will be re-written during save, since "Load OGG" changes the chart audio in use.
*Fixed some bugs with the INI check during project load that wouldn't correctly compare the some of the drum difficulty tags.
*Improved lyric export by removing the requirement for XML exported lyrics to be contained within lyric lines and fixing some memory leaks that could occur during a failed script/XML lyric export.
*Updated RS export to indicate the highest difficulty present in the track when writing phrases.
*Added the ability to manually indicate that a text event is a "Rocksmith phrase", allowing it to be identified as a section marker in EOF.
*Added the ability to copy the selected event in the "Beat>All Events" dialog function to the currently selected beat. If the copied event is track specific, the copied event is made specific to the currently active track.
*Updated GH import to be able to read lyrics and section names that use Unicode encoding, as long as they're using an English character set.
*Updated Guitar Pro import to offer to load any section markers in the file into the active project as Rocksmith phrases.
*Fixed a bug where the active track difficulty's arpeggio phrases weren't deleted when using paste from to overwrite the active difficulty.
*Added a "Song>Pro Guitar>Rename Track" function that allows you to rename the active pro guitar/bass track. The new name is used for the track's XML filename and arrangement name during Rocksmith export.
*Fixed a few bugs regarding arpeggio phrases not correctly being treated as specific to a track difficulty instead of an entire track.
*Added the ability for GH import to read sections from files that store all languages of section names contiguously.
*Which item is displayed at the top of the 2D panel in EOF (note names, section names, fret hand position changes, Rocksmith sections names) is now a preference.
*Improved GP import to warn where the import of time signature changes was disabled due to user preference or project setting, map imported section markers to the correct beats when TS changes weren't imported and to make an undo state if needed before importing section markers from the GP file.
*Changed the "Import/Export TS" preference to be enabled by default.
*Added a "Note>Lyrics>Import GP style lyric text from file" function that replace the text of lyrics in the vocal track with ones from a text file where lyric texts are defined in the style of Guitar Pro (ie. a space or new line ends a syllable as well as the current word, a hyphen at the start of text represents a pitch shift of the previous lyric, a hyphen after one or more letters represents the end of that lyric's text).
*Tons of code cleanup.
*Fixed some wild memory freeing in some of the "Erase all" functions, which could plausibly have caused a crash.
*Added a user preference for a minimum distance between two notes (defaulting to 3ms), since notes whose tails are too close to other notes can cause issues during timing conversion, and this style of authoring isn't particularly clean.
*Added the ability to define Rocksmith sections (different from "sections", which are treated like Rocksmith phrases) by using the "Beat>Place RS Section" function, which will offer a list containing the display names of all the valid section names you can use in Rocksmith. When one is selected, the native section name is added to the selected beat. EOF automatically tracks each section's instance number without you having to provide it. You can also use the preference to display "RS sections" in the top of the 2D pane to easily see where these are in the chart. You can manually add a Rocksmith section when defining a text event, but EOF will warn you if it doesn't match one of the valid section names (case sensitive). You can edit a Rocksmith section to also be a Rocksmith phrase marker, and the event will export to XML as both, but if a Rocksmith section is marked as track-specific, it will still export for all tracks because sections are chart-wide. Keyboard shortcuts were re-assigned so that SHIFT+S places a Rocksmith section and CTRL+S places a slide's end fret.
*Added the ability to link EOF to the Rocksmith toolkit folder. If linked, EOF will pass the saved Rocksmith XML file for each pro guitar, pro bass and vocal track to the SNG compiler automatically during save. If any of the tracks fail to compile, a window displaying the error output is shown.
*Fixed the copy/paste logic to properly copy bend height and the end fret value for slide notes.
*Fixed a copy/paste bug where pro guitar pull off status would be lost.
*Added a user preference to make newly created notes 1ms in length. This doesn't affect some methods of adding notes, such as using a controller while the chart is playing.
*Added a Rocksmith color set preference, which applies to pro guitar/bass tracks. In this color set, all other tracks will use the Rock Band coloring.
*Updated MIDI import to recognize notation for pinch harmonics. Although Rock Band 3 doesn't display these in-game, Harmonix charts them on channel 6.
*Fixed a minor issue where "Seek next screen" would seek to the audio end instead of the chart end if the seek position was closer than one screen length to the end of the chart.
*Improved the "Beat>Reset offset to zero" logic to offer to fill in the space before the first beat marker with as many evenly spaced beats as will fit before using a non equal sized beat to fill in the rest of the gap. This will make it easier to make count ins for Rocksmith.
*Added logic so that if the first beat isn't at the beginning of the song during save, and the Rocksmith file export preference is enabled, EOF will offer to correct this issue so that the song will play from the beginning in Rocksmith.
*Added a warning during save that alerts if any tracks have notes or lyrics that extend past the chart's audio. Such notes can cause the XML files not to compile and otherwise malfunction depending on what game the chart is played in.
*Added functions to the Note>Pro Guitar menu to mark pro guitar/bass notes with pop and slap technique. EOF now imports these statuses from Guitar Pro files and exports them to XML.
*Corrected the Note menu so that the transpose up/down functions aren't disabled in the vocal track.
I never could reproduce Oddbrother's issue with the star power vocal phrases, but I'd added more logging to show when such phrases were imported in a GH file. The few people out there that like to author different guitar parts in different difficulties for pro guitar tracks will be able to make use of the ability to manually define the fret hand positions to perform the balancing act of ensuring that the fret numbers used in each difficulty don't get too far out of acceptance of the current fret hand position in the expert difficulty. Please try everything out and let me know how it goes. There are still a few things I need to finish for Rocksmith authoring, so there's probably going to be another release candidate in the coming weeks, but by then I'd like any remaining bugs in EOF to have been dealt with.