On September 30, 2014 12:16:10 AM Andrew Deryabin wrote:
> Hello all!
> 
>      Some time ago I've started implementing lv2 support for muse 2. Now
> it's working in alpha state!

Freakin' awesome!

I need some time to check it out as I'm knee deep in Jack 
 backends vs. new slaves vs. port naming hell. Talking with other devs ATM.

Robert or Florian can also commit the changes.

Robert might just go ahead give you membership, as I'm sure the code is
 fairly unobtrusive, and hey it works. We can help fix any problems.

I did the track/plugin/synth audio/midi/control processing, 
 you might have questions...

> I hope that there are those who would like to test it and submit reports :).
> 
> *What works now:*
> 
> -Enumerating LV2 plugins and synths.
> -Supporting all commonly used LV2 features
> -Instantiate synth LV2 tracks
> -Instantiate LV2 plugins as inserts in tracks and aux busses (yes, this
> required some hacking muse2 code, but not so much)
> -Playing live midi events from midi tracks inputs (like hardware midi
> keyboard, etc.)
> -Playing midi tracks sequencer events

Yeah man!

> 
> *What does not work now:
> 
> *-GUIs. Though auto-generated guis for insert plugins are working, but
> with some bugs

That's where it starts to get real specific to each system.
I'll be sure to follow your work and learn more about LV2 GUIs.

> -Saving plugin's parameters on on song save - no ability to restore LV2
> plugin and synth settings on song load

Synth parameters may seem a bit tricky to understand and follow in MusE.
IIRC Each system (remember that includes our own MESS synths) needed slight 
 tweaks. Consider the different ways one gets/sets parameters in each system.

Loading and saving have different tweaks in each system. 
Maybe incomplete or not 100% working. A bit cloudy/ugly in places maybe.
One issue is there may be different entities competing for song load values. 
For example look at a song file with a DSSI-VST synth (MusE with VST chunk 
 patches compiled in! We support chunks.)
You'll see initial parameter values that were taken from the controls, plus
 values taken from the controller lists, plus a system exclusive containing
 the VST chunk. It's a jungle, got to know (arbitrate?) which of these initial 
 parameter values to use when loading song. 

One symptom that was hard to catch was stuck graphical controls which seem 
 to move when adjusted but then spring back to some value.
You will see code in the plugin/synth process routines that tries to prevent
 'overwriting' new parameter values received from the plugin with old values.
Something like that, can't recall precisely.
Depends on the system, and in some cases even on the plugin which might
 do funky 'improper?' things with the parameter values like overwriting them.
I found a couple of Native VST synths that drove me nuts because IIRC they 
 bucked the trend and circumvented my preventative code and now IIRC 
 /they/ are the only ones left with stuck controls. Can't do much there...

> -No controller automation support yet
> -(May be something else :) )
> 
> Now I'm working on GUIs and settings saving. After that - controller
> automation.
> 
> *Instructions for applying **patch:
> 
> *(I assume that you saved included patch file to location like
> /path/to/0001-Initial-alpha-lv2-support-for-muse2.patch)
> *NOTE: to build LV2 support you will need lilv library version 0.18.0 or
> later and all it's dependences. This library is used in ardour 3, so
> it's likely that your distro already have it in repos.* *It's home site
> is **http://drobilla.net/software/lilv/*
> 
> *git clone https://github.com/muse-sequencer/muse.git**
> **cd muse**
> **git apply /path/to/0001-Initial-alpha-lv2-support-for-muse2.patch*
> 
> ignore warnings
> then build as usual, but check that LV2 support is on when running cmake:
> 
> *mkdir build**
> cd build
> **cmake ../muse2/ -DCMAKE_INSTALL_PREFIX=~/muse2*
> 
> /The following components will be built://
> //-----------------------------------------------//
> //   Lash support//
> //   OSC (Liblo) support//
> //   DSSI support//
> //   LV2 support//<---- this must be present
> //   Native VST support//
> //   Fluidsynth support//
> /
> *make**
> **make install*
> 
> run and test it :)
> 
> *~/muse2/bin/muse2*
> 
> What worked for me:
> 
> Calf plugins (synths and effects)
> Linux Sampler LV2 plugin
> mda series of synths
> .. and many others :)
> 
> Good luck!
> 
> WBR, Andrew.

Thanks. TTYS.
Tim.


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to