This list summarizes the functionality that currently
works. There are likely to be many bugs and problems yet,
but we are quite far. The only thing needed is to debug the
stuff, add a few features and make the stuff truly user
friendly and reliable + write zillion plugins.
- Graphical user interface
- Read/write setups to/from file
- Plugin-based system
- Control for GUIs' level of detail
- Audio and MIDI IO on Linux and IRIX
- Selective hiearchical multilevel undo/redo in GUI
(altough not for all operations)
- Threading (DSP and GUI in different threads)
- Real-time priority stuff (Not yet fully used tough)
- Automagical GUI generation for plugins (when needed)
- Setups can be saved to a file
- Audio can be transferred between modules (module =
- Events (MIDI etc.) can be transferred between modules
- Internationalization (language translation)
Version 0.2.3 (released 23/2/2004)
This was a bug-fix release.
- Fixed ALSA-0.9 and OSS support, now they seem to compile
- Fixed some other minor compilation problems (for gcc 3.2.3)
Version 0.2.2 (released 9/2/2004)
- Support for ALSA 1.0
- New plugins
- QAWL - Qt Audio Widget library
- Simple audio file editor program (to be integrated to Mustajuuri)
Version 0.2.1 (released 12/3/2002)
- Installation does not try to autofind the Qt libraries any
more. Instead we rely on the user setting QTDIR properly.
- Added new IIR filter plugin by Benoit Gauduin. This is useful
for loudspeker correction etc.
- It is now possible to store own message types in the project
- MMC (MIDI Machine Control) in works.
- User interface improvements, use knobs in place of sliders
- Parameter changes in the DSP-thread are now visible in the UI
thread as well.
- Made the FPU -management code more compact. The old version
had unnecessarily many functions. Less options, less
hassle. Floating point calculus and C/C++ do not fit together too
- Several new compressor and limiter plugins (also wrapped to
- Bug fixes as usual. Mustajuuri seldom crashes any more.
Version 0.2.0 (released 22/8/2001)
- New framework for real-time capability management -- givertcap
-application now in use.
- Removed a few template classes from the plugin API -> Faster
compilations and smaller binaries.
- A series of new dynamics plugins: limiters and
compressors. Various versions for different levels of speed and
- New framework to deliver commands to the MJ_kernel
object. This helps greatly in making dynamic non-local user
interfaces possible (controlled over a socket). It also enables
easier intra-application action management.
- Several rather important bug fixes all over the place.
- Licensing somewhat modified. Now some parts licensed under
the GPL rather than LGPL.
Version 0.1.0 (released 7/2001)
- Auralization plugin for an array of loudspeakers (multiple
channels in, many channels out).
- New multichannel sample-playback synth.
- Networked auralization control system.
- New message type MJ_MSG_BOOL and corresponding GUIs.
- Important API changes. We should be close to final
Mustajuuri 1.0 API here...
Version 0.0.6 (released 5/2001)
- A system to make Mustajuuri plugins appear as LADSPA
plugins (works on both Linux and IRIX)
- Fixed a few usability problems of the mixer. Many remain...
- Added an nth order FIR and IIR filters to the low-level DSP
- Made the second order IIR class template-based.
- Additions to low-level DSP classes.
- ALSA 0.9beta3 support.
Version 0.0.4 -> 0.0.5 (released 3/2001)
- Bug fixes as usual
- LADSPA support - plugins work, their GUIs work and saving
to a file works as usual.
- Added a pitch detector plugin and a tuning meter plugin
(based on the pitch detector)
- New delay plugin
- Support for Linux 2.4 (affects rtc)
- Linux capability support - now Mustajuuri drops root
priviliges after getting the necessary capabilities. BTW: On
IRIX there should be no need for this kind of stuff as the xfs
filesystem has capability entries etc.
- Improvements to latency. Now Mustajuuri can get down to
about 5 milliseconds latency on tuned Linux systems.
- The level-meter plugin is now exact. Also added
- Finally got Alsa 0.5.x code working somewhat. The new Alsa
0.9.x code is in works...
- New utility app cdtrunc to truncate audio files to a
length acceptable for CD-writing (src/utils/cdtrunc). Useful if
you need to burn the audio files to a CD.
- Added threaded audio file read and write plugins (need
debugging and refinement)
- Added plugin info display
- Implemented a very basic tooltip help for plugins
- CTRL+S now saves as expected
- Implemented sampling rate and frame size changes - these
have been included in the API since the beginning, but now there
is a user interface for them. All usual sampling rates in range
8-96 kHz are now supported.
- Minor API tweaks to make life with highly variable module
I/O configuration possible.
- Added a "watchdog" thread to minimize probability of system
- Infra for setuid operation: 1) POSIX capabilities 2) Drop
root uid. This needs checking and refinement.
- Minor tweaks to EQ guis
Version 0.0.3 -> 0.0.4 (released 2/8/2000)
- Bug fixes as usual
- DSP API modifications - less virtual methods ( -> smaller
binaries). Added a custom memory allocator - hopefully it helps.
- Undo API enhancements - single-object multiparameter undo
now works (this means that a single undo-action can undo many
parameter changes at once)
- Duplex audio starts to work properly
- Made a GUI for controlling latency requirements
- Important GUI fixes to the mixer plugin - more features,
less complexity, slightly better looks, less chances to
accidentally mess up the mixer, new geometry manager
- Created a multi-band parametric and a graphical EQs. The
GUIs and algorithms needs more tuning tough.
- Created a simple compressor plugin
- The single-band parameteric EQ now has a lot better UI -
one can drag the graph directly rather than using the clumsy
- Changed the remaining integer ids to string ids
- DSP and GUI API cleanups - less methods, less code, lower
memory footprint (hopefully), same functionality - now ready for
- New auxiliary library mjutils - contains classes for quick
- Minor usability tweaks (most of the GUI is still horrible)
- Non-linear sliders now exist and work
- Added load meter and audio buffer meter to play-control window
- Minor additions to low-level DSP library (more filter
- Removed all remaining references to "iostream.h" in libmj*
Version 0.0.2 -> 0.0.3 (released 20/6/2000)
Still plagued by the desire to add features and improve
APIs. Should really polish and stabilize code and plugins.
- Native ALSA support via improvevements to divaio
- A bit better performance via "Vector Mathematics Library"
(VML) on x86/3dnow platforms
- Custom widgets (level display etc) and gui utilities moved
to separate nearly-standalone library "mjwidgets". Still relies
on MJ_Array (found under mj) in one case...
- Works with both Qt2.0 and Qt2.1 (NOT with Qt 1.xx)
- Number of bug fixes
- Some clicks removed (volume, pan)
- Autodetect audio system configuration on IRIX in
- Fixed a naming typo in MJ_ParameterNuneric
- Improved documentation, both in WWW and in the API
docs. Also some FAQs
- New GUI feature: Now the module header labels are
clickable. They used to be underlined and I always wanted to
click on them (like web browsing). Now the result is what one
expects. Relies on the parent-gui - only works currently within
the mixer plugin.
- Minor development environment improvements
Version 0.0.1 -> 0.0.2 (released 5/2000)
Fair amount of progress. API and ABI changes and additions. No new
fundamental features tough.
- Number of bug fixes
- Changed number of identifiers (messages, modules) from
"int" to "char *". This should make things much more flexible
and eventually enable OSC-like message addressing (if it already
does not). Probably created lots of new bugs. Also caused new
virtual methods to appear....
- Basic support for text-mode user interface (may be broken
- Added memory debugging facilities for the most problematic
classes (MJ_Message, MJ_MessageId, MJ_Parameter)
- Switched documentation system from Doc++ to Doxygen. Now
the html documents tell whether function is inline, virtual,
protected or what
- New plugins: parametric EQ, oscillator.
- The home-page now has link to "Virtual Reality Assembler"
- Fixed some plugins so changing parameter values in real
time does not cause clicks in the output (=interpolate
everything). This should be done to all plugins...
- Restructured the code tree. Now low-level DSP classes have
their own library
Version 0.0.1 (released 3/2000)
The first release
- Plugin system
- Real-time operation
- Signal and event processing (audio, MIDI etc)
- Automatical GUI generation
- Collection of plugins