EOF Version History
-------------------

1.8:

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.

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.

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.

Increased the maximum custom grid snap size to 96 and added 1/64
and 1/96 built-in grid snap sizes.

Changed the "Save separate Rocksmith 2 files" preference to be
enabled by default.

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 GP import so that if the selected track is a percussion
track, EOF offers to import it into one or both drum tracks.

Improved GP import so that if the chosen track has notes in both
voices, EOF asks which of the voices to import.

Added various functions to select/deselect notes and moved them
into their own submenus.

Updated the makefiles to perform link time optimization, providing
general performance improvements throughout the program.

Updated to FFTW 3.3.5, increasing the performance of the time
stretch and spectrogram features.

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.

Organized import functions into a File>Import menu.

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.

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.

Improved the display of difficulty tabs so that the presence of
highlighted content in a tab causes its name/number to be
highlighted in yellow.

Improved MIDI import to recognize the "T1 GEMS" track as the
guitar track in Guitar Hero 1 MIDIs.

Added 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.

Added functions to the Note>Pro guitar>Slide menu to convert from
a pitched slide to an unpitched slide and vice-versa.

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.

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).

Added the ability to import Bandfuse RIFF chart files from the File
menu or over the command line.  Experimental logic to export a
Bandfuse XML file for custom charts is included and can be enabled
in File>Preferences.  A Bandfuse color set has been added, 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.  The ability to
make or use custom Bandfuse charts is pending some reverse
engineering that is still incomplete.  Any and all people with
relevant expertise with modding or hacking Xbox 360 games are
encouraged to help.

Improved LRC/ELRC lyric import to allow the hundredths timing field
to contain a third digit, in which case it will be interpreted as
defining the field in milliseconds.

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 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.

Many improvements to Feedback import:
*Section names are altered to conform to the "[section SECTION_NAME]"
format, [solo_on] and [solo_off] events into guitar and lead guitar
solos
*Improved error reporting/logging that occurs when import fails
*Added the ability to import the keyboard tracks if present
*song.ini is now imported with the Feedback chart
*Added support for more instrument tracks used in Feedback
*Added handling to ignore unrecognized events
*Added support for filenames with special characters (ie. umlauts)
*Added proper HOPO handling to follow Guitar Hero's rules where notes
closer than 11/128 measure are given forced HOPO notation and other
notes are forced strums.  If the unofficial "N 5 #" notation is
applied to a note, that note's forced HOPO notation is inverted.  
*Fixed a math error that could cause notes to round down instead of
up to the nearest millisecond where appropriate.
*Added logic 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.
*Added handling for the unofficial "N 6 #" tapping notation by
creating slider phrases to define such notes.
*Fixed a bug where the target song folder for the new project created
during 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 of charts with unusual beat mapping.
*Added handling for the unofficial "E *" toggle HOPO notation.
*Added logic to convert 5 lane chords to open strum notes.
*Added handling for the unofficial "N 7 #" and "E O" open note
notations.

Updated the save function to write a simplified lyrics file
(lyrics.txt) if the Lyrics option in Song>Properties is checked.

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.

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 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 "Save FoF/Phase Shift files" user preference to
specify whether FoF, FoFiX or Phase Shift related files
(notes.mid, song.ini and script.txt) are created during save.

Added a warning during save if any lyrics have extended ASCII
or Unicode characters, as these aren't compatible with various
rhythm games.

Improved lyric exports to be able to save lyrics into project
folders whose paths contain special characters.

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.  Backup copies of
the project will now be saved with a .bak extension.

Fixed a bug where performing undo would delete auto-recovery
information.

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".

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 "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.

Improved editor logic so that middle clicking on a lyric
selects the lyric and opens the "Edit lyric" dialog for it.

Added the ability to select a WAV file for audio when creating
a new project or importing a Feedback chart.

Added a "Note>Lyrics>Remove pitch" function.

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, which causes problems in some games.

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.

Fixed bugs where the note selection would change unexpectedly.

Added the ability to author accent drum note status using the
Note>Drum>Accent submenus, for Guitar Hero World Tour authoring.

*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.

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 new deselection functions to target cymbals or toms.

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.

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.  The new
"Beat>Time signature>Convert" function can be used to likewise
change a beat's T/S and its tempo while keeping the same length.
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.

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.

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).

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.

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.

Fixed some memory corruption bugs regarding the handling of
Unicode project paths.

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 bugs pertaining to shortening notes.

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.  A
similar "notes_fretlight.mid" for use with the Fretlight M-Player
program will also be written.

Various improvements with beat timing accuracy and auto adjust.  Now
when a note is auto-adjusted, its grid snap position is recorded
and re-applied after the beats have been moved, helping to ensure a
note that was grid snapped stays grid snapped when anchors are moved.

Added a function (Song>Highlight non grid snapped notes) that
dynamically highlights 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.

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 handling so that notes are not lost when pasting or adjusting
notes to be beyond the end of the project.  Now, extra beats will be
added to the project to accommodate such notes.

Updated the EOF project file format to support new features including
pro guitar/bass, keys, dance, open bass strumming, etc.

Added support for authoring custom Rock Band 3 pro guitar tracks,
including a variety of new charting mechanics.  A tutorial for
authoring pro guitar tracks has been added.

Added support for authoring custom Rocksmith and Rocksmith 2014
charts, which include one or more pro guitar and bass tracks and
lyrics.  This adds many more chart features on top of those used for
authoring Rock Band 3 charts, such as Rocksmith phrases, Rocksmith
sections, Rocksmith events, fret hand positions (the Expert difficulty
of which is also used during MIDI export for allowing manual authoring
of positions for Rock Band 3 pro guitar customs), chord fingering, bend
strength, slide end position and various other guitar/bass techniques.
New functions to define and auto-generate several of these have also
been added.  The new "Track>Rocksmith>Remove difficulty limit" function
enables up to 255 difficulties to be authored for a pro guitar/bass
track.  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.  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.  A function
to import Rocksmith XML files has been added to the File menu.  Such
files can also be imported via the command line.

Added a new preference (Save separate RBN MIDI files) that
automatically will save a RBN specific and a pro guitar specific MIDI
file during save, each of which omitting any necessary unsupported
notation.  For example, when creating a pro guitar upgrade, you no
longer have to remove the legacy notes and existing text events, the
"notes_pro.mid" file will provide the MIDI with the correct contents
for building the pro guitar upgrade package.  "notes_rbn.mid" will
have the correct contents for building a package in Magma, even
removing unsupported tracks such as the dance and pro guitar/bass
tracks.  "notes_c3.mid" will also be written if the project contains
pro guitar or bass tracks, since the C3 release of Magma can compile
charts containing pro guitar and bass.

Added more logging and error checking in the leading silence
function.

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.

Improved lyric export so that if a lyric is defined outsid of lyric
lines, a line is temporarily created to hold it.

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 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 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 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.

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 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 an alternate EOF icon image courtesy of Frack.

Added keyboard shortcuts (CTRL+SHIFT+Up/Down in a non vocal track)
that change to the next/previous track of the same format.  This
allows you, for example, to quickly cycle through the pro guitar
tracks even though they are not all contiguous.

Added keyboard shortcuts (CTRL+SHIFT+#) that change the active
track difficulty based on the difficulty number (Supaeasy is
number 0), using the same numbering keys (~ to 0, F1 to F12) as
the shortcuts to set a pro guitar note's fret values.

Improved MIDI import to support Power Gig format charts.

Added a "precise select like" function that is similar to "select
like", but also requires notes to have the same statuses (ie. both
forced HOPO) in order to match.

Made improvements to lyric import:  UltraStar import now handles
invalid lyrics with durations of 0 and/or negative timestamps,
imported lyrics are set to pitchless if they all have the same
pitch, fixed the ability to import extended LRC lyrics, added
logic so that beats are appended to the project if the imported
lyrics extend beyond the end of the chart, updated FoFLC to the
latest version (2.39), adding support for importing Guitar Praise,
JamBand and Rocksmith format lyrics and made various other fixes.

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 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 a song_length INI tag that will give the length of the
chart's audio in milliseconds.

