Browse Source

Make bls1 UI external; Cleanup

tags/1.9.7
falkTX 9 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-lv2-export

bls1-ui
rev1-ui
zynaddsubfx-ui



+ 9
- 4
Makefile View File

@@ -412,7 +412,11 @@ ifeq ($(EXPERIMENTAL_PLUGINS),true)
install -d $(DESTDIR)$(PREFIX)/share/carla/resources/rev1/
endif
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/
endif
endif
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/128x128/apps/
@@ -531,6 +535,7 @@ ifeq ($(EXPERIMENTAL_PLUGINS),true)
$(DESTDIR)$(PREFIX)/share/carla/resources/rev1/

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

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

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

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



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

@@ -13,6 +13,19 @@ include ../modules/Makefile.mk
BUILD_C_FLAGS += -I..
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

@@ -156,7 +169,9 @@ OBJS += \
$(OBJDIR)/zita-bls1.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

# ----------------------------------------------------------------------------------------------------------------------------
@@ -179,10 +194,15 @@ $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
@rm -f $@
@$(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
-@mkdir -p $(OBJDIR)
@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
-@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)
@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)
@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)
@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 $(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

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

+ 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.
*/

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

#include "juce_audio_basics.h"

#include "zita-common.hpp"
#include "zita-bls1/guiclass.cc"
#include "zita-bls1/hp3filt.cc"
#include "zita-bls1/jclient.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/styles.cc"

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

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

BLS1Plugin(const NativeHostDescriptor* const host)
: NativePluginClass(host),
: NativePluginAndUiClass(host, "bls1-ui"),
fJackClient(),
xresman(),
jclient(nullptr),
display(nullptr),
rootwin(nullptr),
mainwin(nullptr),
handler(nullptr),
handlerThread(this),
leakDetector_BLS1Plugin()
{
CARLA_SAFE_ASSERT(host != nullptr);
@@ -78,12 +63,6 @@ public:
fJackClient.bufferSize = getBufferSize();
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
fParameters[kParameterINPBAL] = 0.0f;
fParameters[kParameterHPFILT] = 40.0f;
@@ -92,10 +71,7 @@ public:
fParameters[kParameterLFFREQ] = 80.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);
}

// -------------------------------------------------------------------
// 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

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

