zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit e2a2735e14919974b15275932f057822a7843774
parent 801b05b290eafb104ac5f6a85ae9cbacf5f36c36
Author: fundamental <mark.d.mccurry@gmail.com>
Date:   Sat,  9 May 2015 12:33:43 -0400

Apply Patch For Carla Embedding

Authored By FalkTX

Diffstat:
Msrc/Misc/Allocator.cpp | 2++
Msrc/Misc/Allocator.h | 1+
Msrc/Misc/MiddleWare.cpp | 10++++++++++
Msrc/Misc/MiddleWare.h | 2++
Msrc/Params/ADnoteParameters.cpp | 5++---
Msrc/Params/ADnoteParameters.h | 3++-
Msrc/Params/FilterParams.cpp | 2++
Msrc/Params/PADnoteParameters.cpp | 4++--
Msrc/Params/SUBnoteParameters.cpp | 4++--
Msrc/UI/Connection.cpp | 15+++++++++++++++
Msrc/UI/EnvelopeFreeEdit.h | 1+
Msrc/UI/Fl_Osc_Choice.cpp | 4++--
Msrc/UI/Fl_Osc_Counter.cpp | 4++--
Msrc/UI/Fl_Osc_Dial.cpp | 4++--
Msrc/UI/Fl_Osc_DialF.cpp | 4++--
Msrc/UI/Fl_Osc_Output.cpp | 4++--
Msrc/UI/Fl_Osc_Roller.cpp | 4++--
Msrc/UI/Fl_Osc_Value.H | 1+
Msrc/UI/guimain.cpp | 20+++++++++++++++++---
19 files changed, 71 insertions(+), 23 deletions(-)