Added an "Edit>MIDI tones" feature that outputs 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.  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.  The MIDI tone number used for muted
(eof_midi_synth_instrument_guitar_muted) or harmonic
(eof_midi_synth_instrument_guitar_harm) guitar notes can be
defined by editing eof.cfg (while EOF isn't running).

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.

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 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 various functions to the Edit>Selection menu to select
or deselect notes using a wide variety of criteria.

Added 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.

Increased the limit of time signature changes that could be
exported to MIDI from 100 to 500.  The number of events that
can be written to each MIDI track during save has been doubled,
as in extreme cases, such as full-album charts, the limit had
been reached.

Added a Track menu and organized several track-specific
functions from the Song menu into it, including a new function
to erase the track's content.

Added the ability to display a spectrogram of the loaded audio
(Song>Spectrogram>Show). The code to generate and display the
spectrogram was graciously provided by 5of0, which utilizes the
FFTW (Fastest Fourier Transform in the West) math library.

Improved the lane toggle/clear functions so that when notes are
removed, the remaining selected notes remain properly selected.

Added a system of keyboard shortcuts to change the active track
difficulty. CTRL+~ sets difficulty 0, CTRL+1 through 0 set
difficulty 1 through 10, CTRL+F1 through F12 set difficulty 11
through 22.

Improved handling for adding leading silence to and importing lyrics
from files that have Unicode or extended ASCII in the file name.

Fixed various bugs that could occur when a track had no
phrases except for just one at a position of 0.

Added the ability to alter the order of a beat's events in the
Beat>Events dialog. The MIDI that is created during save will
have the events written in the displayed order.

Added handling for improperly formatted MIDIs that don't properly
end MIDI tracks, or which include data after the end of a track.

Improved the normal paste logic so that pasted notes begin at the
current seek position instead of first copied note's original
position within its beat. Using seek by grid snap
(SHIFT+CTRL+Pg Up/Dn), this will make it much easier to control
where notes are pasted.

Fixed a bug where in some circumstances, the 3D preview of an
open strum bass note could fill the entire 3D window with color.

Added the ability to enable authoring for a fifth drum lane, for
use in Phase Shift.

Added more checks to the save/save as function to try to detect
if the project fails to save. During save, the file created
during the last save is copied to (filename).previous_save.eof
and then deleted. If the file fails to be created after save has
completed, EOF will alert you and recommend to save as to a clean
location.

Added edit and delete functions to the "Beat>All Events" dialog.

Changed playback logic so that the full volume is used, since
Allegro plays center-panned audio at half volume by default.

Added the ability to disable clicking and dragging notes or beats
(Song>Disable click and drag), which can be used to prevent
accidental movement of notes and beats.

Added a keyboard shortcut to start playback of the song at
25% speed (CTRL+SHIFT+Spacebar).

Added the ability to define a custom display width
(File>Display>Set display width).  The "Display" File menu settings
have been moved into the "File>Display" submenu.  For the pro guitar
tracks, which can have more than 5 difficulties, EOF will display as
many difficulty tabs as will fit in the program window, taking any
custom width into account.

Added support for the album tag in song properties.

Added a function to remove all statuses from selected notes
(Note>Remove all statuses).

Increased the mouse's vertical tolerance for clicking and dragging
beat markers.  Now the entire vertical space between the piano roll
and the difficulty tabs can be used without a beat marker being let
go when dragging that beat.

Added the ability to set a custom zoom level (Edit>Zoom>Custom).
You can use the zoom in/out shortcuts (+ and - on the numberpad) to
zoom in and out of a custom zoom level.  If a custom zoom is in
effect when EOF closes, it is restored when re-opening EOF.

Increased the limit of each type of phrase to 1000, as users had run
into limits on various items in extreme cases.

Made improvements to expert+ bass drum authoring:  Added cleanup
logic that would ensure expert+ bass notes are only defined and
written for the Expert drum track, added a "Mark as non Expert+ bass
drum" function to the Note>Drum menu and added a "Mark new notes as
expert+" toggle-able option to make it more convenient to create
double bass drum charts.

Added an additional drum track (PART REAL_DRUMS_PS) for use in Phase
Shift.  This drum track will behave similarly to the original
"PART DRUMS" track, but "PART DRUMS" will now no longer allow
addition of hi hat or rim shot notations, as requested by the Phase
Shift developers.  This is necessary in various cases where a single
drum track cannot behave appropriately in the multiple different
drum modes Phase Shift allows.  The drum and Phase Shift drum tracks
both share the same solo, star power, drum roll and special drum
roll phrases by default.  This sharing can be turned off for a chart
by enabling the "Track>Phase Shift>Unshare drum phrasing" option.

Improved Beat>Anchor by allowing the position for the selected beat
to be given to the millisecond.

Fixed a bug where yellow gem drum/dance statuses could be
improperly removed when merging the note with a red gem (ie. after
a paste operation or using classic/piano roll/hold input methods to
toggle a gem on).

Corrected the Note menu so that the transpose up/down functions
aren't disabled in the vocal track.

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 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.

Began regular use of several tools such as Coverity Scan, memWatch,
cppcheck and Splint to aid in a massive amount of code cleanup,
fixing many crashes, memory leaks, various bugs, etc.

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.

Changed the "Import/Export TS" preference to be enabled by default.

Added the ability to copy the selected event in the "Beat>All Events"
dialog function to the currently selected beat.

Updated the fret catalog to display the position of the active entry.

Added the ability to edit the start and end positions of the active
fret catalog entry (Song>Catalog>Edit Timing).

Implemented running status encoding logic for exported MIDIs, making
them smaller (about 20% smaller is typical).

Improved INI import so that for boolean tags (ie. "lyrics ="),
having a value of the word "true" (case insensitive) or "1" are both
accepted as true, and any other value is interpreted as false.

Made improvements to project load so that song.ini is rechecked.  If
it contains tags that are different from the existing song
properties or INI settings in the project, it will prompt whether
or not to load those changes.  If it does load them, an undo state
is made and the chart is marked as modified.

Added handling to INI import so that if a "year =" tag has non
numerical characters, it will import as a custom INI setting since
the normal year tag should be a 4 digit number.

Changed paste logic so that if a pasted note uses only higher lanes
than the destination track supports, the offending note is converted
to a chord that uses all-lanes (instead of allowing the higher lane
gems to be removed, causing the note to be deleted), allowing such
notes to remain and be adjusted.

Added a seek to end of chart function.

Added the ability to import files or load EOF projects with audio
that is shorter than the chart's content, or even with no audio at
all.  If notes exist beyond the chart's audio during save, EOF will
display a warning, indicating the first track discovered to have this
issue.

Added Guitar Pro file import capability.  Go PlayAlong XML files
(which define synchronization for a Guitar Pro file) can also be
imported.  Such files can be imported via the command line or when
no project is already open.  EOF will prompt which pro guitar/bass
track to import into.

Updated 3D rendering to display tempo and time signature changes.

Increased the number of entries that can be read and stored during
song.ini import.

Added a "Full screen 3D view" feature that zooms the 3D preview to
fill the entire program window.  This can be toggled on/off through
the right click context menu (Feedback or RexMundi input mode) or
by using CTRL+F.  In this mode, generally all of the mouse controls
are disabled since you cannot see the editor window.  Feedback
input mode can be used while this feature is active.  CTRL+I will
toggle the display of the Info panel on/off (this shortcut previously
toggled the inverted notes preference).

Fixed an issue where if the mouse was left of the first beat marker,
notes could be entered and would be placed at the end of the chart.

Added the ability to lower/raise/reset the 3D preview's camera angle
with SHIFT+(plus/minus/enter) on the Numpad (or alternatively,
backslash/SHIFT+backslash/CTRL+backslash).  The controls for
increment/decrement AV delay have been changed to
CTRL+SHIFT+(plus/minus) on the Numpad.

Added a preference for rendering 3D bass drum gems in a lane instead
of as a bar spanning all the lanes in the chart.

Added the ability to import/export key signatures, from MIDI files,
which can be defined on the selected beat marker via the Beat>Key
Signature menu.  The current key of the song will be used by Phase
Shift to select appropriately pitched notes for freestyle.

Added an option (Song>Catalog>Double width) to display the fret
catalog with the full width of EOF's window, to better display long
fret catalog entries.

Added functions to seek to the next (F3) or previous (CTRL+SHIFT+G)
instance of the current fret catalog entry.  It will be considered a
match as long as the gem/fret pattern matches, the notes don't have
to have the same length or spacing.

Added a user preference for a minimum length to apply to all 5 lane
guitar gems, since custom songs will not play correctly in Guitar
Hero if they are too short (such as 1ms).

Updated the render logic so that the [end] event is displayed above
the beat marker that contains it.

Added a check during save so that if an [end] event is placed on a
note's tail (causing an error), it will alert the user and offer to
seek to the beat containing the offending event.

Improved the cleanup and save logic to be more thorough about
checking for note overlapping, especially for "crazy" notes.

Implemented a Feedback input method. Up/Down seeks by the current
grid snap, Pg Up/Dn seeks one measure foward/back, keys 1 through 6
place/toggle gems at the current seek position (not the mouse
position). Left/Right increases/descreases the grid snap interval's
size. The 'A' key toggles anchor for the beat at the current
position.  The 'del' key deletes the note at the current position if
no notes are formally selected. In this input method, the +/- tempo
controls alter the tempo of the beat (instead of the anchor)
at/before the seek position.  Note operations apply to the note at
the current position if no notes are selected.  Allows notes to be
selected with the keyboard by holding SHIFT when seeking by grid
snap/measure.  Pressing and releasing SHIFT without performing any
operations clears this keyboard selection.  The chart seeks to the
nearest grid snap when playback stops, and the selected beat
updates during playback and after seeking by grid snap/measure.

Implemented new keyboard shortcuts for altering tempos, based on the
Feedback chart editor. +/- increases/decreases the tempo of the
anchor at/before current seek position by 1BPM (or .1BPM if SHIFT is
held, or .01BPM if CTRL+SHIFT is held).  The shorcuts for
increment/decrement AV delay have been changed to use CTRL++ and
CTRL+- on the numpad.

Fixed a minor bug where an undo state wasn't made if Enter was used
to place gems at the current seek position (Classic and Hold input
methods).

Added a function to seek to the current fret catalog entry
(Song>Seek>Catalog entry).

Created a "Song>Disable expert+ bass drum" chart option that will
omit any drum gems marked as double bass from the MIDIs during save.
For RBN authors, this will make it easy to author the drum track once
and create both a single and a double bass chart from it.

Added a user preference (Use dB style seek controls) that reverses
the roles of the page up and down keys (ie. allowing the Pg Up
keyboard shortcuts to seek forward) and makes the left/right keys
seek foward or backward by one grid snap interval at a time.

Added the ability to lock the tempo map to avoid accidental changes
to the beat markers (Song>Lock tempo map).

Added the ability to seek to a beat or measure by its number.

Added the ability to seek forward or backward one anchor by holding
both CTRL and SHIFT when using the Pg Up or Pg Dn key (when grid snap
is disabled).

Added logic so that EOF will write a "five_lane_drums = True" INI tag
if the fifth drum lane is enabled during save.  This tag forces the
chart to be treated as a 5 lane drum track (ie. Guitar Hero) even if
there are no gems on the fifth lane, for use in future versions of
Phase Shift.

Added logic so that EOF will write a "drum_fallback_blue = True" INI
tag if drum gems are imported from a QB format (ie. pre-GH5) Guitar
Hero file.  This tag will be used in future versions of Phase Shift
to decide how to down-chart a 5 lane drum chart to play on a 4 lane
drum kit.

Added logic to store unsupported MIDI tracks (ie. for pro keys,
harmonies) during MIDI import by prompting for each that is
encountered.  Each event in the stored MIDI tracks is stored in high
precision millisecond timing, and is saved to the output MIDI during
project save conforming to the chart's tempo map.  During MIDI
import, EOF will offer to store the MIDI's tempo map and beat track
if mid beat tempo or time signature changes are found.  This works
around EOF's designed behavior of adding beats so mid beat changes
can exist on beat markers, since for Rock Band upgrades, the
upgrade's tempo map has to match that of the original chart to work
correctly.  Stored tracks can be added and deleted from the
"Song>Manage raw MIDI tracks" dialog menu.

Added logic to the MIDI export code to prevent writing overlapping
forced HOPO markers, which violates the MIDI standard.  These
generally occurred when saving a GH imported chart that contained
extended sustain chords.

Updated setting defaults based on my findings on multiple
computers:  Buffer size is 6KB, "disable vsync" is in effect and
AV delay is 300ms.

Moved note/phrase processing to the start of playback to reduce lag
that can occur when switching between tracks during playback.

Changed EOF to default to using the "Manual" HOPO preview setting.

The Mac release now uses the Cmd+key shortcuts instead of CTRL+key
shortcuts, to avoid a crash that is either a bug in Allegro or a
behavior of Mac OS.

Corrected the grouping behavior of the lyric preview and doubled the
maximum length of lyric preview lines.

Added Guitar Hero import functionality.

Fixed a bug where newly created notes wouldn't be selected
automatically in Piano Roll, Classic and Hold input methods.

Dance, lead guitar and rhythm tracks now have difficulty tags written
to song.ini, for use in Phase Shift.  Empty tracks will have a
difficulty value of -1 written.

Fixed a bug with the note merge logic that could cause statuses such
as expert+ bass to be lost unexpectedly.

Added functions to the Beat menu to double or halve the tempo at the
selected beat, allowing for the tempo to be manipulated in a way that
does not destroy a chart's sync.  These are utilized by the "Adjust
tempo for RBN" feature that will automatically halve or double tempos
where possible in order to comply with Magma's requirements that all
tempos are between 40 and 300 BPM.

Fixed a bug where anchors were automatically removed if they were the
same tempo as the previous anchor.

Added the display of section markers to the editor window.

Added the option to mark new yellow drum gems as open, pedal or sizzle
hi hat notes, for use in Phase Shift.  Red drum gems can also be
marked with these notations, but this should only be done when
authoring hi hat notes during a disco flip (snare and hi hat lanes are
swapped for playability reasons).

Made improvements to the waveform graph by improving its rendering
performance and allowing the 3 colors used to be altered in song.ini.

Added a check during paste that will provide a warning if pasted notes
have a gem on a lane higher than the active track supports.

Fixed a minor bug where using Note>Toggle to remove the last gem for a
note wouldn't cause it to be deleted immediately.

Added a Note>Clear menu allowing gems for specific lanes to be removed.

Fixed a bug where user settings weren't read if EOF was launched from
outside its program directory (when loading a file via command line).

Added an "Add new notes to selection" preference where adding gems
causes notes to be added to the currently selected notes instead of
the selection being cleared and only the newly created/edited note
remaining selected.

Added support for "sizzle" (half open) hi hat (yellow cymbal)
notation, for use in Phase Shift.

Added a super fine tuning function (CTRL+SHIFT+Scroll wheel) when grid
snap is disabled that changes note lengths in 1ms increments.

Fixed some bugs regarding the placement of cymbal notes.

Fixed various bugs that were specific to the Classic, Piano Roll and
Hold input methods.

Changed the note hit/selected color for green and yellow notes in the
editor window to be red instead of white, which should contrast much
better and make it easier to see the notes when selected, moused over
or reached during playback.

Added the ability to change the color set in the Preferences menu to
that used by Rock Band, Guitar Hero or Rocksmith, and changed the
default color set to Rock Band.

Added some special handling in the MIDI import logic so that old,
single-track MIDI files that were created by converting a Freetar
Editor chart can be imported and resaved to make them compatible with
various rhythm games such as Phase Shift.

Added a button in the Preferences dialog to automatically configure
the options back to their defaults by then pressing OK.

Resolves a bug regarding beat marker positions after adding a beat or
deleting a beat/anchor.

Added filters to the "All Events" dialog, providing the option to only
show events specific to the current track or events that are section
markers.

Improved the text event edit dialog so that it won't mark the chart as
modified when you click OK unless the event's text or track specific
status was changed.

Made some optimizations to the audio playback code.

Made improvements to the split lyric function, which will now split
pitchless lyrics with the correct lengths for each piece.

Fixed a bug with the click and drag note logic that would allow
notes/lyrics to be drug off the left end of the piano roll.

Fixed a bug that would cause open hi hat status to be lost.

Added a menu function to automate the thinning of notes in a difficulty
based on the notes in another track (Note>Thin difficulty to match).
When the function is used, EOF checks each note in the active track
difficulty against the notes in the active difficulty of the specified
track. If a note in the active track is not close enough to a note in
the specified track (within 2ms), it is removed.  This will make it
extremely easy to thin the number of notes in the lower difficulties of
a pro guitar track to be similar to the note thinning that was done for
lower difficulties of a five lane instrument track or vice versa.

Updated MIDI import to check for the "pro_drums = True" tag to make it
possible for chart MIDIs where all yellow, blue and green drum gems
are cymbals to be imported correctly.  For this to work, the chart
must have been created in 1.8b14 or newer.

Added support for slider sections, for use in Phase Shift.

Fixed a bug that wouldn't reliably allow various phrases to be deleted
by selecting the last note in the phrase and using the Note menu
function to remove the phrase.

Added support for open hi hat and foot pedal controlled hi hat marking
for yellow cymbal notes and rim shot marking for red drum notes (in
the Note>Drum> menu), for use in Phase Shift.

Fixed a bug where pitchless/freestyle vocals didn't render with a
white border when they were selected or moused over.

Added logic to ensure that the [end] text event is written after both
the end of audio position and the last beat marker notes.

Fixed a bug where using the right mouse button to change a lyric's
pitch would cause the lyric to rapidly toggle between pitched and
pitchless states.

Added the ability to copy the solo, star power, arpeggio, trill or
tremolo phrases into the active track from another track.

Added the ability to seek forward or backward 1ms at a time by holding
both CTRL and SHIFT when using the left or right arrow key.

Added the ability to seek forward or backward one grid snap interval
by holding both CTRL and SHIFT when using the Pg Up or Pg Dn key
(when grid snap is enabled).

Added the option (Preferences>Paste erases overlap) to delete
notes whose start positions would be overlapped during a paste
operation, similar to the behavior of the Feedback editor.  If this
preference isn't in effect, a pasted note is allowed to merge with a
note that is overlapped (is within 2ms of the pasted note), merging
note statuses.

Improved the undo/redo system by adding a random 3 digit number
(created during launch of EOF) to the filenames, making it extremely
unlikely that two instances of EOF will overwrite each others files.
The number of undo states has been increased from 8 to 100.

Added a playback performance option to disable sound processing (ie.
volumes and sound cues are not handled).

Added playback performance options to not render the editor window, 3d
preview or info panel.

Fixed an issue where the Mac version of EOF wouldn't behave properly
when EOF leaves and re-enters the foreground in newer versions of
Mac OS.

Updated EOF to remember the last active track, zoom and difficulty.
The settings in the Audio Cues dialog are also remembered.

Added the option to hide drum note tails from the editor window
(File>Preferences>Hide drum note tails).

Added the ability to make text events track specific, which is useful
for RBN authoring or adding features that require this capability
(ie. disco flip events, pro guitar trainer sections, Drum mix events).

Added a "pro_drum = True" tag that is written if any cymbal notes exist
in the drum track during save, allowing games to be able to determine if
a chart without tom drums is supposed to be all toms or all cymbals.
This tag is being implemented in both Phase Shift and FoFiX.

Added the ability to author 5 lane (5 pads and one pedal) drums.

Added the ability to define band and track-specific difficulties.

Added some logging functionality to help identify points of malfunction.
Logging can be disabled in Preferences.

Added a "Reset Offset to Zero" function to assist with preparing charts
for use as Rock Band customs.

Made Various MIDI import improvements, including handling for mid-beat
tempo and time signature changes and fixing an INI import related crash.
Various techniques that are authored but not displayed in Rock Band 3
pro guitar tracks (ie. bends, harmonics) are now imported.

Made various MIDI export improvements, including better Rock Band Network
compliance, resolving many errors that would occur when trying to build
EOF's MIDI files in Harmonix's Magma utility, corrected tom phrasing.
EOF will add drum mix events required by Magma to the output MIDI if you
haven't already manually added them ([mix 0...], [mix 1...], [mix 2...]
or [mix 3...]).

