*Implements 5of0's spectrogram improvements.  Depending on compiler options and spectrogram configuration, the rendering is now about 5 to 8 times as fast as before.
*Fixed a crash that could occur when the spectrogram was being displayed near the end of the chart audio.
*Altered the image sequence function to be more easily used to benchmark rendering performance by displaying the average (mean) FPS achieved for rendering the entire chart at a rate of 30FPS.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1149 1b2aedea-9eff-cdc0-263b-b87a75789507
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.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1150 1b2aedea-9eff-cdc0-263b-b87a75789507
*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.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1151 1b2aedea-9eff-cdc0-263b-b87a75789507
Various changes to satisfy Splint.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1152 1b2aedea-9eff-cdc0-263b-b87a75789507
*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.
*A minor change to satisfy cppcheck.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1153 1b2aedea-9eff-cdc0-263b-b87a75789507
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.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1154 1b2aedea-9eff-cdc0-263b-b87a75789507
Fixed various bugs with the grid snap logic when various non 4/4 time signatures were in effect.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1155 1b2aedea-9eff-cdc0-263b-b87a75789507
Fixed a bug where GP3 format tremolo bar notation imported as tremolo picking.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1156 1b2aedea-9eff-cdc0-263b-b87a75789507
*Improved Go PlayAlong import by adding support for mid-beat sync points.
*Fixed the handling of sound cues when the primary and secondary piano rolls are swapped during playback.
*Improved DTA export by writing appropriate difficulty tier values (based on PikminGuts92's findings) if the 17 fret guitar/bass track difficulties are defined.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1157 1b2aedea-9eff-cdc0-263b-b87a75789507
Adds initial support for alternate endings during Guitar Pro import, thanks to some code provided by quarnster.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1158 1b2aedea-9eff-cdc0-263b-b87a75789507
*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 with harmonic status into EOF.
*Added menu functions to the Track menu to erase either the active track or the active track difficulty.
*Fixed a minor bug where the window title didn't immediately update to reflect the active track difficulty's populated status after various operations.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1159 1b2aedea-9eff-cdc0-263b-b87a75789507
Fixed some problems with recent grid snap changes.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1160 1b2aedea-9eff-cdc0-263b-b87a75789507
*Fixed a problem where using the secondary piano roll would cause the window title to display erratically.
*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.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1161 1b2aedea-9eff-cdc0-263b-b87a75789507
Adds quarnster's patches from issue 121 to implement "MIDI tones" output for pro guitar notes.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1162 1b2aedea-9eff-cdc0-263b-b87a75789507
*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 performining an undo after certain chart operations, leading to a crash.
*Fixed a bug where mid-beat sync points weren't handled properly during Go PlayAlong import.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1163 1b2aedea-9eff-cdc0-263b-b87a75789507
*Added logic so that if MIDI tones are enabled, MIDI playback will be performed for pro guitar/bass notes that are clicked on.
*Changed MIDI tones so that they don't play the lyric pitches.
*Improved Go PlayAlong and Rocksmith imports so they will recognize each other's XML format and warn you if you need to use the other import.
*Miscellaneous improvements to the MIDI tone logic.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1164 1b2aedea-9eff-cdc0-263b-b87a75789507
Changed how MIDI tones are sounded off, which should make the MIDI playback lag less variably.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1165 1b2aedea-9eff-cdc0-263b-b87a75789507
*Added a MIDI tone delay 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.
*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 from fret 22, as this will cause Rocksmith to crash.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1166 1b2aedea-9eff-cdc0-263b-b87a75789507
*Updated Rocksmith export logic to reflect that a note can slide down from fret 22 without crashing the game, as per RobotMom's findings.
*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.
*Improved the 2D rendering so that both the primary and secondary piano rolls each display the correct Rocksmith phrases and sections applicable to the tracks being displayed.
*Fixed a bug where a note at position 0 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).

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1167 1b2aedea-9eff-cdc0-263b-b87a75789507
*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.

git-svn-id: http://editor-on-fire.googlecode.com/svn/trunk@1168 1b2aedea-9eff-cdc0-263b-b87a75789507