Browse Source

Make bls1 UI external; Cleanup

tags/1.9.7
falkTX 10 years ago
parent
commit
258eb0d092
44 changed files with 405 additions and 302 deletions
  1. +1
    -0
      .gitignore
  2. +9
    -4
      Makefile
  3. +31
    -14
      source/native-plugins/Makefile
  4. +191
    -0
      source/native-plugins/zita-bls1-ui.cpp
  5. +18
    -141
      source/native-plugins/zita-bls1.cpp
  6. +2
    -2
      source/native-plugins/zita-bls1/global.h
  7. +2
    -2
      source/native-plugins/zita-bls1/guiclass.cc
  8. +2
    -2
      source/native-plugins/zita-bls1/guiclass.h
  9. +2
    -2
      source/native-plugins/zita-bls1/hp3filt.cc
  10. +2
    -2
      source/native-plugins/zita-bls1/hp3filt.h
  11. +10
    -23
      source/native-plugins/zita-bls1/jclient.cc
  12. +4
    -7
      source/native-plugins/zita-bls1/jclient.h
  13. +2
    -2
      source/native-plugins/zita-bls1/lfshelf2.cc
  14. +2
    -2
      source/native-plugins/zita-bls1/lfshelf2.h
  15. +7
    -13
      source/native-plugins/zita-bls1/mainwin.cc
  16. +6
    -6
      source/native-plugins/zita-bls1/mainwin.h
  17. +2
    -2
      source/native-plugins/zita-bls1/png2img.cc
  18. +2
    -2
      source/native-plugins/zita-bls1/png2img.h
  19. +18
    -6
      source/native-plugins/zita-bls1/rotary.cc
  20. +7
    -5
      source/native-plugins/zita-bls1/rotary.h
  21. +4
    -4
      source/native-plugins/zita-bls1/shuffler.cc
  22. +3
    -3
      source/native-plugins/zita-bls1/shuffler.h
  23. +18
    -7
      source/native-plugins/zita-bls1/styles.cc
  24. +3
    -3
      source/native-plugins/zita-bls1/styles.h
  25. +6
    -3
      source/native-plugins/zita-rev1-ui.cpp
  26. +33
    -27
      source/native-plugins/zita-rev1.cpp
  27. +1
    -1
      source/native-plugins/zita-rev1/global.h
  28. +1
    -1
      source/native-plugins/zita-rev1/guiclass.cc
  29. +1
    -1
      source/native-plugins/zita-rev1/guiclass.h
  30. +1
    -1
      source/native-plugins/zita-rev1/jclient.cc
  31. +1
    -1
      source/native-plugins/zita-rev1/jclient.h
  32. +1
    -1
      source/native-plugins/zita-rev1/mainwin.cc
  33. +1
    -1
      source/native-plugins/zita-rev1/mainwin.h
  34. +1
    -1
      source/native-plugins/zita-rev1/pareq.cc
  35. +1
    -1
      source/native-plugins/zita-rev1/pareq.h
  36. +1
    -1
      source/native-plugins/zita-rev1/png2img.cc
  37. +1
    -1
      source/native-plugins/zita-rev1/png2img.h
  38. +1
    -1
      source/native-plugins/zita-rev1/reverb.cc
  39. +1
    -1
      source/native-plugins/zita-rev1/reverb.h
  40. +1
    -1
      source/native-plugins/zita-rev1/rotary.cc
  41. +1
    -1
      source/native-plugins/zita-rev1/rotary.h
  42. +1
    -1
      source/native-plugins/zita-rev1/styles.cc
  43. +1
    -1
      source/native-plugins/zita-rev1/styles.h
  44. +1
    -1
      source/native-plugins/zynaddsubfx-synth.cpp

+ 1
- 0
.gitignore View File

@@ -90,6 +90,7 @@ carla-discovery-posix64
carla-frontend carla-frontend
carla-lv2-export carla-lv2-export


bls1-ui
rev1-ui rev1-ui
zynaddsubfx-ui zynaddsubfx-ui




+ 9
- 4
Makefile View File