Added support for building in Mac OS X.

Fixed a couple paste related bugs.

Fixed a bug where seek to previous beat wouldn't work correctly if the
current seek position was before the first beat marker.

Fixed some grid snap related bugs and improved their accuracy.

Fixed the handling of time signatures in the MIDI import and export
logic that would cause incorrect timings when #/8 time signatures
were encountered.

Added support for launching a chart in Phase Shift's practice mode by
adding a "Link to Phase Shift" function in the File menu and a "Test in
Phase Shift" function in the Song menu.

Corrected some bugs involving expert and pro drum statuses.

Added the ability to chart open strum notes.  Open strum notes in the bass
track are compatible with Phase Shift.

Removed duplicated rendering code, allowing HOPO on/off notes, percussion
notes, vocal slides and cymbals to be shown correctly in the fret catalog.
The 2D rendering code has also been improved to skip rendering phrases and
beat markers that are off-screen.

Added an export image sequence function in the Song menu, exporting a
series of PCX format image files that represents 30fps playback of the
chart during playback.  Various video editing programs can import image
sequences (such as VirtualDubMod) and treat it as raw video, allow you to
add the chart audio and encode it together to produce a video.  Since each
frame of the video is encoded one frame at a time and not recorded during
playback, the resulting video is 100% lag and stutter free.  A
"File>Display>Benchmark image sequence" function has been added to use this
feature to test the render speed of EOF, for comparing performance with
different computers, build options, OS settings, etc.


