Friday, July 27, 2012

Yoshimi patch for NSM

Yoshimi 
Yoshimi patch for NSM
NSM (NSM is included in NON-DAW Git) 

diego@ruidosa:~/Downloads/yoshimi$ ll
total 1568
drwxr-xr-x  2 diego diego    4096 2012-07-26 23:45 ./
drwxr-xr-x 69 diego diego    4096 2012-07-26 16:45 ../
-rw-r--r--  1 diego diego 1553710 2012-07-26 16:44 yoshimi-1.0.0.tar.gz
-rwxr-xr-x  1 diego diego   38994 2012-07-26 16:57 yoshimi-nsm.patch*
diego@ruidosa:~/Downloads/yoshimi$
diego@ruidosa:~/Downloads/yoshimi$ gunzip yoshimi-1.0.0.tar.gz
diego@ruidosa:~/Downloads/yoshimi$ tar xvf yoshimi-1.0.0.tar

[SNIP]

diego@ruidosa:~/Downloads/yoshimi$
diego@ruidosa:~/Downloads/yoshimi$ mv yoshimi-1.0.0 b
diego@ruidosa:~/Downloads/yoshimi$ patch -p0 < yoshimi-nsm.patch
patching file b/src/CMakeLists.txt
Hunk #3 succeeded at 209 (offset 5 lines).
Hunk #4 succeeded at 321 (offset 5 lines).
Hunk #5 succeeded at 333 (offset 5 lines).
patching file b/src/Misc/Config.cpp
patching file b/src/Misc/Config.h
patching file b/src/Misc/NSM.C
patching file b/src/Misc/NSM.H
patching file b/src/Misc/NSM/Client.C
patching file b/src/Misc/NSM/Client.H
patching file b/src/Misc/SynthEngine.cpp
patching file b/src/MusicIO/JackEngine.cpp
Hunk #1 succeeded at 29 (offset 1 line).
Hunk #2 succeeded at 73 (offset 1 line).
Hunk #3 succeeded at 81 (offset 1 line).
Hunk #4 succeeded at 98 (offset 1 line).
Hunk #5 succeeded at 121 (offset 1 line).
Hunk #6 succeeded at 499 (offset 1 line).
patching file b/src/MusicIO/JackEngine.h
patching file b/src/UI/MasterUI.fl
patching file b/src/main.cpp
patching file b/src/version.txt
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file b/src/version.txt.rej

// don't really know what is this:

//diego@ruidosa:~/Downloads/yoshimi/b/src$ more version.txt.rej
//--- a/src/version.txt
//+++ b/src/version.txt
//@@ -1 +1 @@
//-0.060.12
//+0.060.12
//

// couninuing here...


Yoshimi Patch for NSM applied... now build yoshimi:


diego@ruidosa:~/Downloads/yoshimi$
diego@ruidosa:~/Downloads/yoshimi$
diego@ruidosa:~/Downloads/yoshimi$
diego@ruidosa:~/Downloads/yoshimi$
diego@ruidosa:~/Downloads/yoshimi$ cd b
diego@ruidosa:~/Downloads/yoshimi/b$ cd .
diego@ruidosa:~/Downloads/yoshimi/b$ cd ..
diego@ruidosa:~/Downloads/yoshimi$ cd b/src/
diego@ruidosa:~/Downloads/yoshimi/b/src$ ccmake .


diego@ruidosa:~/Downloads/yoshimi/b/src$ cmake .
-- Building Yoshimi version 1.0.0 for Linux
-- Found pkg-config /usr/bin/pkg-config
-- Found libz
-- Found fftw3f 3.2.2
-- Found mxml 2.6
-- Found Alsa 1.0.22
-- Found jack 0.120.1
-- Found boost headers version 104000
-- Found fontconfig 2.8.0
-- Found FLTK
-- Building for Release, flags: -O3 -msse -msse2 -mfpmath=sse -ffast-math -fomit-frame-pointer
-- Default audio driver is Jack
-- Default midi driver is Alsa
-- Without jack session support
-- Configuring done
-- Generating done
-- Build files have been written to: /home/diego/Downloads