@@ -412,7 +412,11 @@ ifeq ($(EXPERIMENTAL_PLUGINS),true)
install -d $(DESTDIR)$(PREFIX)/share/carla/resources/rev1/ install -d $(DESTDIR)$(PREFIX)/share/carla/resources/rev1/
endif endif
install -d $(DESTDIR)$(PREFIX)/share/carla/resources/nekofilter/ install -d $(DESTDIR)$(PREFIX)/share/carla/resources/nekofilter/
ifeq ($(HAVE_ZYN_DEPS),true)
ifeq ($(HAVE_ZYN_UI_DEPS),true)
install -d $(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/ install -d $(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/
endif
endif
install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/ install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/ install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/ install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
@@ -531,6 +535,7 @@ ifeq ($(EXPERIMENTAL_PLUGINS),true)
$(DESTDIR)$(PREFIX)/share/carla/resources/rev1/ $(DESTDIR)$(PREFIX)/share/carla/resources/rev1/


install -m 755 \ install -m 755 \
bin/resources/bls1-ui \
bin/resources/rev1-ui \ bin/resources/rev1-ui \
$(DESTDIR)$(PREFIX)/share/carla/resources/ $(DESTDIR)$(PREFIX)/share/carla/resources/
endif endif
@@ -541,13 +546,13 @@ endif


ifeq ($(HAVE_ZYN_DEPS),true) ifeq ($(HAVE_ZYN_DEPS),true)
ifeq ($(HAVE_ZYN_UI_DEPS),true) ifeq ($(HAVE_ZYN_UI_DEPS),true)
install -m 755 \
bin/resources/zynaddsubfx-ui \
$(DESTDIR)$(PREFIX)/share/carla/resources/

install -m 644 \ install -m 644 \
bin/resources/zynaddsubfx/*.png \ bin/resources/zynaddsubfx/*.png \
$(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/ $(DESTDIR)$(PREFIX)/share/carla/resources/zynaddsubfx/

install -m 755 \
bin/resources/zynaddsubfx-ui \
$(DESTDIR)$(PREFIX)/share/carla/resources/
endif endif
endif endif




+ 31
- 14
source/native-plugins/Makefile View File

@@ -13,6 +13,19 @@ include ../modules/Makefile.mk
BUILD_C_FLAGS += -I.. BUILD_C_FLAGS += -I..
BUILD_CXX_FLAGS += -I.. -isystem $(CWD)/modules -I$(CWD)/modules/distrho BUILD_CXX_FLAGS += -I.. -isystem $(CWD)/modules -I$(CWD)/modules/distrho


# ----------------------------------------------------------------------------------------------------------------------------
# Flags for Zita UIs

ifeq ($(EXPERIMENTAL_PLUGINS),true)
ZITA_DSP_CXX_FLAGS = $(BUILD_CXX_FLAGS) -Wno-unused-parameter
ZITA_DSP_CXX_FLAGS += $(shell pkg-config --cflags fftw3f)
ZITA_UI_CXX_FLAGS = $(BUILD_CXX_FLAGS) -Wno-unused-parameter -Wno-ignored-qualifiers
ZITA_UI_CXX_FLAGS += $(shell pkg-config --cflags cairo libpng12 x11 xft zlib)
ZITA_UI_LINK_FLAGS = $(LINK_FLAGS) -lclxclient -lclthreads
ZITA_UI_LINK_FLAGS += $(shell pkg-config --libs cairo libpng12 x11 xft zlib)
ZITA_UI_LINK_FLAGS += -ldl -lpthread -lrt
endif # EXPERIMENTAL_PLUGINS

# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------
# Flags for ZynAddSubFX # Flags for ZynAddSubFX


@@ -156,7 +169,9 @@ OBJS += \
$(OBJDIR)/zita-bls1.cpp.o \ $(OBJDIR)/zita-bls1.cpp.o \
$(OBJDIR)/zita-rev1.cpp.o $(OBJDIR)/zita-rev1.cpp.o


TARGETS += resources/rev1-ui$(APP_EXT)
TARGETS += \
resources/bls1-ui$(APP_EXT) \
resources/rev1-ui$(APP_EXT)
endif endif


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------
@@ -179,10 +194,15 @@ $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
@rm -f $@ @rm -f $@
@$(AR) crs $@ $^ @$(AR) crs $@ $^


resources/bls1-ui$(APP_EXT): $(OBJDIR)/zita-bls1-ui.cpp.o
-@mkdir -p $(OBJDIR)
@echo "Linking zita-bls1-ui"
@$(CXX) $^ $(ZITA_UI_LINK_FLAGS) -o $@

resources/rev1-ui$(APP_EXT): $(OBJDIR)/zita-rev1-ui.cpp.o resources/rev1-ui$(APP_EXT): $(OBJDIR)/zita-rev1-ui.cpp.o
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Linking zita-rev1-ui" @echo "Linking zita-rev1-ui"
@$(CXX) $^ $(LINK_FLAGS) -lclxclient -lclthreads $(shell pkg-config --libs cairo libpng12 x11 xft zlib) -ldl -lpthread -lrt -o $@
@$(CXX) $^ $(ZITA_UI_LINK_FLAGS) -o $@


resources/zynaddsubfx-ui$(APP_EXT): $(OBJDIR)/zynaddsubfx-ui.cpp.o resources/zynaddsubfx-ui$(APP_EXT): $(OBJDIR)/zynaddsubfx-ui.cpp.o
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@@ -281,25 +301,21 @@ $(OBJDIR)/zynaddsubfx-ui.cpp.o: zynaddsubfx-ui.cpp $(ZYN_UI_FILES_H) $(ZYN_UI_FI


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


$(OBJDIR)/zita-at1.cpp.o: zita-at1.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags fftw3f x11 xft) -Wno-unused-parameter -Wno-unused-result -c -o $@

$(OBJDIR)/zita-bls1.cpp.o: zita-bls1.cpp
$(OBJDIR)/zita-%.cpp.o: zita-%.cpp
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling $<" @echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags fftw3f x11 xft) -Wno-unused-parameter -Wno-unused-result -c -o $@
@$(CXX) $< $(ZITA_DSP_CXX_FLAGS) -c -o $@


$(OBJDIR)/zita-rev1.cpp.o: zita-rev1.cpp
$(OBJDIR)/zita-%-ui.cpp.o: zita-%-ui.cpp
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling $<" @echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags fftw3f) -Wno-unused-parameter -c -o $@
@$(CXX) $< $(ZITA_UI_CXX_FLAGS) -c -o $@


$(OBJDIR)/zita-rev1-ui.cpp.o: zita-rev1-ui.cpp
# TODO
$(OBJDIR)/zita-at1.cpp.o: zita-at1.cpp
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling $<" @echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags cairo libpng12 x11 xft zlib) -Wno-unused-parameter -Wno-ignored-qualifiers -c -o $@
@$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags fftw3f x11 xft) -Wno-unused-parameter -Wno-unused-result -c -o $@


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


@@ -311,7 +327,8 @@ $(OBJDIR)/%.cpp.o: %.cpp
# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


-include $(OBJS:%.o=%.d) -include $(OBJS:%.o=%.d)
-include $(OBJDIR)/zita-rev-ui.cpp.d
-include $(OBJDIR)/zita-bls1-ui.cpp.d
-include $(OBJDIR)/zita-rev1-ui.cpp.d
-include $(OBJDIR)/zynaddsubfx-ui.cpp.d -include $(OBJDIR)/zynaddsubfx-ui.cpp.d


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------

+ 191
- 0
source/native-plugins/zita-bls1-ui.cpp View File

@@ -0,0 +1,191 @@
/*
* Carla Native Plugins
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#include "CarlaPipeUtils.cpp"

#include "zita-bls1/png2img.cc"
#include "zita-bls1/guiclass.cc"
#include "zita-bls1/mainwin.cc"
#include "zita-bls1/rotary.cc"
#include "zita-bls1/styles.cc"

using namespace BLS1;

static Mainwin* mainwin = nullptr;

// --------------------------------------------------------------------------------------------

class ZitaPipeClient : public CarlaPipeClient,
public Mainwin::ValueChangedCallback
{
public:
ZitaPipeClient() noexcept
: CarlaPipeClient(),
fQuitReceived(false) {}

~ZitaPipeClient() noexcept override
{
if (fQuitReceived || ! isPipeRunning())
return;

const CarlaMutexLocker cml(getPipeLock());

writeMessage("exiting\n");
flushMessages();
}

bool quitRequested() const noexcept
{
return fQuitReceived;
}

protected:
bool msgReceived(const char* const msg) noexcept override
{
if (std::strcmp(msg, "control") == 0)
{
uint index;
float value;
CARLA_SAFE_ASSERT_RETURN(readNextLineAsUInt(index), true);
CARLA_SAFE_ASSERT_RETURN(readNextLineAsFloat(value), true);

mainwin->_rotary[index]->set_value(value);
return true;
}

if (std::strcmp(msg, "show") == 0)
{
mainwin->x_map();
return true;
}

if (std::strcmp(msg, "hide") == 0)
{
mainwin->x_unmap();
return true;
}

if (std::strcmp(msg, "focus") == 0)
{
mainwin->x_mapraised();
return true;
}

if (std::strcmp(msg, "uiTitle") == 0)
{
const char* uiTitle;

CARLA_SAFE_ASSERT_RETURN(readNextLineAsString(uiTitle), true);

mainwin->x_set_title(uiTitle);
return true;
}

if (std::strcmp(msg, "quit") == 0)
{
fQuitReceived = true;
return true;
}

carla_stderr("ZitaPipeClient::msgReceived : %s", msg);
return false;
}

void valueChangedCallback(uint index, double value) override
{
if (isPipeRunning())
writeControlMessage(index, value);
}

private:
bool fQuitReceived;
};

// --------------------------------------------------------------------------------------------

int main(int argc, const char* argv[])
{
X_resman xresman;
X_display *display;
X_handler *handler;
X_rootwin *rootwin;
int ev, xp, yp, xs, ys;

int fake_argc = 1;
char* fake_argv[] = { (char*)"rev1" };
xresman.init(&fake_argc, fake_argv, (char*)"rev1", nullptr, 0);

display = new X_display(nullptr);
if (display->dpy () == 0)
{
carla_stderr("Can't open display.");
delete display;
return 1;
}

ZitaPipeClient pipe;
const char* uiTitle = "Test UI";

if (argc > 1)
{
uiTitle = argv[2];

if (! pipe.initPipeClient(argv))
return 1;
}

xp = yp = 100;
xs = Mainwin::XSIZE + 4;
ys = Mainwin::YSIZE + 30;
xresman.geometry(".geometry", display->xsize(), display->ysize(), 1, xp, yp, xs, ys);

styles_init(display, &xresman);
rootwin = new X_rootwin(display);
mainwin = new Mainwin(rootwin, &xresman, xp, yp, &pipe);
mainwin->x_set_title(uiTitle);
rootwin->handle_event();
handler = new X_handler(display, mainwin, EV_X11);
handler->next_event();
XFlush(display->dpy());

do
{
ev = mainwin->process();
if (ev == EV_X11)
{
rootwin->handle_event();
handler->next_event();
}
else if (ev == Esync::EV_TIME)
{
handler->next_event();

if (pipe.isPipeRunning())
pipe.idlePipe();
}
}
while (ev != EV_EXIT && ! pipe.quitRequested());

styles_fini(display);
delete handler;
delete rootwin;
delete display;

return 0;
}

// --------------------------------------------------------------------------------------------

+ 18
- 141
source/native-plugins/zita-bls1.cpp View File

@@ -15,22 +15,15 @@
* For a full copy of the GNU General Public License see the doc/GPL.txt file. * For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/ */


#include "CarlaNative.hpp"
#include "CarlaMathUtils.hpp"
#include "CarlaNativeExtUI.hpp"
#include "CarlaJuceUtils.hpp" #include "CarlaJuceUtils.hpp"


#include "juce_audio_basics.h" #include "juce_audio_basics.h"


#include "zita-common.hpp"
#include "zita-bls1/guiclass.cc"
#include "zita-bls1/hp3filt.cc" #include "zita-bls1/hp3filt.cc"
#include "zita-bls1/jclient.cc" #include "zita-bls1/jclient.cc"
#include "zita-bls1/lfshelf2.cc" #include "zita-bls1/lfshelf2.cc"
#include "zita-bls1/mainwin.cc"
#include "zita-bls1/png2img.cc"
#include "zita-bls1/rotary.cc"
#include "zita-bls1/shuffler.cc" #include "zita-bls1/shuffler.cc"
#include "zita-bls1/styles.cc"


using juce::FloatVectorOperations; using juce::FloatVectorOperations;
using juce::ScopedPointer; using juce::ScopedPointer;
@@ -40,9 +33,7 @@ using namespace BLS1;
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// BLS1 Plugin // BLS1 Plugin


class BLS1Plugin : public NativePluginClass,
public X_handler_thread<Mainwin>::SetValueCallback,
private Mainwin::ValueChangedCallback
class BLS1Plugin : public NativePluginAndUiClass
{ {
public: public:
static const uint32_t kNumInputs = 2; static const uint32_t kNumInputs = 2;
@@ -59,15 +50,9 @@ public:
}; };


BLS1Plugin(const NativeHostDescriptor* const host) BLS1Plugin(const NativeHostDescriptor* const host)
: NativePluginClass(host),
: NativePluginAndUiClass(host, "bls1-ui"),
fJackClient(), fJackClient(),
xresman(),
jclient(nullptr), jclient(nullptr),
display(nullptr),
rootwin(nullptr),
mainwin(nullptr),
handler(nullptr),
handlerThread(this),
leakDetector_BLS1Plugin() leakDetector_BLS1Plugin()
{ {
CARLA_SAFE_ASSERT(host != nullptr); CARLA_SAFE_ASSERT(host != nullptr);
@@ -78,12 +63,6 @@ public:
fJackClient.bufferSize = getBufferSize(); fJackClient.bufferSize = getBufferSize();
fJackClient.sampleRate = getSampleRate(); fJackClient.sampleRate = getSampleRate();


int argc = 1;
char* argv[] = { (char*)"bls1" };
xresman.init(&argc, argv, (char*)"bls1", nullptr, 0);

jclient = new Jclient(xresman.rname(), &fJackClient);

// set initial values // set initial values
fParameters[kParameterINPBAL] = 0.0f; fParameters[kParameterINPBAL] = 0.0f;
fParameters[kParameterHPFILT] = 40.0f; fParameters[kParameterHPFILT] = 40.0f;
@@ -92,10 +71,7 @@ public:
fParameters[kParameterLFFREQ] = 80.0f; fParameters[kParameterLFFREQ] = 80.0f;
fParameters[kParameterLFGAIN] = 0.0f; fParameters[kParameterLFGAIN] = 0.0f;


jclient->set_inpbal(fParameters[kParameterINPBAL]);
jclient->set_hpfilt(fParameters[kParameterHPFILT]);
jclient->shuffler()->prepare(fParameters[kParameterSHGAIN], fParameters[kParameterSHFREQ]);
jclient->set_loshelf(fParameters[kParameterLFGAIN], fParameters[kParameterLFFREQ]);
_recreateZitaClient();
} }


// ------------------------------------------------------------------- // -------------------------------------------------------------------
@@ -238,120 +214,19 @@ public:
fJackClient.processCallback(frames, fJackClient.processPtr); fJackClient.processCallback(frames, fJackClient.processPtr);
} }