1.71:

Fixed a crash in the Paste From function.

Fixed the lyric padding logic by ensuring the events were sorted before
processing lyric phrase padding.

Fixed a bug in the grid snap logic that would crash on charts that were
less than 3 beats long or so.

Added a lyric padding loop to add padding to vocal percussion phrases.

Fixed a build issue with FoFLC's MinGW makefile.


1.7:

Fixed an issue where "crazy" notes were allowed to lap notes in the same lane.

Disabled the loading of scores during MIDI import to avoid writing a
corrupted song.ini during save.

Fixed a crash that could occur when using Paste From.

Star Power drum notes are now rendered in silver in the 3D preview window.

Corrects the tracking of star power phrases during lyric import.

Fixed HOPO display in the 3D panel to respect the selected HOPO preview mode.

Added the ability to mark pro drum notation, used by Rock Band 3.

Fixed an issue where forced HOPO on/off notes were saved to MIDI incorrectly.

Added Leading Silence option to Song menu. This can be used to add silence to
the beginning of the loaded OGG.

Fixed an issue where notes' statuses were not kept when they were auto-adjusted.

Added time signature support. Time signatures will not be written to the MIDI
during save operations or loaded during MIDI/Feedback import by default, but
this can be enabled in File>Preferences.

Note statuses (HOPO/Crazy/Double Bass) are now kept during copy and paste
operations.

Fixed the "clean" target operation in FoFLC's makefiles.

The Album tag information is automatically added as an INI setting if it exists
in the MP3 or OGG file chosen when creating a new chart.

Raised the maximum grid snap interval count to 64.

Added support for marking Expert bass drum notes as Expert+ notes, which will
appear in Phase Shift as Expert+ bass notes instead of Expert bass notes.  An
expert+.mid file will also be written during save if any Expert+ notes exist,
for use in FoF.

Improved the MIDI import to be more efficient and to prepare for more
comprehensive time signature support.

Updated to version 2.35 of FoFLC.

Made improvements to documentation and makefiles.

Made improvements to MIDI export: offers to correct pitchless lyrics, warns if
lyrics are outside phrase markers, corrects MIDI event order, adds padding for
lyric phrases (to work around bugs in FoFiX) and enforces a length of 1ms for
drum notes (to work around bugs in FoFiX).

Corrected preview of pitch shifts and added the display of vocal slides in the
editor window.

Improved Feedback import by allowing it to load the defined audio file (even an
MP3), fixing a desync issue and fixing an issue where the chart's song folder
wasn't updated after an import.

Added support for charting vocal percussion notes by using the Backspace key.
New audio samples can be assigned to sound for vocal percussion from the
Song>Audio cues menu item.

Made various optimizations to graphics, audio, save and input logic.

Added support for Rock Band Audition chart import (MIDI data only).

Added support for opening .chart files (Feedback import), rba files (RBA import)
and OGG/MP3 files (New chart) via command line.

Added the ability to render a waveform graph of the currently loaded OGG.

Added a new zoom level (1/1).

Added the labeling of measure numbers next to the beat markers.

Added volume slider controls for the chart volume and each audio cue.

Corrected the controller button defaults and conflict detection.

Fixed a crash that could occur during MIDI export if a MIDI was imported and was
longer than the audio file that was selected.

Fixed a crash that could occur when canceling MIDI import.

Fixed a crash that could occur parsing song.ini during MIDI import.

Fixed an issue where some second markers might not be rendered in certain zoom
levels in certain conditions.

Fixed an issue where a key+Spacebar combination could leak input into PART DRUMS
to add notes when playback is started.

Fixed an issue where playback would lose sync if the left arrow or Home keys
were used to seek to the beginning of the chart during playback.

Fixed an issue where ] wouldn't work properly for lengthening lyrics.

Fixed an issue where using the guitar strum input mode in PART VOCALS would
destroy existing lyrics.

Improved how grid snap works for time signatures other than 4/4.


1.666:

Changed how the tempo map is exported to the MIDI file. The old method could
cause the position of BPM changes to be slightly incorrect leading to inaccurate
placement of notes in the exported MIDI.

Fixed "Toggle Crazy" function.

Improved MIDI import.

Fixed issue with MIDI import missing forced-HOPO notes when there is more than
one note to a forced-HOPO phrase.

Added "Freestyle" submenu to "Note" menu. This menu has functions to change the
freestyle status of selected lyrics. This can be used to quickly set a section
of lyrics to freestyle.

Made a few rendering optimizations.

Updated to newest version of FoF Lyric Converter.

Made improvements to the ID3 tag reader including better line-synched lyrics
support and support for reading song information from version 1 ID3 tags.

Made many UI improvements and fixes.

Updated vocal charting tutorial.

Updated manual and in-program help.


1.65:

raynebc added support for reading ID3 tags from MP3 files to fill in song
information automatically.

Fixed Ctrl+C keyboard shortcut issue.

Fixed '.' character not being accepted in "Change BPM" dialog box.

Fixed grid snap issue in PART VOCALS editor.

Fixed some issues with audio fine-tuning.


1.64:

Fixed MP3->OGG conversion on Windows.

Added Feedback chart import.

Improved speed of MIDI import.

Changed configuration file to text-based system.

Added audio fine-tune option (only available by hand-editing the config file for
now). This is useful for Linux users who have the slowed audio playback issue
which plagues all Allegro 4 programs under certain conditions.

Added option to allow custom grid snap to be applied per measure instead of per
beat.

Fixed bug which made newly placed notes not automatically be selected if you
weren't editing PART GUITAR.

Fixed bug which made moving lyric notes behave strangely.

