About TSE3 version numbers
The TSE3 library version number describes the release you are using. It
is split into three components,
a.b.c. For each minor
release that is API compatible with the previous release, the
c value increases. For any modification to a public API
that may require clients to modify their code the
value is incremented. The
a value is currently always
TSE3 version history
This is the TSE3 library version:
This file lists the major changes between releases of TSE3. There is another much more detailed (perhaps too detailed) history file which is found in the TSE3 source package (in the file
version 0.2.7 (2003-03-07)
- tse3play doesn't need to open MIDI devices to just convert files
- New MIDI recording example code
- gcc 3.2 compatibility
version 0.2.6 (2002-10-30)
- tse3play picks the playback port much more cleverly
- Doxygen documentation supported
- Bugfixes for tse3play
version 0.2.5 (2002-08-22)
version 0.2.4 (2002-07-28)
- API extensions
- Author contact details update
version 0.2.2 (2002-05-11)
- Essential build fixes
- Other minor bugfixes
version 0.2.1 (2002-05-08)
- Alsa 0.9 fixes
- Builds under latest auto-tools
- More documentation for command classes
Version 0.2.0 (2002-04-29)
- Major enhancement:
A new MidiScheduler framework that is more extensible, robust, and
easier to use. The public API is mostly unchanged, but implementation
is far easier.
- New "magic" port/channel numbers for "all ports" "no port" etc.
- Improved (and fixed) MidiEcho.
- More command classes and utilities.
- Panic objects now have a port value.
version 0.1.3 (2002-03-28)
- alsa 0.9.x support
- build support for more linux distributions
- win32 platform support.
- error exceptions api extended.
- more example code.
Version 0.1.2 (2001-11-28)
- MidiEvent bug fixing
- Improved instrument file support
- More example code and documentation
- Imporved MidiFileExport API
- Introduction of XML file writing
(This is a prerelease, the files cannot be read yet)
Version 0.1.1 (2001-07-24)
- Builds cleanly under gcc 3.0
Version 0.1.0 (2001-07-10)
- Officially moved to beta status
- More complete instrument file support
- Various bug fixes
Version 0.0.25 (2001-05-16)
- Alsa code compiles cleanly on a lot more platforms.
- tse3play can now play legacy TSE2 files
Version 0.0.24 (2001-03-30)
- Sysex handling has been implemented fully.
Panic class now does GM/GS/XG MIDI resets.
Version 0.0.23 (2001-03-23)
- Alsa code greatly improved, with workarounds for Alsa 0.5.x bugs.
- Tidy up of the OSS interface code.
Tracks now have a
- Playback bug fixes.
- Nicer set of
FileRecogniser handles error conditions better.
- Forwarding events for
Phrase subcomponent events.
Version 0.0.22 (2001-02-22)
- First fully operational
- Slight rearchitecture of
Phrase management -
PhraseEdit now creates you a
Phrase directly into a
PhraseList. This will prevent a common cause of user errors - creating
Phrases but not putting them in the
PhraseList. This leads to an unfortunate API change, but it's worthwhile.
Parts will no longer accept
Phrases that aren't parented.
Listener classes can now safely call
Notifier::detach in event handlers.
PhraseEdit::timeShift() and used this in the
PhraseEdit::tidy fixing - last event recorded is no longer truncated.
- Bug fixes.
- More API documentation.
Version 0.0.21 (2001-02-16)
- First ALSA support.
- All listener interfaces in separate headers in "listen" directory.
- Documentation gets built and installed with the library now.
- TSE3MDL file format modification.
- MIDI file export bug fixed.
Version 0.0.20 (2001-01-24)
TrackSelection class, an analog of the
PartSelection. These two can work together to ensure there is only ever one object selected.
PhraseEdit vastly improved for use with GUI
Phrase editors. Can now manage the selection of events much more intelligently and maintains a 'modified' status flag.
- All separate tse3 libraries have been rolled together into one
libtse3 library for ease of use.
- Added buffer flushing to the
Record class that is safer when multiple instances exist.
PartDisplay fix for case of empty
Version 0.0.19 (2001-01-16)
- More information saved in choices files
- Transport class method
- Documentation building fixed
Version 0.0.18 (2001-01-09)
- More Command classes
- Greatly improved documentation
- Destination and Instrument system used by Application support (can be saved in configuration files)
- General bugfixes
Version 0.0.17 (2000-11-21)
This is a minor release which includes a missing file, Progress.h.
Version 0.0.16 (2000-11-20)
This sees a lot of work involving application support. Many issues have been addressed following application development from TSE3 users.
- TSE3 now reports the progress of slow operations so an application can display a progress dialogue.
- DisplayParams now has a range of PresetColours (for things such as intro/verse/bridge etc).
- Improved Destination class, manages Instrument definitons
- Improved MidiScheduler interface
- Util::Modified utility.
Version 0.0.14 (2000-10-17)
This is a small delta release that removes some Alsa stuff since at the moment it is not fully operational. There have also been some documentation improvements.
Version 0.0.13 (2000-10-16)
- Added multiple-thread support to TSE3 (see tse3/Mutex.h)
- Beginnings of support for the ALSA library
- New UnixMidiSchedulerFactory that chooses either OSS or ALSA depending on build flags and the system state
- Greatly improved build configurations (select OSS, Alsa, Mutex)
- Application class now how has a Destination object
- More Command classes
- Better docs
- Bug fixes (copying Parts broken)
Version 0.0.12 (2000-09-25)
- A much improved Notifier class. TSE3 callbacks now have different methods for different events, with arbitrary numbers of parameters. This is a great improvement.
- Work-arounds for gcc bugs which caused errors for some people compiling 0.0.11.
OSSMidiScheduler can now have multiple paths specified for patches directories, separated by colons. This allows TSE3 to support Red Hat and SuSE installations straight out of the box.
- Improved documentation.
Version 0.0.11 (2000-09-12)
CommandGroup command class that can logically group a number of commands for a single undo/redo operation.
- Improved file organisation and naming.
- The removal of the
RepeatTrack for a simpler to use left/rightrepeat marker system.
Song implementation of the solo track more robust.
- Removal of all the iterator classes from public API.
Version 0.0.9 (2000-08-29)
The 0.0.9 brings better structured API documentation; as well as the comprehensive reference, you can now browse one section per namespace. Also minor improvements to the implementation.
Version 0.0.8 (2000-08-16)
The 0.0.8 release sees a tidy up of some of the API. This means that some TSE3 bits have been renamed, and some files moved. In addition there are some new namespaces, and others have been renamed. In the run up to a stable 1.0 release these issues have been addressed. (The changes should not affect any current users since they are in some of the more advanced parts of the library.)
In addition there is more application support and command class implementation.
Version 0.0.6 (2000-07-18)
- More reliable OSS driver
- Enhanced application support facilities
- Standardised internationalisable error handling
- New Part insert actions
- Improved documentation
- Plus other API enhancements
Version 0.0.5 (2000-06-20)
- Rew/ff whilst resting.
- Better event timing.
- More application support.
Version 0.0.1 to Version 0.0.4
See the verbose
doc/History file, entries 2000-05-14 to
2000-06-98. These versions comprise very much the infancy of the version
3 TSE library.