/yoshimi/b/src
diego@ruidosa:~/Downloads/yoshimi/b/src$ make
[  1%] Generating ConsoleUI.h
[  2%] Generating WidgetPDialUI.cxx
[  2%] Generating PresetsUI.cxx
[  3%] Generating EnvelopeUI.cxx
[  4%] Generating LFOUI.cxx
[  5%] Generating FilterUI.cxx
[  6%] Generating VirKeyboardUI.cxx
[  6%] Generating ConfigUI.cxx
[  7%] Generating SUBnoteUI.cxx
[  8%] Generating ResonanceUI.cxx
[  9%] Generating OscilGenUI.cxx
[ 10%] Generating ADnoteUI.cxx
[ 11%] Generating PADnoteUI.cxx
[ 12%] Generating EffUI.cxx
[ 13%] Generating BankUI.cxx
[ 14%] Generating PartUI.cxx
[ 14%] Generating MicrotonalUI.cxx
[ 15%] Generating MasterUI.cxx
[ 16%] Generating MasterMiscUI.cxx
[ 17%] Generating ParametersUI.cxx
Scanning dependencies of target yoshimi
[ 17%] Building CXX object CMakeFiles/yoshimi.dir/Misc/Config.cpp.o
[ 18%] Building CXX object CMakeFiles/yoshimi.dir/Misc/SynthEngine.cpp.o
[ 19%] Building CXX object CMakeFiles/yoshimi.dir/Misc/Bank.cpp.o
[ 20%] Building CXX object CMakeFiles/yoshimi.dir/Misc/Microtonal.cpp.o
[ 21%] Building CXX object CMakeFiles/yoshimi.dir/Misc/Part.cpp.o
[ 22%] Building CXX object CMakeFiles/yoshimi.dir/Misc/XMLwrapper.cpp.o
[ 23%] Building CXX object CMakeFiles/yoshimi.dir/Misc/MiscFuncs.cpp.o
[ 24%] Building CXX object CMakeFiles/yoshimi.dir/Misc/NSM/Client.C.o
[ 25%] Building CXX object CMakeFiles/yoshimi.dir/Misc/NSM.C.o
/home/diego/Downloads/yoshimi/b/src/Misc/NSM.C: In member function ‘virtual int NSM_Client::command_open(const char*, const char*, const char*, char**)’:
/home/diego/Downloads/yoshimi/b/src/Misc/NSM.C:75: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’, declared with attribute warn_unused_result
[ 25%] Building CXX object CMakeFiles/yoshimi.dir/Params/ADnoteParameters.cpp.o
[ 26%] Building CXX object CMakeFiles/yoshimi.dir/Params/EnvelopeParams.cpp.o
[ 27%] Building CXX object CMakeFiles/yoshimi.dir/Params/FilterParams.cpp.o
[ 28%] Building CXX object CMakeFiles/yoshimi.dir/Params/LFOParams.cpp.o
[ 29%] Building CXX object CMakeFiles/yoshimi.dir/Params/SUBnoteParameters.cpp.o
[ 30%] Building CXX object CMakeFiles/yoshimi.dir/Params/PADnoteParameters.cpp.o
[ 31%] Building CXX object CMakeFiles/yoshimi.dir/Params/Controller.cpp.o
[ 32%] Building CXX object CMakeFiles/yoshimi.dir/Params/Presets.cpp.o
[ 33%] Building CXX object CMakeFiles/yoshimi.dir/Params/PresetsStore.cpp.o
[ 33%] Building CXX object CMakeFiles/yoshimi.dir/Synth/ADnote.cpp.o
[ 34%] Building CXX object CMakeFiles/yoshimi.dir/Synth/Envelope.cpp.o
[ 35%] Building CXX object CMakeFiles/yoshimi.dir/Synth/LFO.cpp.o
[ 36%] Building CXX object CMakeFiles/yoshimi.dir/Synth/OscilGen.cpp.o
[ 37%] Building CXX object CMakeFiles/yoshimi.dir/Synth/SUBnote.cpp.o
[ 38%] Building CXX object CMakeFiles/yoshimi.dir/Synth/Resonance.cpp.o
[ 39%] Building CXX object CMakeFiles/yoshimi.dir/Synth/PADnote.cpp.o
[ 40%] Building CXX object CMakeFiles/yoshimi.dir/Synth/BodyDisposal.cpp.o
[ 41%] Building CXX object CMakeFiles/yoshimi.dir/DSP/FFTwrapper.cpp.o
[ 42%] Building CXX object CMakeFiles/yoshimi.dir/DSP/AnalogFilter.cpp.o
[ 42%] Building CXX object CMakeFiles/yoshimi.dir/DSP/FormantFilter.cpp.o
[ 43%] Building CXX object CMakeFiles/yoshimi.dir/DSP/SVFilter.cpp.o
[ 44%] Building CXX object CMakeFiles/yoshimi.dir/DSP/Filter.cpp.o
[ 45%] Building CXX object CMakeFiles/yoshimi.dir/DSP/Unison.cpp.o
[ 46%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Alienwah.cpp.o
[ 47%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Chorus.cpp.o
[ 48%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Echo.cpp.o
[ 49%] Building CXX object CMakeFiles/yoshimi.dir/Effects/EffectLFO.cpp.o
[ 50%] Building CXX object CMakeFiles/yoshimi.dir/Effects/EffectMgr.cpp.o
[ 50%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Effect.cpp.o
[ 51%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Phaser.cpp.o
[ 52%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Reverb.cpp.o
/home/diego/Downloads/yoshimi/b/src/Effects/Reverb.cpp:403:2: warning: #warning sa schimb size-ul
[ 53%] Building CXX object CMakeFiles/yoshimi.dir/Effects/EQ.cpp.o
[ 54%] Building CXX object CMakeFiles/yoshimi.dir/Effects/Distorsion.cpp.o
[ 55%] Building CXX object CMakeFiles/yoshimi.dir/Effects/DynamicFilter.cpp.o
[ 56%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/MusicClient.cpp.o
[ 57%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/MusicIO.cpp.o
[ 58%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/JackEngine.cpp.o
[ 58%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/AlsaEngine.cpp.o
[ 59%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/JackClient.cpp.o
[ 60%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/AlsaClient.cpp.o
[ 61%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/JackAlsaClient.cpp.o
[ 62%] Building CXX object CMakeFiles/yoshimi.dir/MusicIO/AlsaJackClient.cpp.o
[ 63%] Building CXX object CMakeFiles/yoshimi.dir/WidgetPDialUI.cxx.o
[ 64%] Building CXX object CMakeFiles/yoshimi.dir/PresetsUI.cxx.o
[ 65%] Building CXX object CMakeFiles/yoshimi.dir/EnvelopeUI.cxx.o
[ 66%] Building CXX object CMakeFiles/yoshimi.dir/LFOUI.cxx.o
[ 67%] Building CXX object CMakeFiles/yoshimi.dir/FilterUI.cxx.o
[ 67%] Building CXX object CMakeFiles/yoshimi.dir/VirKeyboardUI.cxx.o
[ 68%] Building CXX object CMakeFiles/yoshimi.dir/ConfigUI.cxx.o
[ 69%] Building CXX object CMakeFiles/yoshimi.dir/SUBnoteUI.cxx.o
[ 70%] Building CXX object CMakeFiles/yoshimi.dir/ResonanceUI.cxx.o
[ 71%] Building CXX object CMakeFiles/yoshimi.dir/OscilGenUI.cxx.o
[ 72%] Building CXX object CMakeFiles/yoshimi.dir/ADnoteUI.cxx.o
[ 73%] Building CXX object CMakeFiles/yoshimi.dir/PADnoteUI.cxx.o
[ 74%] Building CXX object CMakeFiles/yoshimi.dir/EffUI.cxx.o
[ 75%] Building CXX object CMakeFiles/yoshimi.dir/BankUI.cxx.o
[ 75%] Building CXX object CMakeFiles/yoshimi.dir/PartUI.cxx.o
[ 76%] Building CXX object CMakeFiles/yoshimi.dir/MicrotonalUI.cxx.o
[ 77%] Building CXX object CMakeFiles/yoshimi.dir/MasterUI.cxx.o
/home/diego/Downloads/yoshimi/b/src/MasterUI.cxx: In member function ‘void MasterUI::do_load_master(bool, const char*)’:
/home/diego/Downloads/yoshimi/b/src/MasterUI.cxx:1128: warning: format not a string literal and no format arguments
/home/diego/Downloads/yoshimi/b/src/MasterUI.cxx:1131: warning: format not a string literal and no format arguments
[ 78%] Building CXX object CMakeFiles/yoshimi.dir/MasterMiscUI.cxx.o
[ 79%] Building CXX object CMakeFiles/yoshimi.dir/ParametersUI.cxx.o
[ 80%] Building CXX object CMakeFiles/yoshimi.dir/ConsoleUI.cxx.o
[ 81%] Building CXX object CMakeFiles/yoshimi.dir/main.cpp.o
Linking CXX executable yoshimi
[100%] Built target yoshimi
diego@ruidosa:~/Downloads/yoshimi/b/src$ ls -rtlh
total 2.5M
drwxr-xr-x 2 diego diego 4.0K 2012-07-02 18:20 Params
-rw-r--r-- 1 diego diego 3.0K 2012-07-02 18:20 INSTALL
drwxr-xr-x 2 diego diego 4.0K 2012-07-02 18:20 Effects
drwxr-xr-x 2 diego diego 4.0K 2012-07-02 18:20 DSP
-rw-r--r-- 1 diego diego  15K 2012-07-02 18:20 COPYING
-rw-r--r-- 1 diego diego  13K 2012-07-02 18:20 CMakeLists.txt.orig
-rw-r--r-- 1 diego diego    6 2012-07-02 18:20 version.txt.orig
drwxr-xr-x 2 diego diego 4.0K 2012-07-02 18:20 Synth
-rw-r--r-- 1 diego diego   75 2012-07-26 23:49 version.txt.rej
drwxr-xr-x 2 diego diego 4.0K 2012-07-26 23:49 UI
drwxr-xr-x 2 diego diego 4.0K 2012-07-26 23:49 MusicIO
drwxr-xr-x 3 diego diego 4.0K 2012-07-26 23:49 Misc
-rw-r--r-- 1 diego diego 4.6K 2012-07-26 23:49 main.cpp
-rw-r--r-- 1 diego diego  13K 2012-07-26 23:49 CMakeLists.txt
-rw-r--r-- 1 diego diego  227 2012-07-26 23:49 yoshimi.desktop
-rw-r--r-- 1 diego diego  30K 2012-07-26 23:50 CMakeCache.txt
-rw-r--r-- 1 diego diego 4.1K 2012-07-26 23:50 cmake_install.cmake
-rw-r--r-- 1 diego diego    5 2012-07-26 23:50 version.txt
-rw-r--r-- 1 diego diego  65K 2012-07-26 23:50 Makefile
-rw-r--r-- 1 diego diego 1.4K 2012-07-26 23:50 ConsoleUI.h
-rw-r--r-- 1 diego diego 2.8K 2012-07-26 23:50 ConsoleUI.cxx
-rw-r--r-- 1 diego diego 1.9K 2012-07-26 23:50 WidgetPDialUI.h
-rw-r--r-- 1 diego diego 7.2K 2012-07-26 23:50 WidgetPDialUI.cxx
-rw-r--r-- 1 diego diego 3.1K 2012-07-26 23:50 PresetsUI.h
-rw-r--r-- 1 diego diego 9.3K 2012-07-26 23:50 PresetsUI.cxx
-rw-r--r-- 1 diego diego 8.7K 2012-07-26 23:50 EnvelopeUI.h
-rw-r--r-- 1 diego diego  52K 2012-07-26 23:50 EnvelopeUI.cxx
-rw-r--r-- 1 diego diego 3.0K 2012-07-26 23:50 LFOUI.h
-rw-r--r-- 1 diego diego  11K 2012-07-26 23:50 LFOUI.cxx
-rw-r--r-- 1 diego diego 6.7K 2012-07-26 23:50 FilterUI.h
-rw-r--r-- 1 diego diego  38K 2012-07-26 23:50 FilterUI.cxx
-rw-r--r-- 1 diego diego 3.5K 2012-07-26 23:50 VirKeyboardUI.h
-rw-r--r-- 1 diego diego  18K 2012-07-26 23:50 VirKeyboardUI.cxx
-rw-r--r-- 1 diego diego 4.3K 2012-07-26 23:50 ConfigUI.h
-rw-r--r-- 1 diego diego  22K 2012-07-26 23:50 ConfigUI.cxx
-rw-r--r-- 1 diego diego 5.8K 2012-07-26 23:50 SUBnoteUI.h
-rw-r--r-- 1 diego diego  31K 2012-07-26 23:50 SUBnoteUI.cxx
-rw-r--r-- 1 diego diego 4.4K 2012-07-26 23:50 ResonanceUI.h
-rw-r--r-- 1 diego diego  18K 2012-07-26 23:50 ResonanceUI.cxx
-rw-r--r-- 1 diego diego 8.4K 2012-07-26 23:50 OscilGenUI.h
-rw-r--r-- 1 diego diego  50K 2012-07-26 23:50 OscilGenUI.cxx
-rw-r--r-- 1 diego diego  14K 2012-07-26 23:50 ADnoteUI.h
-rw-r--r-- 1 diego diego 102K 2012-07-26 23:50 ADnoteUI.cxx
-rw-r--r-- 1 diego diego 8.8K 2012-07-26 23:50 PADnoteUI.h
-rw-r--r-- 1 diego diego  63K 2012-07-26 23:50 PADnoteUI.cxx
-rw-r--r-- 1 diego diego  15K 2012-07-26 23:50 EffUI.h
-rw-r--r-- 1 diego diego  92K 2012-07-26 23:50 EffUI.cxx
-rw-r--r-- 1 diego diego 3.7K 2012-07-26 23:50 BankUI.h
-rw-r--r-- 1 diego diego  17K 2012-07-26 23:50 BankUI.cxx
-rw-r--r-- 1 diego diego  12K 2012-07-26 23:50 PartUI.h
-rw-r--r-- 1 diego diego  69K 2012-07-26 23:50 PartUI.cxx
-rw-r--r-- 1 diego diego 4.2K 2012-07-26 23:50 MicrotonalUI.h
-rw-r--r-- 1 diego diego  20K 2012-07-26 23:50 MicrotonalUI.cxx
-rw-r--r-- 1 diego diego 7.6K 2012-07-26 23:50 MasterUI.h
-rw-r--r-- 1 diego diego  44K 2012-07-26 23:50 MasterUI.cxx
-rw-r--r-- 1 diego diego 3.3K 2012-07-26 23:50 MasterMiscUI.h
-rw-r--r-- 1 diego diego  16K 2012-07-26 23:50 MasterMiscUI.cxx
-rw-r--r-- 1 diego diego 1.6K 2012-07-26 23:50 ParametersUI.h
-rw-r--r-- 1 diego diego 4.0K 2012-07-26 23:50 ParametersUI.cxx
-rwxr-xr-x 1 diego diego 1.5M 2012-07-26 23:51 yoshimi
drwxr-xr-x 8 diego diego 4.0K 2012-07-26 23:51 CMakeFiles
diego@ruidosa:~/Downloads/yoshimi/b/src$

 

Yoshimi build complete.
Now open non-session-manager and add this yoshimi patched version as client to a certain session:

Yoshimi client added as:

 /home/diego/Downloads/yoshimi/b/src/yoshimi

According to what is expressed here and here, clients to be added should belong to $PATH, most important to maintain portability; since I'm not applying 'make install' (this is a test only) I'm adding this client with full path without 'make install'.







As you will see, this creates a yoshimi client under 'test' version with some parametes from default with no chance to open or save a new one, I'm assume that this is because it should be saved in the session folder:

diego@ruidosa:~/NSM Sessions/test$ ls -rtl
total 2984
-rw-r--r-- 1 diego diego 3049197 2012-07-27 00:14 Yoshimi.nLJKF.xmz
-rw-r--r-- 1 diego diego      58 2012-07-27 00:14 session.nsm
diego@ruidosa:~/NSM Sessions/test$ more session.nsm
Yoshimi:/home/diego/Downloads/yoshimi/b/src/yoshimi:nLJKF
diego@ruidosa:~/NSM Sessions/test$ more Yoshimi.nLJKF.xmz

If you have an existing yoshimi xmz parameter you could use this just replacing the xmz file under 'test' session, see below:

I will use an exiting xmz file and use it under 'test' session with yoshimi:

diego@ruidosa:~/NSM Sessions/test$
diego@ruidosa:~/NSM Sessions/test$
diego@ruidosa:~/NSM Sessions/test$ mv Yoshimi.nLJKF.xmz Yoshimi.nLJKF.xmz.bak
diego@ruidosa:~/NSM Sessions/test$
diego@ruidosa:~/NSM Sessions/test$ cp /home/diego/audio/maquetas/2011_2.xmz Yoshimi.nLJKF.xmz


See final image showing yoshimi under same 'test' session using an existing file, now called 'Yoshimi.nLJKF.xmz':






Thursday, July 12, 2012

NSM





Non session manager running:

yoshimi
hydrogen
seq24
calf plugins
jackpatch
vsthost running SQ8L VST plugin

all clients in NSM are added as scripts with 'exec' to allow opening work files, here below are the scripts added with static path in NSM:

diego@ruidosa:~/audio/scripts/nsm-scripts/2011$ ll
total 28
drwxr-xr-x 2 diego diego 4096 2012-07-11 21:06 ./
drwxr-xr-x 3 diego diego 4096 2012-07-11 19:25 ../
-rwxr--r-- 1 diego diego   58 2012-07-11 19:44 calfjackhost*
-rwxr--r-- 1 diego diego   57 2012-07-11 19:39 hydrogen*
-rwxr--r-- 1 diego diego   41 2012-07-11 21:06 seq24*
-rwxr--r-- 1 diego diego   28 2012-07-11 19:49 vsthost*
-rwxr--r-- 1 diego diego   61 2012-07-11 19:33 yoshimi*
diego@ruidosa:~/audio/scripts/nsm-scripts/2011$ cat *
exec calfjackhost --load ~/audio/calf_presets/dubtechno3

exec hydrogen -s /home/diego/audio/maquetas/2011.h2song
exec seq24 ~/audio/maquetas/2011_3.midi
exec vsthost ~/vst/SQ8L.dll
exec yoshimi -K --load=/home/diego/audio/maquetas/2011_2.xmz



Some manual configuration in seq24 to assign correct midi instruments according new midi arrangement in NSM (instead of BASH script).