Kara-Moon Forum

Developers & Technology => The open source alternative => Topic started by: folderol on February 02, 2015, 05:35:48 PM



Title: Yoshimi 1.3.2 is here!
Post by: folderol on February 02, 2015, 05:35:48 PM
Thanks to Andrew, and Harry things are moving at a dramatic pace now. This version consolidates work that was begun way back almost this time last year. For those interested it's available here (http://sourceforge.net/projects/yoshimi/?source=directory) and below is the full description of the recent improvements.

The main feature of this release is the revision of instrument root directories and banks.

In the first place, you no longer have the concept of a default root directory, but a current one. This can by changed at any time without requiring a re-start, so there is now no longer a need to display the (confusing) contents of all roots at the same time. Also, roots now have ID numbers associated with them, but no changes have been made to the actual directories to achieve this. Instead the IDs are stored in the config file. The same ID system is used for banks, again without making any file system changes.

At first run (and whenever new root directories are set) unknown roots and banks are given these IDs. Once set they will not change no matter how many more roots and banks are later added. You can however, manually change root directory IDs in 'settings'. Bank IDs can be changed via the config file, and in the near future the GUI will be updated to also manage this. With these IDs, roots and banks can be grouped/ordered by function instead of alphabetically. When using the GUI you will always know exactly which root and bank you fetch an instrument from.

The significance of all this is that your MIDI sequencer can now reliably use these ID numbers to select roots, banks and (already available) instruments. That Rosegarden or Muse file you save today will be just as valid in the future, unless you make the deliberate choice to change some IDs. Indeed, you can now start with an 'empty' Yoshimi, and via MIDI, set roots, banks and load instruments into parts (enabling the parts as you do so) swapping banks and roots as necessary. While the MIDI file runs it can silently pull instruments from any root/bank into any non-sounding part without disturbing the playing ones.

In Yoshimi->Settings->CC you can enable or disable all these MIDI features, and can define which CCs you want to use. Bank can be either MSB or LSB (as before). Root can be any non-reserved CC but including the one not currently in use for Bank. Also, Extended Program Change now has the same restrictions as Root, and these three are all cross-checked against each other. As an example you might set Bank to LSB and Root to 0 (MSB), effectively giving you extended bank control compatible with all sequencers.

Also, different instances have their own config files so that you can have (say) the main instance with current root(9), bank(23) while instance 4 has current root(2), bank(6). You can call up instances by number and thus access saved settings for that instance. As each instance has its own MIDI and audio ports, they can behave more-or-less independently.

In doing all of this we have completely changed the way we manage the structure internally, resulting in much greater efficiency, at the cost of only a slightly slower startup. Swapping roots performs *no* file operations. Swapping banks only fetches the directory list of the newly selected bank. Changing an instrument doesn't have to search for a file, only load from its already known location.


Following on from that, we now have a startup splash image that appears instantly so you always know Yoshimi has started even if some later error causes it to abort. The actual image may change and we are still looking for artwork (as mentioned elsewhere). We currently have 4 contributions, including two from out very own offthewall :)


So much for the high visibility stuff!

More work has been done on LV2, including integrating the new root and bank controls.

The main window and the mixer panel are now fully in sync.

Ambiguities in instrument names have been resolved and Yoshimi will no longer save unnamed or default instruments. If you load a Zyn (or older Yoshimi) file that has unnamed instruments they will be given the name 'No Title'.

You are now prevented (with an explanation) from attempting to change a bank entry in a non-writeable area. Previously it would seem you had done so, but the changes would not (of course) have been saved to file - this goes back very many years!

And... a few bug fixes - where do they come from?

Phew! :D


Title: Re: Yoshimi 1.3.2 is here!
Post by: Oren on February 04, 2015, 02:06:48 AM
Fundamentally impressed, Mr. Godfrey  :-

As I understand the significance of Linux development numbers, once a software package like Yoshimi progresses beyond the "1.0" point, it is considered a mature, fully functional tool.
"1.3.2" designates some significant progress and upgrades to the original concept...?

Ubuntu Studio 14.04 is proving very stable and full-featured, and, as you know, Yoshimi is included. Oh, the possibilities O0