// -------------------------------------------------------------------
// Plugin UI calls

void uiShow(const bool show) override
{
if (show)
{
if (display != nullptr)
return;

display = new X_display(nullptr);

if (display->dpy() == nullptr)
return hostUiUnavailable();

styles_init(display, &xresman, getResourceDir());

rootwin = new X_rootwin(display);
mainwin = new Mainwin(rootwin, &xresman, 0, 0, jclient, this);
rootwin->handle_event();
mainwin->x_set_title(getUiName());

handler = new X_handler(display, mainwin, EV_X11);

if (const uintptr_t winId = getUiParentId())
XSetTransientForHint(display->dpy(), mainwin->win(), static_cast<Window>(winId));

handler->next_event();
XFlush(display->dpy());

handlerThread.setupAndRun(handler, rootwin, mainwin);
}
else
{
if (handlerThread.isThreadRunning())
handlerThread.stopThread();

handler = nullptr;
mainwin = nullptr;
rootwin = nullptr;
display = nullptr;
}
}

void uiIdle() override
{
if (mainwin == nullptr)
return;

if (handlerThread.wasClosed())
{
{
const CarlaMutexLocker cml(handlerThread.getLock());
handler = nullptr;
mainwin = nullptr;
rootwin = nullptr;
display = nullptr;
}
uiClosed();
}
}

