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 b
value is incremented. The a
value is currently always
zero.
TSE3 version history
This is the TSE3 library version:
0.3.0
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 doc/History
).
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)
- Added
ArtsMidiScheduler
- 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.
- Bugfixes.
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.
Track
s now have a DisplayParams
object.
- Playback bug fixes.
- Nicer set of
PresetColours
.
FileRecogniser
handles error conditions better.
- Forwarding events for
Track
, Part
and
Phrase
subcomponent events.
- Improved
StreamMidiScheduler
.
Version 0.0.22 (2001-02-22)
- First fully operational
AlsaMidiScheduler
.
- Slight rearchitecture of
Phrase
management - PhraseEdit
now creates you a Phrase
directly into a PhraseLis
t. This will prevent a common cause of user errors - creating Phrases
but not putting them in the PhraseLis
t. This leads to an unfortunate API change, but it's worthwhile. Part
s will no longer accept Phrase
s that aren't parented.
Listener
classes can now safely call Notifier::attach
and Notifier::detach
in event handlers.
- Added
PhraseEdit::timeShift()
and used this in the Record
object.
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)
- New
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
CommandHistory
.
- Extended
Record
class that is safer when multiple instances exist.
PartDisplay
fix for case of empty Part
.
Version 0.0.19 (2001-01-16)
- More information saved in choices files
- Transport class method
playable()
added
- 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)
- New
CommandGroup
command class that can logically group a number of commands for a single undo/redo operation.
- New
Phrase_Merge
utility,
- Improved file organisation and naming.
- The removal of the
RepeatTrack
for a simpler to use left/rightrepeat marker system.
- The
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.