Browse Source

Cleanup

tags/1.9.7
falkTX 10 years ago
parent
commit
2e18f6858e
2 changed files with 1 additions and 205 deletions
  1. +1
    -0
      Makefile
  2. +0
    -205
      source/native-plugins/zita-common.hpp

+ 1
- 0
Makefile View File

@@ -697,6 +697,7 @@ uninstall:
rm -rf $(DESTDIR)$(PREFIX)/include/carla/
rm -rf $(DESTDIR)$(PREFIX)/lib/carla/
rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/
rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla-native.lv2/
rm -rf $(DESTDIR)$(PREFIX)/lib/vst/carla.vst/
rm -rf $(DESTDIR)$(PREFIX)/share/carla/



+ 0
- 205
source/native-plugins/zita-common.hpp View File

@@ -1,205 +0,0 @@
/*
* 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.
*/

#ifndef CARLA_ZITA_COMMON_HPP_INCLUDED
#define CARLA_ZITA_COMMON_HPP_INCLUDED

#include "CarlaMutex.hpp"
#include "CarlaThread.hpp"
#include "LinkedList.hpp"

#include <png.h>
#include <clxclient.h>

#include <cairo/cairo.h>
#include <cairo/cairo-xlib.h>

#define EV_X11 16
#define EV_EXIT 31

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

struct x_cairo_t {
cairo_t * type;
cairo_surface_t* surf;

x_cairo_t() noexcept
: type(nullptr),
surf(nullptr) {}

~x_cairo_t()
{
cairo_destroy(type);
cairo_surface_destroy(surf);
}

void initIfNeeded(X_display* const disp)
{
if (surf != nullptr)
return;

surf = cairo_xlib_surface_create(disp->dpy(), 0, disp->dvi(), 50, 50);
type = cairo_create(surf);
}
};

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

struct X_handler_Param {
uint32_t index;
float value;
};

typedef LinkedList<X_handler_Param> ParamList;

template<class MainwinType>
class X_handler_thread : public CarlaThread
{
public:
struct SetValueCallback {
virtual ~SetValueCallback() {}
virtual void setParameterValueFromHandlerThread(const uint32_t index, const float value) = 0;
};

X_handler_thread(SetValueCallback* const cb)
: CarlaThread("X_handler"),
fCallback(cb),
fMutex(),
fHandler(nullptr),
fRootwin(nullptr),
fMainwin(nullptr),
fClosed(false),
fParamMutex(),
fParamChanges() {}

void setupAndRun(X_handler* const h, X_rootwin* const r, MainwinType* const m) noexcept
{
const CarlaMutexLocker cml(fMutex);

fHandler = h;
fRootwin = r;
fMainwin = m;

startThread();
}

void stopThread() noexcept
{
signalThreadShouldExit();

{
const CarlaMutexLocker cml(fMutex);
fHandler = nullptr;
fRootwin = nullptr;
fMainwin = nullptr;
}

CarlaThread::stopThread(1000);
}

CarlaMutex& getLock() noexcept
{
return fMutex;
}

void setParameterValueLater(const uint32_t index, const float value) noexcept
{
const CarlaMutexLocker cml(fParamMutex);

for (ParamList::Itenerator it = fParamChanges.begin(); it.valid(); it.next())
{
X_handler_Param& param(it.getValue());

if (param.index != index)
continue;

param.value = value;
return;
}

const X_handler_Param param = { index, value };
fParamChanges.append(param);
}

bool wasClosed() noexcept
{
if (fClosed)
{
fClosed = false;
return true;
}
return false;
}

private:
SetValueCallback* const fCallback;

CarlaMutex fMutex;
X_handler* fHandler;
X_rootwin* fRootwin;
MainwinType* fMainwin;
volatile bool fClosed;

CarlaMutex fParamMutex;
ParamList fParamChanges;

void run() override
{
for (; ! shouldThreadExit();)
{
const CarlaMutexLocker cml(fMutex);

CARLA_SAFE_ASSERT_RETURN(fMainwin != nullptr,);

{
const CarlaMutexLocker cml(fParamMutex);

for (ParamList::Itenerator it = fParamChanges.begin(); it.valid(); it.next())
{
const X_handler_Param& param(it.getValue());
fCallback->setParameterValueFromHandlerThread(param.index, param.value);
}

fParamChanges.clear();
}

switch (fMainwin->process())
{
case EV_X11:
fRootwin->handle_event();
fHandler->next_event();
break;
case EV_EXIT:
fClosed = true;
fHandler = nullptr;
fMainwin = nullptr;
fRootwin = nullptr;
return;
case Esync::EV_TIME:
fRootwin->handle_event();
break;
default:
carla_stdout("custom X11 event for zita plugs");
break;
}
}
}
};

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

#endif // CARLA_ZITA_COMMON_HPP_INCLUDED

Loading…
Cancel
Save