Made some changes to the UI.


1.63:

Fixed bug which caused EOF to crash when importing a MIDI that doesn't have a
tempo map.

Fixed lefty mode PART_DRUM 3D preview.

Increased maximum note length.

Added PART_VOCALS note editing. Right-click/Insert adds a note, lyric, or
changes the pitch of the clicked note. Scroll wheel changes note length.

MIDI import now imports vocal notes for PART_VOCALS.

Made 3D preview area into a full keyboard when viewing PART_VOCALS. Clicking on
a key will play the note. Right-clicking a key will center the piano roll on
that note.

Added "Vocal Tones" option to the "Edit" menu. This allows you to hear the vocal
notes as they are passed during playback. Also allows you to hear tones as you
are editing. Thanks to raynebc for supplying the piano samples.

Fixed PART_VOCALS phrase marking to adhere to the Rock Band standard. EOF will
now place the beginning of the phrase slightly before the first selected note
and the end of the phrase slightly after the end of the last selected note.

Changed MIDI timing from 100 ticks per beat to 120. Should fix some issues with
incorrect HOPOs in the exported MIDI file.

Forced HOPO options now export correctly to the MIDI file. Before I was writing
a "Note On" event where a "Note Off" event should have been.

Added support for forced HOPOs to the MIDI import function.

Added ability to play a selection. Holding 'S' while starting playback will play
only the time from the beginning of the first selected note to the end of the
last selected note.

Added ability to play a vocal tone by hovering over the piano roll and pressing
the 'P' key.

Fixed MIDI import capable of reporting a percentage of completion greater than
100%.

Added vocal tones indicator to the information panel.

Fixed bug which caused EOF to incorrectly report whether or not a difficulty
setting has notes when using the keyboard shortcuts to cycle past PART_VOCALS.

PART_VOCALS no longer displays difficulty tabs as they do not apply.

Disabled "Note->Hopo" menu when viewing PART_VOCALS.

Made a few minor changes to "keys.txt."

Added "Split Lyric" function to "Note" menu. Insert spaces where you want the
lyric to be split. Supports multiple splits per lyric.

Made other PART_VOCALS related changes.

Made catalog work with PART_VOCALS.

"Edit->Paste From->Catalog" is now disabled when pasting would cause some notes
to be overwritten.

Slightly improved MIDI import track detection. Some MIDIs have unspecified
tracks which could be imported incorrectly as PART_GUITAR.

Right-click context menu (available in RexMundi input mode only) now only
available when right-clicking in the editor pane.

Added tenth-second markers to freatboard display.

Fixed crash bug in Guitar Strum input method.

Fixed "Note->Resnap" deselecting the last selected note.

Fixed importing INI files with unicode text causing data to be truncated.

Added support for mono and non-44100hz OGG playback to mixer. Now everything
should stay synchronized no matter what kind of OGG is loaded (still should be
44100hz stereo to work properly in FoF).

Fixed bug which could cause EOF to crash if you cancelled loading an OGG when
you loaded a chart from a directory that contained no "guitar.ogg" when another
chart was already loaded.


1.62:

Fixed bug which caused the beat lines to be placed incorrectly while dragging a
beat after changing the position of the first beat marker or changing the MIDI
offset.

Fixed issue with "Beat->Anchor."

Fixed Star Power notes not being unmarked after removing Star Power phrases.

Fixed issue with file permissions in Linux which could make it impossible to
create new songs from scratch using the "Create New Folder" setting.

Fixed bug which caused beat markers to be messed up when moving anchors.


1.61:

All text is now handled as UTF-8 internally.

Many changes to internal code to allow proper handling of filenames with
unicode characters.

Updated fonts to include characters from 128-255. There should be fewer issues
with song tags when importing MIDI files.

Fixed issue with INI settings containing '=' when importing MIDI files.

The 'T' key no longer activates the "Note->Toggle Crazy" menu item unless there
are notes selected.

MIDI import now properly tags "crazy" notes.

Made OGG, claps, and metronome all mix into the same stream. It should now be
impossible for the claps and metronome to become desynchronized with the music.

BPM adjustments now affect solo and star power sections.

Added new force HOPO options under the "Note" menu. These are currently not
supported by FoFiX (as of 3.120 Final). These are exported using the Rock Band
2 force HOPO notation.

Lyric copy/paste now uses separate clipboard. This prevents some glitches and
makes more sense given that PART_VOCALS is a different kind of track.

Fixed issue with MIDI delta times being calculated incorrectly during MIDI
export. The exported "notes.mid" should be completely accurate now. This should
also improve the viability of EOF as a secondary fretting tool for those who
prefer other tools but need some of EOF's features.

Added new shortcut key ('G') to toggle grid snap. This replaces the old method
of holding Control to disable grid snap.

Fixed glitch with Ctrl+Tab shortcut which could cause multiple tracks to be
marked as selected in the menu.


1.6:

Updated vorbis decoder to latest version.

Unknown INI settings are now imported as custom INI settings when importing a
MIDI.

Implemented new CPU idling system (thanks Kris Asick) which does a better job
giving time back to the OS. EOF should now use only what it needs to run. This
feature is experimental and may be enabled by passing the command line argument
"-newidle" when opening EOF.

Fixed bug in "Song->Catalog->Delete" function which could cause catalog entries
to be corrupted.

Fixed potential yet highly unlikely crash bug when adding new notes.

Modified build system to support 64-bit under Linux (thanks Lystestic).

Improved solo marking.

Added PART_VOCALS editing. Now you can add lyrics to your songs.

Added new drum capabilities. Now, when you are editing PART_DRUM you can fret
by playing the drums while the song is playing. Drum notes will appear at the
grid snap position closest to the current playback position.

Fixed issue which made the AV Delay setting work incorrectly. You should now be
able to sync up the video and audio perfectly again.

Fixed text event issue which could cause EOF to write corrupted MIDI files
under certain circumstances.

Fixed issue which caused "File->Save" to fail after having used "File->Save As"
to save the song.

The "Note->Toggle Crazy" command is now undoable.

Increased maximum custom grid snap interval from 15 to 31.

Fixed potential buffer overrun issues with dialog edit boxes.

A few source fixes for Mac OS X.

Other miscellaneous fixes.


1.59:

In the New Project wizard, the folder name under "Create New Folder" is now
properly filled out with "ARTIST - TITLE" when converting from MP3.

Fixed bug in the New Project wizard which caused the user to have to find and
open "guitar.ogg" manually after the MP3 was converted.

In the New Project wizard, renamed "Use OGG Folder" to "Use Source Audio's
Folder" to avoid confusion.

Fixed bug in "Song->Test In FOF" feature which made it impossible to test
PART_DRUM tracks.

Fixed OGG profile bug which caused the chart elements realign themselves to the
"guitar.ogg" profile even when another profile is currently loaded.

EOF now only deselects all notes when clicking in a blank area if the user is
not holding Shift or Ctrl.

Keyboard buffer is now cleared before showing a dialog.

Backup file is now named after the loaded project. For example, loading
"test.eof" will create a backup of "test.backup.eof" when the time comes to
create a backup file.

Fixed bugs which made it impossible to extend an existing solo or star power
phrase.

Fixed issue with deleting a beat that sits directly between two anchors. Now
the beat is erased and the anchors stay put like they are supposed to.

Added sanity checking to chart loading code to handle charts with corrupted
data from earlier versions, specifically regarding solo and star power
sections.

trinidude4 added support for built-in MP3->OGG conversion on Mac when LAME and
Vorbis tools are installed.

Fixed issue with "Save As" which caused the "File "guitar.ogg" exists.
Replace?" dialog to be confirmed if you pressed Enter in the "Save As" file
dialog, not giving you a chance to select "No."

Fixed issue with undo not marking the chart as modified if the undo was
performed immediately after saving.

Creating a new chart from a file called "guitar.ogg" with the "Use Source
Audio's Folder" option no longer triggers an overwrite prompt for "guitar.ogg."
"notes.eof," "notes.mid," and "song.ini" will still trigger the prompt if they
exist in the folder with "guitar.ogg."

When importing from a MIDI, EOF now imports star power from GH songs as star
power instead of solos.

Improved Solo/Star Power marking logic.

Fixed bug in note auto-adjust code which could cause some notes to be merged in
songs with more than one track.

Added some safeguards against seeking past the end of the audio when using
certain seek commands.

EOF no longer prompts to overwrite "guitar.ogg" when using "Save As" to save a
new ".eof" file in the folder of the currently loaded project.

Fixed bug in New Project wizard which made EOF fail to recreate "guitar.ogg"
when creating a new project from an existing OGG file.

EOF now falls back to loading "guitar.ogg" profile if it fails to load the last
selected profile when loading a new chart.

EOF now resets the OGG profiles when importing a MIDI.

Changed shortcut for "Edit->Selection->Select All" to Ctrl+E.

Added Ctrl+S shortcut for "File->Save."