void uiSetParameterValue(const uint32_t index, const float value) override
{
CARLA_SAFE_ASSERT_RETURN(index < kParameterNROTARY,);

if (mainwin == nullptr)
return;

handlerThread.setParameterValueLater(index, value);
}

// ------------------------------------------------------------------- // -------------------------------------------------------------------
// Plugin dispatcher calls // Plugin dispatcher calls


void bufferSizeChanged(const uint32_t bufferSize) override void bufferSizeChanged(const uint32_t bufferSize) override
{ {
fJackClient.bufferSize = bufferSize; fJackClient.bufferSize = bufferSize;
_recreateZitaClient();
} }


void sampleRateChanged(const double sampleRate) override void sampleRateChanged(const double sampleRate) override
{ {
fJackClient.sampleRate = sampleRate; fJackClient.sampleRate = sampleRate;
}

void uiNameChanged(const char* const uiName) override
{
CARLA_SAFE_ASSERT_RETURN(uiName != nullptr && uiName[0] != '\0',);

if (mainwin == nullptr)
return;

const CarlaMutexLocker cml(handlerThread.getLock());

mainwin->x_set_title(uiName);
}

// -------------------------------------------------------------------
// Mainwin callbacks

void valueChangedCallback(uint index, double value) override
{
fParameters[index] = value;
uiParameterChanged(index, value);
}

// -------------------------------------------------------------------
// X_handler_thread callbacks

void setParameterValueFromHandlerThread(uint32_t index, float value) override
{
CARLA_SAFE_ASSERT_RETURN(mainwin != nullptr,);

mainwin->_rotary[index]->set_value(value);
_recreateZitaClient();
} }


// ------------------------------------------------------------------- // -------------------------------------------------------------------
@@ -361,16 +236,20 @@ private:
jack_client_t fJackClient; jack_client_t fJackClient;


// Zita stuff (core) // Zita stuff (core)
X_resman xresman;
ScopedPointer<Jclient> jclient;
ScopedPointer<X_display> display;
ScopedPointer<X_rootwin> rootwin;
ScopedPointer<Mainwin> mainwin;
ScopedPointer<X_handler> handler;
X_handler_thread<Mainwin> handlerThread;
ScopedPointer<Jclient> jclient;


// Parameters
float fParameters[kParameterNROTARY]; float fParameters[kParameterNROTARY];


void _recreateZitaClient()
{
jclient = new Jclient(&fJackClient);
jclient->set_inpbal(fParameters[kParameterINPBAL]);
jclient->set_hpfilt(fParameters[kParameterHPFILT]);
jclient->shuffler()->prepare(fParameters[kParameterSHGAIN], fParameters[kParameterSHFREQ]);
jclient->set_loshelf(fParameters[kParameterLFGAIN], fParameters[kParameterLFFREQ]);
}