diff --git a/src/Misc/Allocator.cpp b/src/Misc/Allocator.cpp @@ -107,6 +107,7 @@ void Allocator::addMemory(void *v, size_t mem_size) printf("FAILED TO INSERT MEMORY POOL\n"); };//{(void)mem_size;}; +#ifndef INCLUDED_tlsfbits //From tlsf internals typedef struct block_header_t { @@ -121,6 +122,7 @@ typedef struct block_header_t struct block_header_t* prev_free; } block_header_t; static const size_t block_header_free_bit = 1 << 0; +#endif bool Allocator::memFree(void *pool) { diff --git a/src/Misc/Allocator.h b/src/Misc/Allocator.h @@ -1,3 +1,4 @@ +#pragma once #include <cstdlib> #include <utility> diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp @@ -204,11 +204,15 @@ void refreshBankView(const Bank &bank, unsigned loc, Fl_Osc_Interface *osc) errx(1, "Failure to handle bank update properly..."); + if (osc) osc->tryLink(response); } void bankList(Bank &bank, Fl_Osc_Interface *osc) { + if (! osc) + return; + char response[2048]; int i = 0; @@ -216,6 +220,7 @@ void bankList(Bank &bank, Fl_Osc_Interface *osc) if(!rtosc_message(response, 2048, "/bank-list", "iss", i++, elm.name.c_str(), elm.dir.c_str())) errx(1, "Failure to handle bank update properly..."); + if (osc) osc->tryLink(response); } } @@ -1316,3 +1321,8 @@ const SYNTH_T &MiddleWare::getSynth(void) const { return impl->synth; } + +const char* MiddleWare::getServerAddress(void) const +{ + return lo_server_get_url(impl->server); +} diff --git a/src/Misc/MiddleWare.h b/src/Misc/MiddleWare.h @@ -35,6 +35,8 @@ class MiddleWare void activeUrl(std::string u); //View Synthesis Parameters const SYNTH_T &getSynth(void) const; + //liblo stuff + const char* getServerAddress(void) const; private: class MiddleWareImpl *impl; }; diff --git a/src/Params/ADnoteParameters.cpp b/src/Params/ADnoteParameters.cpp @@ -273,9 +273,6 @@ const Ports &ADnoteParameters::ports = adPorts; const Ports &ADnoteVoiceParam::ports = voicePorts; const Ports &ADnoteGlobalParam::ports = globalPorts; -int ADnote_unison_sizes[] = -{1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 30, 40, 50, 0}; - ADnoteParameters::ADnoteParameters(const SYNTH_T &synth, FFTwrapper *fft_) :PresetsArray() { @@ -1027,6 +1024,8 @@ void ADnoteGlobalParam::paste(ADnoteGlobalParam &a) RCopy(FilterLfo); RCopy(Reson); } +#undef copy +#undef RCopy void ADnoteVoiceParam::getfromXML(XMLwrapper *xml, unsigned nvoice) { diff --git a/src/Params/ADnoteParameters.h b/src/Params/ADnoteParameters.h @@ -29,7 +29,8 @@ enum FMTYPE { NONE, MORPH, RING_MOD, PHASE_MOD, FREQ_MOD, PITCH_MOD }; -extern int ADnote_unison_sizes[]; +static const int ADnote_unison_sizes[] = +{1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 30, 40, 50, 0}; /*****************************************************************/ /* GLOBAL PARAMETERS */ diff --git a/src/Params/FilterParams.cpp b/src/Params/FilterParams.cpp @@ -121,6 +121,8 @@ const rtosc::Ports FilterParams::ports = { //{"Pvowels#" FF_MAX_VOWELS "/formants#" FF_MAX_FORMANTS "/q", // "", NULL, [](){}}, }; +#undef rChangeCb +#define rChangeCb diff --git a/src/Params/PADnoteParameters.cpp b/src/Params/PADnoteParameters.cpp @@ -50,7 +50,7 @@ void simpleset(const char *m, rtosc::RtData &d) #define P_C(x) rtosc::Port{#x "::c", "::", NULL, \ simpleset<__builtin_offsetof(class PADnoteParameters, P##x)>} -static const rtosc::Ports localPorts = +static const rtosc::Ports PADnotePorts = { rRecurp(oscilgen, "Oscillator"), rRecurp(FreqLfo, "Frequency LFO"), @@ -187,7 +187,7 @@ static const rtosc::Ports localPorts = }}, }; -const rtosc::Ports &PADnoteParameters::ports = localPorts; +const rtosc::Ports &PADnoteParameters::ports = PADnotePorts; PADnoteParameters::PADnoteParameters(const SYNTH_T &synth_, FFTwrapper *fft_) :Presets(), synth(synth_) diff --git a/src/Params/SUBnoteParameters.cpp b/src/Params/SUBnoteParameters.cpp @@ -33,7 +33,7 @@ #define rObject SUBnoteParameters using namespace rtosc; -static const rtosc::Ports localPorts = { +static const rtosc::Ports SUBnotePorts = { rSelf(SUBnoteParameters), rPaste, rToggle(Pstereo, "Stereo Enable"), @@ -122,7 +122,7 @@ static const rtosc::Ports localPorts = { }; -const rtosc::Ports &SUBnoteParameters::ports = localPorts; +const rtosc::Ports &SUBnoteParameters::ports = SUBnotePorts; SUBnoteParameters::SUBnoteParameters():Presets() { diff --git a/src/UI/Connection.cpp b/src/UI/Connection.cpp @@ -69,23 +69,38 @@ ui_handle_t GUI::createUi(Fl_Osc_Interface *osc, void *exit) Fl_Dial::default_style(Fl_Dial::PIXMAP_DIAL); +#ifdef CARLA_VERSION_STRING + if(Fl_Shared_Image *img = Fl_Shared_Image::get(gUiPixmapPath + "knob.png")) + Fl_Dial::default_image(img); +#else if(Fl_Shared_Image *img = Fl_Shared_Image::get(PIXMAP_PATH "/knob.png")) Fl_Dial::default_image(img); +#endif else if(Fl_Shared_Image *img = Fl_Shared_Image::get(SOURCE_DIR "/pixmaps/knob.png")) Fl_Dial::default_image(img); else errx(1, "ERROR: Cannot find pixmaps/knob.png"); +#ifdef CARLA_VERSION_STRING + if(Fl_Shared_Image *img = Fl_Shared_Image::get(gUiPixmapPath + "window_backdrop.png")) + Fl::scheme_bg(new Fl_Tiled_Image(img)); +#else if(Fl_Shared_Image *img = Fl_Shared_Image::get(PIXMAP_PATH "/window_backdrop.png")) Fl::scheme_bg(new Fl_Tiled_Image(img)); +#endif else if(Fl_Shared_Image *img = Fl_Shared_Image::get(SOURCE_DIR "/pixmaps/window_backdrop.png")) Fl::scheme_bg(new Fl_Tiled_Image(img)); else errx(1, "ERROR: Cannot find pixmaps/window_backdrop.png"); +#ifdef CARLA_VERSION_STRING + if(Fl_Shared_Image *img = Fl_Shared_Image::get(gUiPixmapPath + "module_backdrop.png")) + module_backdrop = new Fl_Tiled_Image(img); +#else if(Fl_Shared_Image *img = Fl_Shared_Image::get(PIXMAP_PATH "/module_backdrop.png")) module_backdrop = new Fl_Tiled_Image(img); +#endif else if(Fl_Shared_Image *img = Fl_Shared_Image::get(SOURCE_DIR "/pixmaps/module_backdrop.png")) module_backdrop = new Fl_Tiled_Image(img); else diff --git a/src/UI/EnvelopeFreeEdit.h b/src/UI/EnvelopeFreeEdit.h @@ -1,3 +1,4 @@ +#pragma once #include <FL/Fl_Box.H> #include "../Params/EnvelopeParams.h" #include "Fl_Osc_Widget.H" diff --git a/src/UI/Fl_Osc_Choice.cpp b/src/UI/Fl_Osc_Choice.cpp @@ -7,7 +7,7 @@ #include <cassert> #include <sstream> -static void callback_fn(Fl_Widget *w, void *) +static void callback_fn_choice(Fl_Widget *w, void *) { ((Fl_Osc_Choice*)w)->cb(); } @@ -16,7 +16,7 @@ Fl_Osc_Choice::Fl_Osc_Choice(int X, int Y, int W, int H, const char *label) :Fl_Choice(X,Y,W,H, label), Fl_Osc_Widget(this), cb_data(NULL, NULL) { min = 0; - Fl_Choice::callback(callback_fn, NULL); + Fl_Choice::callback(callback_fn_choice, NULL); } void Fl_Osc_Choice::init(std::string path_, int base) diff --git a/src/UI/Fl_Osc_Counter.cpp b/src/UI/Fl_Osc_Counter.cpp @@ -1,6 +1,6 @@ #include "Fl_Osc_Counter.H" -static void callback_fn(Fl_Widget *w, void *) +static void callback_fn_counter(Fl_Widget *w, void *) { ((Fl_Osc_Counter*)w)->cb(); } @@ -8,7 +8,7 @@ static void callback_fn(Fl_Widget *w, void *) Fl_Osc_Counter::Fl_Osc_Counter(int x, int y, int w, int h, const char *label) :Fl_Counter(x,y,w,h,label), Fl_Osc_Widget(this), offset(0) { - Fl_Counter::callback(callback_fn); + Fl_Counter::callback(callback_fn_counter); } void Fl_Osc_Counter::update(void) diff --git a/src/UI/Fl_Osc_Dial.cpp b/src/UI/Fl_Osc_Dial.cpp @@ -8,7 +8,7 @@ #include <cassert> #include <sstream> -static void callback_fn(Fl_Widget *w, void *) +static void callback_fn_dial(Fl_Widget *w, void *) { ((Fl_Osc_Dial*)w)->cb(); } @@ -28,7 +28,7 @@ Fl_Osc_Dial::Fl_Osc_Dial(int X, int Y, int W, int H, const char *label) :WidgetPDial(X,Y,W,H, label), Fl_Osc_Widget(this), alt_style(false), dead(false) { bounds(0.0, 127.0f); - WidgetPDial::callback(callback_fn); + WidgetPDial::callback(callback_fn_dial); } diff --git a/src/UI/Fl_Osc_DialF.cpp b/src/UI/Fl_Osc_DialF.cpp @@ -18,7 +18,7 @@ B string_cast(const A &a) return b; } -static void callback_fn(Fl_Widget *w, void *) +static void callback_fn_dialf(Fl_Widget *w, void *) { ((Fl_Osc_DialF*)w)->cb(); } @@ -27,7 +27,7 @@ Fl_Osc_DialF::Fl_Osc_DialF(int X, int Y, int W, int H, const char *label) :WidgetPDial(X,Y,W,H, label), Fl_Osc_Widget() { //bounds(0.0, 127.0f); - WidgetPDial::callback(callback_fn); + WidgetPDial::callback(callback_fn_dialf); } diff --git a/src/UI/Fl_Osc_Output.cpp b/src/UI/Fl_Osc_Output.cpp @@ -5,7 +5,7 @@ #include <cassert> #include <sstream> -static void callback_fn(Fl_Widget *w, void *) +static void callback_fn_output(Fl_Widget *w, void *) { ((Fl_Osc_Output*)w)->cb(); } @@ -13,7 +13,7 @@ static void callback_fn(Fl_Widget *w, void *) Fl_Osc_Output::Fl_Osc_Output(int X, int Y, int W, int H, const char *label) :Fl_Value_Output(X,Y,W,H, label), Fl_Osc_Widget(this) { - Fl_Value_Output::callback(callback_fn); + Fl_Value_Output::callback(callback_fn_output); } diff --git a/src/UI/Fl_Osc_Roller.cpp b/src/UI/Fl_Osc_Roller.cpp @@ -5,7 +5,7 @@ #include <cassert> #include <sstream> -static void callback_fn(Fl_Widget *w, void *) +static void callback_fn_roller(Fl_Widget *w, void *) { ((Fl_Osc_Roller*)w)->cb(); } @@ -13,7 +13,7 @@ static void callback_fn(Fl_Widget *w, void *) Fl_Osc_Roller::Fl_Osc_Roller(int X, int Y, int W, int H, const char *label) :Fl_Roller(X,Y,W,H, label), Fl_Osc_Widget(this) { - Fl_Roller::callback(callback_fn); + Fl_Roller::callback(callback_fn_roller); bounds(0.0, 127.0f); } diff --git a/src/UI/Fl_Osc_Value.H b/src/UI/Fl_Osc_Value.H @@ -1,3 +1,4 @@ +#pragma once #include <FL/Fl_Value_Input.H> #include "Fl_Osc_Widget.H" diff --git a/src/UI/guimain.cpp b/src/UI/guimain.cpp @@ -34,9 +34,6 @@ NSM_Client *nsm = 0; lo_server server; std::string sendtourl; -int ADnote_unison_sizes[] = -{1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 30, 40, 50, 0}; - /* * Program exit */ @@ -128,23 +125,38 @@ ui_handle_t GUI::createUi(Fl_Osc_Interface *osc, void *exit) Fl_Dial::default_style(Fl_Dial::PIXMAP_DIAL); +#ifdef CARLA_VERSION_STRING + if(Fl_Shared_Image *img = Fl_Shared_Image::get(gUiPixmapPath + "knob.png")) + Fl_Dial::default_image(img); +#else if(Fl_Shared_Image *img = Fl_Shared_Image::get(PIXMAP_PATH "/knob.png")) Fl_Dial::default_image(img); +#endif else if(Fl_Shared_Image *img = Fl_Shared_Image::get(SOURCE_DIR "/pixmaps/knob.png")) Fl_Dial::default_image(img); else errx(1, "ERROR: Cannot find pixmaps/knob.png"); +#ifdef CARLA_VERSION_STRING + if(Fl_Shared_Image *img = Fl_Shared_Image::get(gUiPixmapPath + "window_backdrop.png")) + Fl::scheme_bg(new Fl_Tiled_Image(img)); +#else if(Fl_Shared_Image *img = Fl_Shared_Image::get(PIXMAP_PATH "/window_backdrop.png")) Fl::scheme_bg(new Fl_Tiled_Image(img)); +#endif else if(Fl_Shared_Image *img = Fl_Shared_Image::get(SOURCE_DIR "/pixmaps/window_backdrop.png")) Fl::scheme_bg(new Fl_Tiled_Image(img)); else errx(1, "ERROR: Cannot find pixmaps/window_backdrop.png"); +#ifdef CARLA_VERSION_STRING + if(Fl_Shared_Image *img = Fl_Shared_Image::get(gUiPixmapPath + "module_backdrop.png")) + module_backdrop = new Fl_Tiled_Image(img); +#else if(Fl_Shared_Image *img = Fl_Shared_Image::get(PIXMAP_PATH "/module_backdrop.png")) module_backdrop = new Fl_Tiled_Image(img); +#endif else if(Fl_Shared_Image *img = Fl_Shared_Image::get(SOURCE_DIR "/pixmaps/module_backdrop.png")) module_backdrop = new Fl_Tiled_Image(img); else @@ -510,6 +522,7 @@ static int handler_function(const char *path, const char *types, lo_arg **argv, return 0; } +#ifndef CARLA_VERSION_STRING int main(int argc, char *argv[]) { //Startup Liblo Link @@ -531,3 +544,4 @@ int main(int argc, char *argv[]) exitprogram(); return 0; } +#endif