void sampleRateChanged(const double sampleRate) override
{
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;

// 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];

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)
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(BLS1Plugin)
};
@@ -381,9 +260,7 @@ static const NativePluginDescriptor bls1Desc = {
/* category */ NATIVE_PLUGIN_CATEGORY_FILTER,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|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),
/* audioIns */ BLS1Plugin::kNumInputs,
/* 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -26,11 +26,10 @@
namespace BLS1 {


Jclient::Jclient (const char *jname, jack_client_t *jclient) :
Jclient::Jclient (jack_client_t *jclient) :
A_thread ("Jclient"),
_jack_client (jclient),
_active (false),
_jname (0),
_inpbal0 (0),
_inpbal1 (0),
_ga (1.0f),
@@ -38,7 +37,7 @@ Jclient::Jclient (const char *jname, jack_client_t *jclient) :
_da (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_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);
_psize = jack_get_buffer_size (_jack_client);
if (_psize > 4096)
{
fprintf (stderr, "Period size can't be more than 4096.\n");
exit (1);
return;
}
if (_psize & (_psize - 1))
{
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 [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);
@@ -87,10 +74,10 @@ void Jclient::init_jack (const char *jname)
_hpfilt.setfsamp (_fsamp);
_lshelf.setfsamp (_fsamp);
_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;
_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>
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -41,11 +41,9 @@ class Jclient : public A_thread
{
public:

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

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

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

private:

void init_jack (const char *jname);
void init_jack (void);
void close_jack (void);
void jack_shutdown (void);
int jack_process (int nframes);
@@ -79,7 +77,6 @@ private:
jack_port_t *_inpports [2];
jack_port_t *_outports [2];
bool _active;
const char *_jname;
unsigned int _fsamp;
int _psize;
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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -30,25 +30,21 @@
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"),
X_window (parent, xp, yp, XSIZE, YSIZE, XftColors [C_MAIN_BG]->pixel),
_stop (false),
_xres (xres),
_jclient (jclient),
_touch (false),
_valuecb (valuecb)
{
X_hints H;
char s [1024];
int i;

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

sprintf (s, "%s", jclient->jname ());
x_set_title (s);
H.position (xp, yp);
H.minsize (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 ());
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 [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);
@@ -78,6 +75,7 @@ Mainwin::Mainwin (X_rootwin *parent, X_resman *xres, int xp, int yp, Jclient *jc
Mainwin::~Mainwin (void)
{
RotaryCtl::fini ();
}

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

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

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

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


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

@@ -1,8 +1,8 @@
// ----------------------------------------------------------------------
//
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -29,7 +29,7 @@
#include "jclient.h"
#include "global.h"

class BLS1Plugin;
class ZitaPipeClient;

namespace BLS1 {

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


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 (const Mainwin&);
Mainwin& operator=(const Mainwin&);
@@ -72,7 +73,6 @@ private:
Atom _atom;
bool _stop;
X_resman *_xres;
Jclient *_jclient;
RotaryCtl *_rotary [NROTARY];
X_textip *_numtext;
int _parmind;
@@ -81,7 +81,7 @@ private:

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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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>
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -28,6 +28,8 @@
namespace BLS1 {


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

int RotaryCtl::_wb_up = 4;
int RotaryCtl::_wb_dn = 5;
@@ -59,10 +61,6 @@ RotaryCtl::RotaryCtl (X_window *parent,
{
x_add_events ( ExposureMask
| 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)
{
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>
// 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
// it under the terms of the GNU General Public License as published by
// 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 get_string (char *p, int n) {}

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

static int _wb_up;
static int _wb_dn;

@@ -107,9 +110,8 @@ private:
virtual int handle_motion (int dx, int dy) = 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>
// 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
// it under the terms of the GNU General Public License as published by
// 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;

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

_convproc.configure (1, 1, _iplen, _quant, _minpt, _minpt);
_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>
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -37,7 +37,7 @@ public:
Shuffler (void);
~Shuffler (void);
void init (int fsamp, int quant, int abspri, int policy);
void init (int fsamp, int quant);
void reset (void);
void prepare (float gain, float freq);
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>
// 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
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
@@ -24,6 +24,7 @@
#include "png2img.h"

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

namespace BLS1 {

@@ -44,9 +45,20 @@ RotaryImg lffreq_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_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);
@@ -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.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;

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>
// 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
// it under the terms of the GNU General Public License as published by
// 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 XftColor *XftColors [NXFTCOLORS];


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

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

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

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

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

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

if (pipe.isPipeRunning())
pipe.idlePipe();
}
}
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.sampleRate = getSampleRate();

jclient = new Jclient(&fJackClient, isAmbisonic);

// set initial values
fParameters[kParameterDELAY] = 0.04f;
fParameters[kParameterXOVER] = 200.0f;
@@ -84,27 +82,7 @@ public:
else
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
{
fJackClient.bufferSize = bufferSize;
_recreateZitaClient();
}

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

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

// Parameters
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:
static NativePluginHandle _instantiateAmbisonic(const NativeHostDescriptor* host)
{
@@ -384,8 +392,7 @@ static const NativePluginDescriptor rev1AmbisonicDesc = {
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|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),
/* audioIns */ 2,
/* audioOuts */ 4,
@@ -425,8 +432,7 @@ static const NativePluginDescriptor rev1StereoDesc = {
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|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),
/* audioIns */ 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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>
// 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
// 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
{
CARLA_SAFE_ASSERT_RETURN(key != nullptr,);
CARLA_SAFE_ASSERT_RETURN(key != nullptr && key[0] != '\0',);
CARLA_SAFE_ASSERT_RETURN(value != nullptr,);

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


Loading…
Cancel
Save