PluginClassEND(BLS1Plugin) PluginClassEND(BLS1Plugin)
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(BLS1Plugin) CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(BLS1Plugin)
}; };
@@ -381,9 +260,7 @@ static const NativePluginDescriptor bls1Desc = {
/* category */ NATIVE_PLUGIN_CATEGORY_FILTER, /* category */ NATIVE_PLUGIN_CATEGORY_FILTER,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI |NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ static_cast<NativePluginSupports>(0x0), /* supports */ static_cast<NativePluginSupports>(0x0),
/* audioIns */ BLS1Plugin::kNumInputs, /* audioIns */ BLS1Plugin::kNumInputs,
/* audioOuts */ BLS1Plugin::kNumOutputs, /* audioOuts */ BLS1Plugin::kNumOutputs,


+ 2
- 2
source/native-plugins/zita-bls1/global.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 2
- 2
source/native-plugins/zita-bls1/guiclass.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 2
- 2
source/native-plugins/zita-bls1/guiclass.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 2
- 2
source/native-plugins/zita-bls1/hp3filt.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 2
- 2
source/native-plugins/zita-bls1/hp3filt.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 10
- 23
source/native-plugins/zita-bls1/jclient.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -26,11 +26,10 @@
namespace BLS1 { namespace BLS1 {




Jclient::Jclient (const char *jname, jack_client_t *jclient) :
Jclient::Jclient (jack_client_t *jclient) :
A_thread ("Jclient"), A_thread ("Jclient"),
_jack_client (jclient), _jack_client (jclient),
_active (false), _active (false),
_jname (0),
_inpbal0 (0), _inpbal0 (0),
_inpbal1 (0), _inpbal1 (0),
_ga (1.0f), _ga (1.0f),
@@ -38,7 +37,7 @@ Jclient::Jclient (const char *jname, jack_client_t *jclient) :
_da (0.0f), _da (0.0f),
_db (0.0f) _db (0.0f)
{ {
init_jack (jname);
init_jack ();
} }




@@ -48,37 +47,25 @@ Jclient::~Jclient (void)
} }




void Jclient::init_jack (const char *jname)
void Jclient::init_jack (void)
{ {
struct sched_param spar;
int abspri, policy, k;

jack_set_process_callback (_jack_client, jack_static_process, (void *) this); jack_set_process_callback (_jack_client, jack_static_process, (void *) this);
jack_on_shutdown (_jack_client, jack_static_shutdown, (void *) this); jack_on_shutdown (_jack_client, jack_static_shutdown, (void *) this);
jack_activate (_jack_client);


if (jack_activate (_jack_client))
{
fprintf (stderr, "Can't activate JACK.\n");
exit (1);
}

_jname = jack_get_client_name (_jack_client);
_fsamp = jack_get_sample_rate (_jack_client); _fsamp = jack_get_sample_rate (_jack_client);
_psize = jack_get_buffer_size (_jack_client); _psize = jack_get_buffer_size (_jack_client);
if (_psize > 4096) if (_psize > 4096)
{ {
fprintf (stderr, "Period size can't be more than 4096.\n"); fprintf (stderr, "Period size can't be more than 4096.\n");
exit (1);
return;
} }
if (_psize & (_psize - 1)) if (_psize & (_psize - 1))
{ {
fprintf (stderr, "Period size must be a power of 2.\n"); fprintf (stderr, "Period size must be a power of 2.\n");
exit (1);
return;
} }


pthread_getschedparam (jack_client_thread_id (_jack_client), &policy, &spar);
abspri = spar.sched_priority;

_inpports [0] = jack_port_register (_jack_client, "inp.L", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0); _inpports [0] = jack_port_register (_jack_client, "inp.L", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0);
_inpports [1] = jack_port_register (_jack_client, "inp.R", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0); _inpports [1] = jack_port_register (_jack_client, "inp.R", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0);
_outports [0] = jack_port_register (_jack_client, "out.L", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0); _outports [0] = jack_port_register (_jack_client, "out.L", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0);
@@ -87,10 +74,10 @@ void Jclient::init_jack (const char *jname)
_hpfilt.setfsamp (_fsamp); _hpfilt.setfsamp (_fsamp);
_lshelf.setfsamp (_fsamp); _lshelf.setfsamp (_fsamp);
_lshelf.bypass (false); _lshelf.bypass (false);
_shuffl.init (_fsamp, _psize, abspri, policy);
_shuffl.init (_fsamp, _psize);




for (k = _fsamp, _fragm = 1024; k > 56000; k >>= 1, _fragm <<= 1);
for (int k = _fsamp, _fragm = 1024; k > 56000; k >>= 1, _fragm <<= 1);
_nsamp = 0; _nsamp = 0;
_active = true; _active = true;
} }


+ 4
- 7
source/native-plugins/zita-bls1/jclient.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -41,11 +41,9 @@ class Jclient : public A_thread
{ {
public: public:


Jclient (const char *jname, jack_client_t *jclient);
Jclient (jack_client_t *jclient);
~Jclient (void); ~Jclient (void);


const char *jname (void) const { return _jname; }

void set_inpbal (float diff) void set_inpbal (float diff)
{ {
_inpbal0 = diff; _inpbal0 = diff;
@@ -68,7 +66,7 @@ public:


private: private:


void init_jack (const char *jname);
void init_jack (void);
void close_jack (void); void close_jack (void);
void jack_shutdown (void); void jack_shutdown (void);
int jack_process (int nframes); int jack_process (int nframes);
@@ -79,7 +77,6 @@ private:
jack_port_t *_inpports [2]; jack_port_t *_inpports [2];
jack_port_t *_outports [2]; jack_port_t *_outports [2];
bool _active; bool _active;
const char *_jname;
unsigned int _fsamp; unsigned int _fsamp;
int _psize; int _psize;
int _fragm; int _fragm;


+ 2
- 2
source/native-plugins/zita-bls1/lfshelf2.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 2
- 2
source/native-plugins/zita-bls1/lfshelf2.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 7
- 13
source/native-plugins/zita-bls1/mainwin.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -30,25 +30,21 @@
namespace BLS1 { namespace BLS1 {




Mainwin::Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, Jclient *jclient, ValueChangedCallback* valuecb) :
Mainwin::Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, ValueChangedCallback* valuecb) :
A_thread ("Main"), A_thread ("Main"),
X_window (parent, xp, yp, XSIZE, YSIZE, XftColors [C_MAIN_BG]->pixel), X_window (parent, xp, yp, XSIZE, YSIZE, XftColors [C_MAIN_BG]->pixel),
_stop (false), _stop (false),
_xres (xres), _xres (xres),
_jclient (jclient),
_touch (false), _touch (false),
_valuecb (valuecb) _valuecb (valuecb)
{ {
X_hints H; X_hints H;
char s [1024];
int i; int i;


_atom = XInternAtom (dpy (), "WM_DELETE_WINDOW", True); _atom = XInternAtom (dpy (), "WM_DELETE_WINDOW", True);
XSetWMProtocols (dpy (), win (), &_atom, 1); XSetWMProtocols (dpy (), win (), &_atom, 1);
_atom = XInternAtom (dpy (), "WM_PROTOCOLS", True); _atom = XInternAtom (dpy (), "WM_PROTOCOLS", True);


sprintf (s, "%s", jclient->jname ());
x_set_title (s);
H.position (xp, yp); H.position (xp, yp);
H.minsize (XSIZE, YSIZE); H.minsize (XSIZE, YSIZE);
H.maxsize (XSIZE, YSIZE); H.maxsize (XSIZE, YSIZE);
@@ -56,6 +52,7 @@ Mainwin::Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, Jclient *jc
H.rclas (xres->rclas ()); H.rclas (xres->rclas ());
x_apply (&H); x_apply (&H);


RotaryCtl::init (disp ());
_rotary [INPBAL] = new Rlinctl (this, this, &inpbal_img, 20, 0, 120, 4, -3.0f, 3.0f, 0.0f, INPBAL); _rotary [INPBAL] = new Rlinctl (this, this, &inpbal_img, 20, 0, 120, 4, -3.0f, 3.0f, 0.0f, INPBAL);
_rotary [HPFILT] = new Rlogctl (this, this, &hpfilt_img, 20, 0, 120, 4, 10.0f, 320.0f, 40.0f, HPFILT); _rotary [HPFILT] = new Rlogctl (this, this, &hpfilt_img, 20, 0, 120, 4, 10.0f, 320.0f, 40.0f, HPFILT);
_rotary [SHGAIN] = new Rlinctl (this, this, &shgain_img, 190, 0, 120, 5, 0.0f, 24.0f, 15.0f, SHGAIN); _rotary [SHGAIN] = new Rlinctl (this, this, &shgain_img, 190, 0, 120, 5, 0.0f, 24.0f, 15.0f, SHGAIN);
@@ -78,6 +75,7 @@ Mainwin::Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, Jclient *jc
Mainwin::~Mainwin (void) Mainwin::~Mainwin (void)
{ {
RotaryCtl::fini ();
} }


@@ -133,16 +131,15 @@ void Mainwin::handle_time (void)
if (--_timeout == 0) numdisp (-1); if (--_timeout == 0) numdisp (-1);
} }


if (_touch && _jclient->shuffler ()->ready ())
if (_touch)
{ {
double v1 = _rotary [SHGAIN]->value (), v2 = _rotary [SHFREQ]->value (); double v1 = _rotary [SHGAIN]->value (), v2 = _rotary [SHFREQ]->value ();
_jclient->shuffler ()->prepare (v1, v2);
_valuecb->valueChangedCallback (SHGAIN, v1); _valuecb->valueChangedCallback (SHGAIN, v1);
_valuecb->valueChangedCallback (SHFREQ, v2); _valuecb->valueChangedCallback (SHFREQ, v2);
_touch = 0; _touch = 0;
} }


inc_time (50000);
inc_time (5000);
XFlush (dpy ()); XFlush (dpy ());
} }


@@ -178,12 +175,10 @@ void Mainwin::handle_callb (int type, X_window *W, XEvent *E)
{ {
case INPBAL: case INPBAL:
v = _rotary [INPBAL]->value (); v = _rotary [INPBAL]->value ();
_jclient->set_inpbal (v);
_valuecb->valueChangedCallback (INPBAL, v); _valuecb->valueChangedCallback (INPBAL, v);
break; break;
case HPFILT: case HPFILT:
v = _rotary [HPFILT]->value (); v = _rotary [HPFILT]->value ();
_jclient->set_hpfilt (v);
_valuecb->valueChangedCallback (HPFILT, v); _valuecb->valueChangedCallback (HPFILT, v);
break; break;
case SHGAIN: case SHGAIN:
@@ -194,7 +189,6 @@ void Mainwin::handle_callb (int type, X_window *W, XEvent *E)
case LFGAIN: case LFGAIN:
v = _rotary [LFGAIN]->value (); v = _rotary [LFGAIN]->value ();
v2 = _rotary [LFFREQ]->value (); v2 = _rotary [LFFREQ]->value ();
_jclient->set_loshelf (v, v2);
_valuecb->valueChangedCallback (LFGAIN, v); _valuecb->valueChangedCallback (LFGAIN, v);
_valuecb->valueChangedCallback (LFFREQ, v2); _valuecb->valueChangedCallback (LFFREQ, v2);
break; break;


+ 6
- 6
source/native-plugins/zita-bls1/mainwin.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -29,7 +29,7 @@
#include "jclient.h" #include "jclient.h"
#include "global.h" #include "global.h"


class BLS1Plugin;
class ZitaPipeClient;


namespace BLS1 { namespace BLS1 {


@@ -43,9 +43,10 @@ public:
virtual void valueChangedCallback(uint, double) = 0; virtual void valueChangedCallback(uint, double) = 0;
}; };



enum { XSIZE = 540, YSIZE = 75 }; enum { XSIZE = 540, YSIZE = 75 };


Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, Jclient *jclient, ValueChangedCallback* valuecb);
Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, ValueChangedCallback* valuecb);
~Mainwin (void); ~Mainwin (void);
Mainwin (const Mainwin&); Mainwin (const Mainwin&);
Mainwin& operator=(const Mainwin&); Mainwin& operator=(const Mainwin&);
@@ -72,7 +73,6 @@ private:
Atom _atom; Atom _atom;
bool _stop; bool _stop;
X_resman *_xres; X_resman *_xres;
Jclient *_jclient;
RotaryCtl *_rotary [NROTARY]; RotaryCtl *_rotary [NROTARY];
X_textip *_numtext; X_textip *_numtext;
int _parmind; int _parmind;
@@ -81,7 +81,7 @@ private:


ValueChangedCallback* _valuecb; ValueChangedCallback* _valuecb;


friend class ::BLS1Plugin;
friend class ::ZitaPipeClient;
}; };






+ 2
- 2
source/native-plugins/zita-bls1/png2img.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 2
- 2
source/native-plugins/zita-bls1/png2img.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or


+ 18
- 6
source/native-plugins/zita-bls1/rotary.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -28,6 +28,8 @@
namespace BLS1 { namespace BLS1 {




cairo_t *RotaryCtl::_cairotype = 0;
cairo_surface_t *RotaryCtl::_cairosurf = 0;


int RotaryCtl::_wb_up = 4; int RotaryCtl::_wb_up = 4;
int RotaryCtl::_wb_dn = 5; int RotaryCtl::_wb_dn = 5;
@@ -59,10 +61,6 @@ RotaryCtl::RotaryCtl (X_window *parent,
{ {
x_add_events ( ExposureMask x_add_events ( ExposureMask
| Button1MotionMask | ButtonPressMask | ButtonReleaseMask); | Button1MotionMask | ButtonPressMask | ButtonReleaseMask);

_cairo->initIfNeeded(parent->disp());
_cairotype = _cairo->type;
_cairosurf = _cairo->surf;
} }




@@ -71,6 +69,20 @@ RotaryCtl::~RotaryCtl (void)
} }




void RotaryCtl::init (X_display *disp)
{
_cairosurf = cairo_xlib_surface_create (disp->dpy (), 0, disp->dvi (), 50, 50);
_cairotype = cairo_create (_cairosurf);
}


void RotaryCtl::fini (void)
{
cairo_destroy (_cairotype);
cairo_surface_destroy (_cairosurf);
}


void RotaryCtl::handle_event (XEvent *E) void RotaryCtl::handle_event (XEvent *E)
{ {
switch (E->type) switch (E->type)


+ 7
- 5
source/native-plugins/zita-bls1/rotary.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -73,6 +73,9 @@ public:
virtual void set_value (double v) = 0; virtual void set_value (double v) = 0;
virtual void get_string (char *p, int n) {} virtual void get_string (char *p, int n) {}


static void init (X_display *disp);
static void fini (void);

static int _wb_up; static int _wb_up;
static int _wb_dn; static int _wb_dn;


@@ -107,9 +110,8 @@ private:
virtual int handle_motion (int dx, int dy) = 0; virtual int handle_motion (int dx, int dy) = 0;
virtual int handle_mwheel (int dw) = 0; virtual int handle_mwheel (int dw) = 0;


juce::SharedResourcePointer<x_cairo_t> _cairo;
cairo_t *_cairotype;
cairo_surface_t *_cairosurf;
static cairo_t *_cairotype;
static cairo_surface_t *_cairosurf;
}; };






+ 4
- 4
source/native-plugins/zita-bls1/shuffler.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -54,7 +54,7 @@ Shuffler::~Shuffler (void)
} }