MIDI export now uses the current OGG profile data when creating the "notes.mid"
file.

Added missing history for v1.58 to "history.txt."


1.58:

Fixed bug in the new project wizard which made it impossible to create a new
song from scratch.

Fixed bug in "song.ini" exporter which made "eighthnote_hopo" option not work.

Fixed bugs in OGG profile handling. The last-used profile is now loaded
automatically.

Fixed crash bug in MIDI import when too many overdrive paths or solos are
marked.

Fixed bugs in "Beat->Delete" function.


1.57:

Fixed issue with GHWT "crazy" notes becoming unmarked after various note
operations.

Added shortcut key ('T') to toggle crazy notes.

Fixed an omission from the version history under 1.56.


1.56:

EOF no longer creates an initial window before setting up the real window.

Fixed changing window size in the Display dialog not working.

Added initial support for BRE sections. Click the new "BRE" tab to place BRE
notes. Typically a Big Rock Ending is defined by a five-note chord which runs
then length of the BRE section.

Added new Custom Grid Snap setting. Select "Custom" from the Grid Snap menu and
enter the number of snap positions you want per beat. This function is similar
to Feedback's Quantization Interval.

Speed, HOPO view, and Grid Snap settings are now stored in the config file.

Widened the Controller dialog.


1.55:

Added "Use Software Cursor" and "Force 8-Bit Color" options to the display
dialog.

Made EOF use the desktop color depth by default.

The New Project wizard now reads the ARTIST and TITLE tags from the OGG file
and fills in the information automatically. If the information is not available
it is left blank.

Made "Location for New Song" in the New Project wizard default to "Create New
Folder" with the folder filled out as "ARTIST - TITLE" automatically.

Fixed a bug with OGG profiles.

Slightly improved Controllers dialog. Should help users who had issues with not
being able to set up certain fret buttons.

Added GHWT crazy notes support. Notes set as "crazy" ("Note->Toggle Crazy")
will have a black dot in the middle. These notes will not be altered by the
note cleanup code allowing you to make them overlap in odd ways. Note: FOF
doesn't officially support these kinds of notes. Songs may not play as expected
when using "crazy notes."


1.51:

Added command line option "-softmouse" to force EOF to draw it's own mouse
cursor instead of trying to use the system mouse cursor. Use this if you have
issues with the mouse flickering or disappearing.

Fixed issues with OGG profiles which caused the chart to become corrupted under
certain circumstances.

Fixed "history.txt" under version 1.5 regarding the note lengths being slightly
off when using grid snap. This issue was completely resolved and I forgot to
update the history to reflect that.


1.5:

All new internal data structures allow more dynamic handling of memory and
increase the speed of many operations.

EOF will now clean up temporary files it creates during use.

Made editing the catalog undoable.

Input buffer now cleared after all alert dialogs.

Fixed BPM in AVDelay song. Now the beat lines are in sync with the notes.

Fixed note length being too short when grid snap is enabled. Notes will now
stretch all the way to the next snap position like they are supposed.

Fixed Click+Drag on fretboard area when no notes selected causing EOF to mark
the chart as modified.

Made new note graphics for the 3D preview.

Added more information to the "Help->Keys" dialog.

Added support for time signatures. Select a beat marker at the start of a
measure and go to "Beat->Time Signature" on the menu to set the time signature.
This has no effect on the MIDI output and is only there as an aid to editing.

Fixed issue with notes being deleted during a note auto-adjusted when an anchor
was moved.

Invalid menu items are now greyed out when they are not valid to prevent the
user from clicking them and to prevent confusion about what some functions are
for.

Fixed bookmark placement. Bookmarks are no longer affected by the AV Delay
setting.

Added asterisks to indicate which tracks and difficulties contain notes.

Fixed issues with song being marker as modified when no modification occurred.

EOF now imports text events from MIDI files.

EOF now uses the OS mouse cursor when possible.

Added option to load alternate OGG files while working on a project. Useful it
you are working on a song with separated audio.

EOF now uses far fewer system() calls.

Added option to resnap selected notes using the current grid snap setting.

Improved "Save" and "Save As" function now saves "guitar.ogg" if it doesn't
exist in the save location.

Added "New Song" wizard. Now it is much easier to create a new project.

Made many improvements to the project creation code.

You can now add Star Power and Solo sections to your songs.

Context menus (in RexMundi input mode) now display options relevant to the area
being right-clicked.

Made both Shift and Ctrl keys work for shortcuts instead of just the left ones.

Made new "Song Properties" dialog with more advanced features based on vectris'
"Song.ini Generator 2.0."

Fixed bug in edit boxes where text would display incorrectly sometimes if it was
longer than the edit box.

All new tutorial.

Updated user's manual.

New Linux source package is better organized thanks to suggestions made by Ryan
King.

Build instructions are now included in the source package.

Added command line option "-desktop" to make EOF use the same color depth as
the desktop. This could improve performance for some users.

Many other fixes and improvements.


1.42:

Fixed bug in save routine which caused the catalog to become corrupted.

Fixed deleting the only catalog entry and adding another one causing entry
"0 of 1" to be selected. This could cause EOF to crash.

Editing bookmarks is now undoable.

Fixed doing "Beat->Add" causing the last beat in the song to be incorrectly
positioned at 0 milliseconds.


1.41:

Fixed note auto-combine feature erasing notes when it shouldn't.


1.4:

Added shortcuts to "Paste From" menu.

Fixed "Paste From->Catalog" giving some notes incorrect length.

Made transposing notes undoable.

Fixed deleted note not being deselected like it should.

Fixed several issues with the fret catalog.

Fixed keys "leaking" through the menus and causing some shortcuts to be
inadvertantly activated.

EOF will now quit checking for MP3 support after it has been found. The program
should now open much quicker for those who have libvorbis and lame installed.

EOF now automatically backs up your charts after every 10 changes.

Improved MIDI import. Now songs import perfectly.

Enlarged Events dialogs to make longer event names readable.

Added "Beat->All Events" dialog which lists all events in the song and their
timestamps and allows you to seek directly to a specific event.

Undo system now caches undo states to disk to conserve memory.

Clipboard now caches notes to disk to conserve memory.

EOF now only uses memory for MIDI import while that feature is in use. This
cuts memory usage significantly.

Made some minor changes to the undo system.

Added "Save As" option to save your project in a new location with whatever
filename you want.

Added options to seek to previous/next screen. Can be accessed through the menu
or by the shortcuts Ctrl+PGUP and Ctrl+PGDN respectively.

Fixed problem where adding a BPM change with "Adjust Notes" selected would
cause notes to be added that shouldn't have been.

Fixed issue where claps wouldn't sound when switching switching difficulties or
tracks during playback.

"Adjust notes to new offset?" dialog now accepts the Y and N keys as shortcuts.

Added "Beat->Add Beat" to add a beat after the selected beat marker and
readjust the bpm of the previous anchor to make all the beat markers fit
evenly.

Added options in the "Beat" menu to push the MIDI offset back/up by one beat.

Fixed issue where events would be attached to the wrong beats after doing an
operation which adds or deletes beats.

Updated 3D engine for preview. Now looks much better in higher resolutions and
renders a little faster.

Updated "keys.txt" to bring some new shortcuts to light.

Adjusting the MIDI offset from "Song->Properties" no longer asks you if you
want to adjust notes if there are none.

Added "Note Auto Adjust" option to "Preferences." When it is checked, EOF will
adjust notes when moving anchors and holding Shift while doing so will disable
the note adjustment. Otherwise, holding Shift will enable the note adjustment.
This applies when adjusting the MIDI offset when moving the first beat markaer
as well.

Made changing note lengths and toggling anchors undoable.

Added "Song->INI Settings" menu option. This option allows you to define
additional INI settings for your song.

Catalog now remembers which track the frets are from so they will display
properly when working with multiple tracks.

EOF now remembers the last "frettist" so you don't have to reenter it for every
song you make. You can still change it from "Song->Properties" if you need to.

Notes at the same position are now combined automatically.

Bookmarks and catalog entries now properly adjust when the MIDI offset is
changed and the notes are moved.

Updated user manual.


1.36:

Fixed asterisk (*) staying in window title after save operation.

Fixed deleting note with Delete key not undoable.

Added shortcut to access "Edit->Clap Notes" menu.

Fixed Alt+Tab task switching causing Tab key to get "stuck" and cycling the
difficulties indefinitely.

Added Y/N shortcut keys to Yes/No dialogs.

Added "Adjust Notes" check box to the BPM Change dialog. Notes will only be
adjusted if the check box is selected.

Fixed Page Up/Page Down not working properly after seeking to a bookmark.

Updated the way some information displays in the information panel.

Fixed bug where songs path was overwritten after it was loaded from the config
file.

EOF now asks you if you would like to save if you have unsaved changes when
trying to exit the program or load another song.

Adjusting the MIDI offset by dragging the first beat marker no longer triggers
the "Adjust notes..." dialog when there are no notes on the board.