void Shuffler::init (int fsamp, int quant, int abspri, int policy)
void Shuffler::init (int fsamp, int quant)
{ {
int k; int k;


@@ -80,7 +80,7 @@ void Shuffler::init (int fsamp, int quant, int abspri, int policy)


_convproc.configure (1, 1, _iplen, _quant, _minpt, _minpt); _convproc.configure (1, 1, _iplen, _quant, _minpt, _minpt);
_convproc.impdata_create (0, 0, 1, _fft_time, 0, _iplen); _convproc.impdata_create (0, 0, 1, _fft_time, 0, _iplen);
_convproc.start_process (abspri, policy);
_convproc.start_process (35, SCHED_FIFO);
} }






+ 3
- 3
source/native-plugins/zita-bls1/shuffler.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -37,7 +37,7 @@ public:
Shuffler (void); Shuffler (void);
~Shuffler (void); ~Shuffler (void);
void init (int fsamp, int quant, int abspri, int policy);
void init (int fsamp, int quant);
void reset (void); void reset (void);
void prepare (float gain, float freq); void prepare (float gain, float freq);
void process (int nsamp, float *inp [], float *out []); void process (int nsamp, float *inp [], float *out []);


+ 18
- 7
source/native-plugins/zita-bls1/styles.cc View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -24,6 +24,7 @@
#include "png2img.h" #include "png2img.h"


#include "CarlaString.hpp" #include "CarlaString.hpp"
#include <dlfcn.h>


namespace BLS1 { namespace BLS1 {


@@ -44,9 +45,20 @@ RotaryImg lffreq_img;
RotaryImg lfgain_img; RotaryImg lfgain_img;




static CarlaString getResourceDir()
{
Dl_info exeInfo;
dladdr((void*)getResourceDir, &exeInfo);

CarlaString filename(exeInfo.dli_fname);
return filename.truncate(filename.rfind("-ui"));
}



int styles_init (X_display *disp, X_resman *xrm, const char *resdir)
int styles_init (X_display *disp, X_resman *xrm)
{ {
CarlaString resourceDir(getResourceDir());

XftColors [C_MAIN_BG] = disp->alloc_xftcolor (0.25f, 0.25f, 0.25f, 1.0f); XftColors [C_MAIN_BG] = disp->alloc_xftcolor (0.25f, 0.25f, 0.25f, 1.0f);
XftColors [C_MAIN_FG] = disp->alloc_xftcolor (1.0f, 1.0f, 1.0f, 1.0f); XftColors [C_MAIN_FG] = disp->alloc_xftcolor (1.0f, 1.0f, 1.0f, 1.0f);
XftColors [C_TEXT_BG] = disp->alloc_xftcolor (1.0f, 1.0f, 0.0f, 1.0f); XftColors [C_TEXT_BG] = disp->alloc_xftcolor (1.0f, 1.0f, 0.0f, 1.0f);
@@ -58,10 +70,9 @@ int styles_init (X_display *disp, X_resman *xrm, const char *resdir)
tstyle1.color.normal.bgnd = XftColors [C_TEXT_BG]->pixel; tstyle1.color.normal.bgnd = XftColors [C_TEXT_BG]->pixel;
tstyle1.color.normal.text = XftColors [C_TEXT_FG]; tstyle1.color.normal.text = XftColors [C_TEXT_FG];


const CarlaString SHARED = CarlaString(resdir)+"/bls1";
inputsect = png2img (SHARED+"/inputsect.png", disp, XftColors [C_MAIN_BG]);
shuffsect = png2img (SHARED+"/shuffsect.png", disp, XftColors [C_MAIN_BG]);
lfshfsect = png2img (SHARED+"/lfshfsect.png", disp, XftColors [C_MAIN_BG]);
inputsect = png2img (resourceDir+"/inputsect.png", disp, XftColors [C_MAIN_BG]);
shuffsect = png2img (resourceDir+"/shuffsect.png", disp, XftColors [C_MAIN_BG]);
lfshfsect = png2img (resourceDir+"/lfshfsect.png", disp, XftColors [C_MAIN_BG]);
if (!inputsect || !shuffsect || !lfshfsect) return 1; if (!inputsect || !shuffsect || !lfshfsect) return 1;


inpbal_img._backg = XftColors [C_MAIN_BG]; inpbal_img._backg = XftColors [C_MAIN_BG];


+ 3
- 3
source/native-plugins/zita-bls1/styles.h View File

@@ -1,8 +1,8 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
//
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
//
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
@@ -43,7 +43,7 @@ enum
}; };




extern int styles_init (X_display *disp, X_resman *xrm, const char *resdir);
extern int styles_init (X_display *disp, X_resman *xrm);
extern void styles_fini (X_display *disp); extern void styles_fini (X_display *disp);


extern XftColor *XftColors [NXFTCOLORS]; extern XftColor *XftColors [NXFTCOLORS];


+ 6
- 3
source/native-plugins/zita-rev1-ui.cpp View File

@@ -39,7 +39,7 @@ public:


~ZitaPipeClient() noexcept override ~ZitaPipeClient() noexcept override
{ {
if (fQuitReceived)
if (fQuitReceived || ! isPipeRunning())
return; return;


const CarlaMutexLocker cml(getPipeLock()); const CarlaMutexLocker cml(getPipeLock());
@@ -113,7 +113,8 @@ protected:
if (index == Mainwin::R_RGXYZ) if (index == Mainwin::R_RGXYZ)
index = Mainwin::R_OPMIX; index = Mainwin::R_OPMIX;


writeControlMessage(index, value);
if (isPipeRunning())
writeControlMessage(index, value);
} }


private: private:
@@ -180,7 +181,9 @@ int main(int argc, const char* argv[])
else if (ev == Esync::EV_TIME) else if (ev == Esync::EV_TIME)
{ {
handler->next_event(); handler->next_event();
pipe.idlePipe();

if (pipe.isPipeRunning())
pipe.idlePipe();
} }
} }
while (ev != EV_EXIT && ! pipe.quitRequested()); while (ev != EV_EXIT && ! pipe.quitRequested());