Fixed MP3 support check for Linux and Mac. If you have vorbis-tools (oggenc)
and LAME installed, EOF will show MP3 files in the file selector when you are
creating a new song.


1.35:

Removed debug message from MP3 converter.

EOF now detects availability of oggenc and LAME. If both are not available an
error message is displayed and MP3 files won't be shown when creating a new
song.

Made Shift+Tab cycle difficulties backwards.

Made Shift+Ctrl+Tab cycle tracks backwards.

Changed Song Properties can now be undone.

Fixed bug which made audio stutter when switching out of EOF while the song is
playing and the metronome or clap sounds are enabled.

EOF now displays an asterisk (*) in the title bar when there are unsaved
changes.

Window title is now properly updated after undo/redo operations.

Window title now displays the track name when loading a song through a shell
operation (e.g. launching from FOF Song Manager).

Fixed issue with first note being selected when deselecting notes.

Fixed issue with "Old Paste" putting notes in the wrong difficulty.

Default zoom level now depends on selected screen mode.

Added slight delay for Click+Drag to prevent accidental dragging of notes and
beats.

Fixed clapping issue that triggered a clap when starting playback past the last
note in the song.

Fixed issue in various dialogs where the edit box would only be selected when
the mouse was over the topmost part.

Deleting the last anchor no longer messes up the BPM at the previous anchor.

Added selective claps. Now you can opt to have the claps occur only on specific
note colors.

Fixed issues with overlapping notes being created when placing notes at the
very beginning of the song when mouse was positioned before the first beat
marker.

Fixed range select not working properly after dragging a note.

Made bookmark color slightly brighter.

Added "Song->Seek->Rewind" option to rewind to the last place you started
playback.

Starting/stopping song playback is now much smoother.

Made "Paste From" operations undoable.

Added "Fret Catalog" functionality. Use it to mark off repeating sections of a
song, paste the notes at the current position, and check for note variations.

EOF will now ask if you want to adjust the note positions when changing the
MIDI offset.

Notes positions and lengths will now automatically be adjusted when adding BPM
changes and moving anchors. Hold Shift while dragging an anchor to prevent the
adjustment.

Added new "Feedback" input method. Some EOF features may be missing from this
mode. Also, not all Feedback features are emulated.


1.32:

Fixed problems with audio stuttering when switching out of EOF.

Fixed seeking issues.

Added error message when no folder name specified when creating a new song.

Added multiple bookmarks. Press Ctrl+0-9 on the number pad to add a bookmark.
Press 0-9 on the number pad to seek to that bookmark.

Added ability to seek to the first and last note of the song. Press Ctrl+Home
and Ctrl+End respectively.

Automatic MP3-to-OGG conversion now automatically converts the output to
44100hz. This should alleviate all of the speed issues people have been having.

Fixed issue with incorrect claps when switching difficulties during music
playback.

Fixed overlapping notes issue when changing the length of notes.

Fixed glitch which caused a note to be displayed in the wrong position while it
was being dragged.


1.31:

Added ability to zoom in and out with the number pad +/- keys.

Added playback speed shortcuts. Use ':' to slow down and '"' to speed up. These
shortcuts cannot be used while the song is playing.

Fixed issue with incorrect claps when switching tracks during music playback.

Fixed menu not closing completely when using certain combinations of keyboard
and mouse.

Removed Alt+Space and Alt+Control+Space playback shortcuts.


1.3:

Fixed problems with audio stuttering when switching out of EOF.

Fixed some minor rendering issues.

Warning is now displayed if imported OGG is not 44100hz stereo.

Made negative MIDI offset invalid. If you enter a negative value it will be set
to 0.

Enhanced copy/paste function to scale pasted notes to fit the beat markers at
the paste position. The old paste functionality is still available under
"Edit->Old Paste" if you need it.

Fixed keyboard buffer not being cleared when using shortcut keys to get to some
dialog boxes.

New and Load functions now remember the last place a file was selected. Now you
don't have to browse back and forth between your EOF song folder and your music
library.

Fixed bug in Windows file selector which made it not work under certain
conditions.

Fixed bug in Linux which made automatic conversion of MP3 to OGG not work.

Fixed bug that made drum tracks display the notes incorrectly in the editor
window when using the RexMundi input method.

Added bookmarks. Press F7 to bookmark your position. Press F8 to seek to the
bookmark position.

Paste operation is now undoable.

Fixed menu closing when user clicks it after opening it with one of the menu
shortcuts.

Split up user preferences and settings. Preferences are now located in the
"File->Preferences" dialog.

Added a "CPU Saver" option. Adjust the slider to change the amount of CPU EOF
will use. EOF will still use full CPU when song is playing for now.

Fixed bug which caused selected notes to become deselected in certain circum-
stances.

Added alternate display modes in case the default fails.

Fixed issue with keyboard buffer not being cleared after a dialog is closed.

Made Enter key only place a new note if input mode is Classic or Hold.

Fixed bug which made grid snap malfunction with small snap settings in certain
circumstances.

Added support for text events. Go to "Beat->Events" to edit the events for a
particular beat marker. Event text will have to be entered manually for now.

Added support for larger window sizes. Use "File->Display" to change the size
of the program window. If you set a window size that's equal to or greater than
the current desktop resolution, the program will run in full screen. Note: EOF
is not designed to be run in full screen and may exhibit strange and unwanted
behavior when in that mode.

Added more info to "Help->Keys."

Drum tracks with name "PART DRUMS" now import correctly when using MIDI import.

Added more playback speed shortcuts. Now press Alt+Space for 75% speed and Alt+
Ctrl+Space for 25% speed.

Added more zooming options.

Updated icon graphic.


1.21:

Fixed bug that made the MIDI offset impossible to move in certain situations.

Fixed issue with music playing as static on PowerPC based Macintosh systems.

Fixed issue with menu going crazy when you activate it.

Fixed crashing bug when pasting notes past the end of the song.

Changed beat rewind/forward shortcut from Alt+Left/Right to Page Up/Page Down.

Made menu keyboard shortcuts activate the menu like they are supposed to.

Changed Alt+Right-Click to Shift+Right-Click to create 0-length notes.

Paste operation now properly selects the newly pasted notes.


1.2:

Fixed FOF link not saving properly.

Fixed anchor bug when moving an anchor that is next to another anchor.

Added "Beat->Delete" to the "Beat" menu. Use if you have too many beats between
anchors and you need to delete some without having to redo your anchors. A new
BPM will be calculated for the previous anchor automatically.

Right-clicking a note in Piano Roll edit mode will now select that note as it
should.

Added trinidude4's "makefile.macosx" to the source package.

Made Alt+# create 0-length notes in RexMundi input mode.

Added "Edit->Playback Rate" menu option to set the speed of the audio playback.
You can play back at 100%, 75%, 50%, or 25% of actual speed. Ctrl+Space will
still play back at 50% speed regardless of the setting.

Made Insert key work as a right-click for people without a second mouse button.

Reduced memory usage significantly.

Grid snap positions are now calculated more accurately.

Updated "keys.txt" with some new information.

Fixed seek to start messing up the timing of the claps and metronome ticks when
used while song is playing.

Added ability to configure where EOF saves your created songs. Go to "File->
Song Folder" on the menu to configure.

Added controller configuration for Guitar and Drums for use with "Guitar Strum"
and "Guitar Tap" input methods.

Reduced CPU usage in some areas of the program.

Made some slight cosmetic changes to the UI.


1.1:

Added ability to move first beat marker to change the MIDI offset for the song.

Made menu only activate when clicked to prevent song from cutting off when you
accidentally move the mouse too high.

Added ability to create non-tailed notes by holding Alt+Right-Click.

Anchored beats are now truly anchored. Now your anchors won't disappear unless
you manually delete them.

Added encoder settings when converting from MP3 to OGG.

Code restructured to enable porting to other platforms.

Added Linux-specific system calls for song creation.

Fixed a bug in "gametime.c" which prevented compiling on Linux.

Lowered minimum buffer size for the OGG player to 1024.

Fixed other minor glitches.

Disabled "Link To FOF" feature in Linux version until I can figure out how to
make it work.

Added installation instructions to "readme.txt."

Added "Disable VSync" option to settings.


1.03:

Rewrote range select algorithm. Should fix all bugs related to range select and
copy/paste.

Fixed HOPO notes not being recalculated after a paste operation.


1.02:

Added ability to seek to previous/next beat. Hold Alt while pressing Left or
Right to seek to the previous or next beat respectively.

Added ability to seek to a specific beat by right clicking the top of the beat
marker.

Fixed bug where note length couldn't be changed when certain grid snap settings
were selected.

Fixed some minor rendering issues where the AV delay setting wasn't being
accounted for.


1.01:

Fixed bug that was causing note range select to malfunction sometimes.


1.0:

Added scroll bar to editor pane. Now you can quickly navigate through a song.

Added new control types (Guitar Tap and Guitar Strum).