+ 33
- 27
source/native-plugins/zita-rev1.cpp View File

@@ -66,8 +66,6 @@ public:
fJackClient.bufferSize = getBufferSize(); fJackClient.bufferSize = getBufferSize();
fJackClient.sampleRate = getSampleRate(); fJackClient.sampleRate = getSampleRate();


jclient = new Jclient(&fJackClient, isAmbisonic);

// set initial values // set initial values
fParameters[kParameterDELAY] = 0.04f; fParameters[kParameterDELAY] = 0.04f;
fParameters[kParameterXOVER] = 200.0f; fParameters[kParameterXOVER] = 200.0f;
@@ -84,27 +82,7 @@ public:
else else
fParameters[kParameterOPMIXorRGXYZ] = 0.5f; fParameters[kParameterOPMIXorRGXYZ] = 0.5f;


Reverb* const reverb(jclient->reverb());

reverb->set_delay(fParameters[kParameterDELAY]);
reverb->set_xover(fParameters[kParameterXOVER]);
reverb->set_rtlow(fParameters[kParameterRTLOW]);
reverb->set_rtmid(fParameters[kParameterRTMID]);
reverb->set_fdamp(fParameters[kParameterFDAMP]);

if (isAmbisonic)
{
reverb->set_opmix(0.5);
reverb->set_rgxyz(fParameters[kParameterOPMIXorRGXYZ]);
}
else
{
reverb->set_opmix(fParameters[kParameterOPMIXorRGXYZ]);
reverb->set_rgxyz(0.0);
}

reverb->set_eq1(fParameters[kParameterEQ1FR], fParameters[kParameterEQ1GN]);
reverb->set_eq2(fParameters[kParameterEQ2FR], fParameters[kParameterEQ2GN]);
_recreateZitaClient();
} }


// ------------------------------------------------------------------- // -------------------------------------------------------------------
@@ -306,11 +284,13 @@ public:
void bufferSizeChanged(const uint32_t bufferSize) override void bufferSizeChanged(const uint32_t bufferSize) override
{ {
fJackClient.bufferSize = bufferSize; fJackClient.bufferSize = bufferSize;
_recreateZitaClient();
} }


void sampleRateChanged(const double sampleRate) override void sampleRateChanged(const double sampleRate) override
{ {
fJackClient.sampleRate = sampleRate; fJackClient.sampleRate = sampleRate;
_recreateZitaClient();
} }


// ------------------------------------------------------------------- // -------------------------------------------------------------------
@@ -357,8 +337,36 @@ private:
// Zita stuff (core) // Zita stuff (core)
ScopedPointer<Jclient> jclient; ScopedPointer<Jclient> jclient;


// Parameters
float fParameters[kParameterNROTARY]; float fParameters[kParameterNROTARY];


void _recreateZitaClient()
{
jclient = new Jclient(&fJackClient, kIsAmbisonic);

Reverb* const reverb(jclient->reverb());

reverb->set_delay(fParameters[kParameterDELAY]);
reverb->set_xover(fParameters[kParameterXOVER]);
reverb->set_rtlow(fParameters[kParameterRTLOW]);
reverb->set_rtmid(fParameters[kParameterRTMID]);
reverb->set_fdamp(fParameters[kParameterFDAMP]);

if (kIsAmbisonic)
{
reverb->set_opmix(0.5);
reverb->set_rgxyz(fParameters[kParameterOPMIXorRGXYZ]);
}
else
{
reverb->set_opmix(fParameters[kParameterOPMIXorRGXYZ]);
reverb->set_rgxyz(0.0);
}

reverb->set_eq1(fParameters[kParameterEQ1FR], fParameters[kParameterEQ1GN]);
reverb->set_eq2(fParameters[kParameterEQ2FR], fParameters[kParameterEQ2GN]);
}

public: public:
static NativePluginHandle _instantiateAmbisonic(const NativeHostDescriptor* host) static NativePluginHandle _instantiateAmbisonic(const NativeHostDescriptor* host)
{ {
@@ -384,8 +392,7 @@ static const NativePluginDescriptor rev1AmbisonicDesc = {
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY, /* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI |NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD),
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ static_cast<NativePluginSupports>(0x0), /* supports */ static_cast<NativePluginSupports>(0x0),
/* audioIns */ 2, /* audioIns */ 2,
/* audioOuts */ 4, /* audioOuts */ 4,
@@ -425,8 +432,7 @@ static const NativePluginDescriptor rev1StereoDesc = {
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY, /* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI |NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD),
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ static_cast<NativePluginSupports>(0x0), /* supports */ static_cast<NativePluginSupports>(0x0),
/* audioIns */ 2, /* audioIns */ 2,
/* audioOuts */ 2, /* audioOuts */ 2,


+ 1
- 1
source/native-plugins/zita-rev1/global.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@kokkinizita.net> // Copyright (C) 2010 Fons Adriaensen <fons@kokkinizita.net>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/guiclass.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/guiclass.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/jclient.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/jclient.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/mainwin.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/mainwin.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/pareq.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/pareq.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/png2img.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/png2img.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2007-2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/reverb.cc View File

@@ -1,7 +1,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// //
// Copyright (C) 2003-2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2003-2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/reverb.h View File

@@ -1,7 +1,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// //
// Copyright (C) 2003-2011 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2003-2011 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/rotary.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/rotary.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/styles.cc View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zita-rev1/styles.h View File

@@ -1,7 +1,7 @@
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// //
// Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org> // Copyright (C) 2010 Fons Adriaensen <fons@linuxaudio.org>
// Modified by falkTX on Jan 2015 for inclusion in Carla
// Modified by falkTX on Jan-Apr 2015 for inclusion in Carla
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by


+ 1
- 1
source/native-plugins/zynaddsubfx-synth.cpp View File

@@ -509,7 +509,7 @@ protected:


void setCustomData(const char* const key, const char* const value) override void setCustomData(const char* const key, const char* const value) override
{ {
CARLA_SAFE_ASSERT_RETURN(key != nullptr,);
CARLA_SAFE_ASSERT_RETURN(key != nullptr && key[0] != '\0',);
CARLA_SAFE_ASSERT_RETURN(value != nullptr,); CARLA_SAFE_ASSERT_RETURN(value != nullptr,);


/**/ if (std::strcmp(key, "CarlaAlternateFile1") == 0) // xmz /**/ if (std::strcmp(key, "CarlaAlternateFile1") == 0) // xmz


Loading…
Cancel
Save