Improved information pane.

Added keys to change length of notes (for people without mouse wheel). Use the
'[' and ']' keys to shorten and lengthen notes respectively.

Added ability to make smaller changes to note length by holding Control while
changing the length. Does not have an effect in snap modes.

Window title is now properly updated when importing a MIDI.

Added user manual and tutorial to the package and linked to them from the Help
menu.

Updated quick keys dialog ("Help->Keys").

Fixed memory leaks when loading and/or creating more than one song in a single
EOF session.

Fixed MIDI export note velocity bug.

Fixed note length snap for 1/12, 1/24, and 1/48 notes.

Fixed snap menu not updating when using snap mode shortcut keys.

Fixed information pane not showing correct snap mode.

Fixed bug when linking to FOF when Windows UI features are disabled.

Fixed bug when cancelling New or Load operations which messed up the window
title.

Fixed bug with pen note length where the length was not being displayed
correctly.

Fixed bug with new notes not always being selected as they should be.


0.996:

Added claps and metronome shortcut keys ('K' and 'M' respectively) and
corresponding info to the information panel.

Fixed metronome/claps bugs for rewind/forward and slow-motion playback.

Fixed metronome/claps bug which caused audio stuttering when moving mouse over
the menu.


0.995:

Added Claps and Metronome sounds!


0.99:

Added snapping option for 1/12 notes.

Added snap info to the information pane.

Added shortcut keys to change the snap mode ("," to previous mode, "." to next
mode).

Changed slow-mo key from Shift to Control.

Fixed overlapping notes bug.


0.98:

Added workaround for anchor being deleted while moving. Now unnecessary anchors
won't be deleted until the mouse is released.

Added an option to disable Windows native UI features for file selections and
use the built-in selectors from the previous versions. Go to "File->Settings"
and select "Disable Windows UI."


0.97:

Added HOPO views. Go to "Edit->HOPO" and select your view. Default is RF.

Added new grid snapping options for 24th and 48th notes.

Added an option to delete anchors. Go to "Beat->Delete Anchor" and the anchor
will be deleted and the beat lines readjusted to match the remaining anchors.

Fixed glitch in piano roll editor making placed notes appear slightly moved
when you hover over them.

Improved MIDI import algorithm, BPM changes should be more accurate.


0.96:

Added undo support. You can undo up to 8 times. Just select "Edit->Undo" or
press Ctrl+Z.

Fixed note range select bug where notes in all difficulties would be selected
instead of just the ones in the current difficulty.


0.95:

Now uses Windows file select and folder select dialogs when in windowed mode.

Updated UI to look more modern.

Made menu to always show. Now you don't have to press tilde of alt to bring it
up.

Added full screen support. Press Alt+Enter to switch. EOF will remember the
last selected mode and will launch in that mode. Implementation is incomplete
at the moment, program will minimize when certain tasks are performed and you
will have to manually switch back.

Changed default edit mode to Piano Roll as I believe it is the most user
friendly of all the modes.


0.94:

Added initial support for importing MP3s. If you import an MP3 it will
automatically be converted to OGG (no settings yet).

Added option to set a beat anchor by time (Beat->Anchor Beat).

Added "Anchor All Beats" setting. If selected, all beats will be moveable. If
disabled, only beats at BPM changes will be moveable.

Added safeguard against moving a beat marker past previous/next beat marker.

Fixed piano roll inserting additional colors in a note when using inverted
notes.


0.93:

Added anchored beat support. Now you can move beats with the mouse and a new
BPM will be calculated for the previous BPM change and, if there is another BPM
change later in the song, the current BPM. The new BPMs are calculated as you
move the anchored beat.

Fixed bug that made the note length not be set for the new notes as advertised
in the previous release. EOF was still setting the length to 100 despite what
length was shown on the "pen."


0.92:

New input method: RexMundi  Hover the mouse where you want a note and press 1-5
to place a new note. Alternately, if you are hovering over an existing note,
1-5 will toggle the colors in that note.

Added right-click menu (only available in RexMundi input mode for now).

Made default note lengths to be dependant on which grid snap mode you are
using. If snap is off it is still 100, but if snap is on the note will be the
length of the snap (e.g. 1/8 snap makes the default length a 1/8 note).

Added Speed and Zoom to the Edit menu. Speed is the speed of the 3D preview
scrolling. Zoom is the zoom level of the edit panel.

Empty notes are erased properly in piano roll mode.


0.91:

Fixed bug in Piano Roll mode where notes would disappear when they should be
highlighted during music playback.


0.9:

Added new edit modes. Now you can choose from Classic, Hold (hold 1-5 and
right-click to place notes), and Piano Roll. Go to "File->Settings" and choose
your preferred method.

Added command line support for MIDI import.

MIDI import now load song information from the "song.ini" file.

Fixed grid snap moving notes when trying to deselect.

Fixed MIDI import. Now supports VPBM MIDIs.

Fixed bug in MIDI import where meta events could overwrite the MIDI running
status and cause some tracks to not import properly. Now loading of GH2 and 80s
tracks works.


0.89:

Initial support for MIDI import. Only works for non-VBPM songs at the moment.
Also, does not import settings from the song.ini file yet. You should not load
and save to the MIDI directly. If you are going to open a MIDI and work on it
during several sessions, you should load the EOF file for subsequent edits to
ensure the note positions stay as accurate as possible.

Pressing Enter to place notes now allows longer notes by holding the Enter key
when the song is playing. If the song is paused, the default note length will
still be applied.


0.88:

Playback controls and time displayed in upper right corner.

The window title now shows the current part in addition to the song title.

Snap to grid options. Set to off by default, select 1/4, 1/8, 1/16, or 1/32 to
snap to that size note (1/4 is a whole beat). Affects new note placement as
well as note moving.

Now you can press Enter to place a note at the current position. Works while
song is paused and while it is playing. Grid snap does not affect this feature.

Fixed "Test In FOF" feature selecting wrong part and going out of range
sometimes.


0.87:

Fixed saving problem with tempo track. Songs using default BPM will now save
properly.


0.86:

Disabled some debugging stuff I had left enabled by accident.


0.85:

Support for PART DRUM added.

Added command line launch support.


0.8:

VBPM support! Select the beat you want to edit the BPM of and go to "Beat->BPM
Change" menu to set. Alternately, select the beat and some notes that occur on
the beat and use "Beat->Calculate BPM" to do it automatically.


0.7:

Beat lines now appear in the Editor and 3D Preview panes.

MIDI offset now taken into account when exporting MIDI and when drawing the
beat lines.

Position line in 3D Preview now drawn at the correct location for all AV delay
settings.

Notes Z position in 3D Preview slightly changed to be more accurate.


0.69:

Supports BPM other than the default 120. Go to "Song->Properties" to set.

Added BPM calculator. Just select some consecutive notes that occur on the beat
and go to the "Beat->Calculate BPM" menu item.

Added support for additional song information. Now saves BPM, Frets By, and
MIDI offset, the latter two also written to the INI file.

Now updates INI file properly upon save.


0.65:

Lefty mode for 3D preview.

Smooth playback mode (experimental). If playback isn't smooth for you, try this
option.

Added additional settings to the Settings screen (F10 or File->Settings) to set
Inverted Notes, Lefty Mode, and Smooth Playback mode.

3D preview borders drawn correctly.


0.6:

UI overhaul now uses more visually pleasing fonts, tabbed interface for
difficulty selection, and a new 3D preview window!


0.5:

Transpose selected notes up or down by pressing Up or Down respectively.

More options available in the menus. Shortcuts properly implemented for most menu
items.

Seek to start or end by pressing Home or End respectively.

Press Tab to switch between difficulties.

Press Ctrl+Tab to switch between parts.

Notes with no tails will now light up properly during song playback.

Properly deletes temporary files created by the MIDI exporter.

Window title now updated properly when Song properties updated.

Can't draw notes past end of song now.


0.4:

Added editing of "PART BASS", "PART COOP GUITAR", and "PART RHYTHM" parts.

Internal fixes to MIDI exporter to support additional parts.


0.3:

Multinote Select by holding Ctrl and clicking.

Note Range Select by holding Shift and clicking. All notes from last clicked to
current note will be selected.

Paste From (Edit Menu) allows you to easily copy notes between difficulties so
you don't have to start from scratch for each difficulty.

Select Like (Edit Menu) allows you to select notes that are like the current
selected note. Useful for the next feature.

Press Ctrl+(1-2-3-4-5) to toggle parts of the selected notes. E.g. If you have
selected all notes that are Red+Blue+Purple, you can press Ctrl+5 to toggle the
purple note on all selected notes (useful with Paste From and Select Like).

Press Ctrl+I to toggle inverted notes. Choose the view that you prefer
(preference is saved to eof.cfg).

Fixed error in save routines which caused problems with 0-length notes.

Fixed songs with multiple difficulties not saving correctly.


Alpha:

This is the first version.
