Signed-off-by: falkTX <falktx@falktx.com>tags/v2.1-rc1
@@ -17,7 +17,7 @@ make distclean >/dev/null | |||
make features | |||
# Build things that we skip strict tests for | |||
make 3rd USING_JUCE=true | |||
make 3rd frontend USING_JUCE=true | |||
# Build native stuff | |||
make TESTBUILD=true USING_JUCE=true |
@@ -17,7 +17,7 @@ make distclean >/dev/null | |||
make features | |||
# Build things that we skip strict tests for | |||
make 3rd | |||
make 3rd frontend | |||
make -C source/modules/water posix32 | |||
# Build native stuff | |||
@@ -187,8 +187,9 @@ endif | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# $(OBJDIR)/carla.cpp.o \ | |||
OBJS = \ | |||
$(OBJDIR)/carla.cpp.o \ | |||
$(OBJDIR)/carla_app.cpp.o \ | |||
$(OBJDIR)/carla_database.cpp.o \ | |||
$(OBJDIR)/carla_host.cpp.o \ | |||
@@ -207,12 +208,14 @@ OBJS = \ | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
TARGETS = $(BINDIR)/carla | |||
# TARGETS = $(BINDIR)/carla | |||
# TARGETS = carla | |||
TARGETS = \ | |||
$(BINDIR)/carla_database | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
all: $(RES) $(UIs) | |||
all: $(RES) $(UIs) $(TARGETS) | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
@@ -221,10 +224,10 @@ $(BINDIR)/carla: $(OBJS) | |||
@echo "Linking carla" | |||
$(CXX) $(OBJS) $(LIBS_START) $(LIBS) $(LIBS_END) $(LINK_FLAGS) -o $@ | |||
carla_settings: $(OBJS) | |||
$(BINDIR)/carla_database: $(OBJS) $(OBJDIR)/carla_database_app.cpp.o | |||
-@mkdir -p $(BINDIR) | |||
@echo "Linking carla" | |||
$(CXX) $(OBJS) $(LIBS_START) $(LIBS) $(LIBS_END) $(LINK_FLAGS) -o $@ | |||
@echo "Linking carla_database" | |||
$(CXX) $^ $(LIBS_START) $(LIBS) $(LIBS_END) $(LINK_FLAGS) -o $@ | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
@@ -1 +1,184 @@ | |||
/* | |||
* Carla plugin database code | |||
* Copyright (C) 2011-2019 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 "carla_database.hpp" | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Separate Thread for Plugin Search | |||
struct SearchPluginsThread::PrivateData { | |||
PrivateData(void*) | |||
{ | |||
} | |||
}; | |||
SearchPluginsThread::SearchPluginsThread(QObject* parent, QString pathBinaries) | |||
: QThread(parent), | |||
self(new PrivateData(this)) | |||
{ | |||
} | |||
SearchPluginsThread::~SearchPluginsThread() | |||
{ | |||
delete self; | |||
} | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Plugin Refresh Dialog | |||
struct PluginRefreshW::PrivateData { | |||
PrivateData(void*) | |||
{ | |||
} | |||
}; | |||
PluginRefreshW::PluginRefreshW(QWidget* parent) | |||
: QDialog(parent), | |||
self(new PrivateData(this)) | |||
{ | |||
delete self; | |||
} | |||
PluginRefreshW::~PluginRefreshW() | |||
{ | |||
} | |||
void PluginRefreshW::getValues(QString& audioDevice, uint& bufferSize, double& sampleRate) | |||
{ | |||
} | |||
void PluginRefreshW::closeEvent(QCloseEvent* event) | |||
{ | |||
} | |||
void PluginRefreshW::slot_saveSettings() | |||
{ | |||
} | |||
void PluginRefreshW::slot_start() | |||
{ | |||
} | |||
void PluginRefreshW::slot_skip() | |||
{ | |||
} | |||
void PluginRefreshW::slot_checkTools() | |||
{ | |||
} | |||
void PluginRefreshW::slot_handlePluginLook(float percent, QString plugin) | |||
{ | |||
} | |||
void PluginRefreshW::slot_handlePluginThreadFinished() | |||
{ | |||
} | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Plugin Database Dialog | |||
struct PluginDatabaseW::PrivateData { | |||
PrivateData(void*) | |||
{ | |||
} | |||
}; | |||
PluginDatabaseW::PluginDatabaseW(QWidget* parent, const CarlaHost& host, bool hasCanvas, bool hasCanvasGL) | |||
: QDialog(parent), | |||
self(new PrivateData(this)) | |||
{ | |||
} | |||
PluginDatabaseW::~PluginDatabaseW() | |||
{ | |||
delete self; | |||
} | |||
void PluginDatabaseW::showEvent(QShowEvent* event) | |||
{ | |||
} | |||
void PluginDatabaseW::slot_cellClicked(int row, int column) | |||
{ | |||
} | |||
void PluginDatabaseW::slot_cellDoubleClicked(int row, int column) | |||
{ | |||
} | |||
void PluginDatabaseW::slot_addPlugin() | |||
{ | |||
} | |||
void PluginDatabaseW::slot_checkPlugin(int row) | |||
{ | |||
} | |||
void PluginDatabaseW::slot_checkFilters() | |||
{ | |||
} | |||
void PluginDatabaseW::slot_refreshPlugins() | |||
{ | |||
} | |||
void PluginDatabaseW::slot_clearFilters() | |||
{ | |||
} | |||
void PluginDatabaseW::slot_saveSettings() | |||
{ | |||
} | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Jack Application Dialog | |||
struct JackApplicationW::PrivateData { | |||
PrivateData(void*) | |||
{ | |||
} | |||
}; | |||
JackApplicationW::JackApplicationW(QWidget* parent) | |||
: QDialog(parent), | |||
self(new PrivateData(this)) | |||
{ | |||
} | |||
JackApplicationW::~JackApplicationW() | |||
{ | |||
delete self; | |||
} | |||
void JackApplicationW::getCommandAndFlags(QString& command, QString& name, QString& labelSetup) | |||
{ | |||
} | |||
void JackApplicationW::slot_commandChanged(QString text) | |||
{ | |||
} | |||
void JackApplicationW::slot_sessionManagerChanged(int index) | |||
{ | |||
} | |||
void JackApplicationW::slot_saveSettings() | |||
{ | |||
} | |||
// -------------------------------------------------------------------------------------------------------------------- |
@@ -1 +1,144 @@ | |||
/* | |||
* Carla plugin database code | |||
* Copyright (C) 2011-2019 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_DATABASE_HPP_INCLUDED | |||
#define CARLA_DATABASE_HPP_INCLUDED | |||
//--------------------------------------------------------------------------------------------------------------------- | |||
// Imports (Global) | |||
#include <QtCore/QThread> | |||
#include <QtWidgets/QDialog> | |||
//--------------------------------------------------------------------------------------------------------------------- | |||
// Imports (Custom) | |||
#include "CarlaJuceUtils.hpp" | |||
class CarlaHost; | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Separate Thread for Plugin Search | |||
class SearchPluginsThread : public QThread | |||
{ | |||
Q_OBJECT | |||
signals: | |||
void pluginLook(); | |||
public: | |||
SearchPluginsThread(QObject* parent, QString pathBinaries); | |||
~SearchPluginsThread() override; | |||
private: | |||
struct PrivateData; | |||
PrivateData* const self; | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SearchPluginsThread) | |||
}; | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Plugin Refresh Dialog | |||
class PluginRefreshW : public QDialog | |||
{ | |||
Q_OBJECT | |||
public: | |||
PluginRefreshW(QWidget* parent); | |||
~PluginRefreshW() override; | |||
void getValues(QString& audioDevice, uint& bufferSize, double& sampleRate); | |||
private: | |||
struct PrivateData; | |||
PrivateData* const self; | |||
protected: | |||
void closeEvent(QCloseEvent* event) override; | |||
private slots: | |||
void slot_saveSettings(); | |||
void slot_start(); | |||
void slot_skip(); | |||
void slot_checkTools(); | |||
void slot_handlePluginLook(float percent, QString plugin); | |||
void slot_handlePluginThreadFinished(); | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PluginRefreshW) | |||
}; | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Plugin Database Dialog | |||
class PluginDatabaseW : public QDialog | |||
{ | |||
Q_OBJECT | |||
public: | |||
PluginDatabaseW(QWidget* parent, const CarlaHost& host, bool hasCanvas, bool hasCanvasGL); | |||
~PluginDatabaseW() override; | |||
private: | |||
struct PrivateData; | |||
PrivateData* const self; | |||
protected: | |||
void showEvent(QShowEvent* event) override; | |||
private slots: | |||
void slot_cellClicked(int row, int column); | |||
void slot_cellDoubleClicked(int row, int column); | |||
void slot_addPlugin(); | |||
void slot_checkPlugin(int row); | |||
void slot_checkFilters(); | |||
void slot_refreshPlugins(); | |||
void slot_clearFilters(); | |||
void slot_saveSettings(); | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PluginDatabaseW) | |||
}; | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Jack Application Dialog | |||
class JackApplicationW : public QDialog | |||
{ | |||
Q_OBJECT | |||
public: | |||
JackApplicationW(QWidget* parent); | |||
~JackApplicationW() override; | |||
void getCommandAndFlags(QString& command, QString& name, QString& labelSetup); | |||
private: | |||
struct PrivateData; | |||
PrivateData* const self; | |||
private slots: | |||
void slot_commandChanged(QString text); | |||
void slot_sessionManagerChanged(int index); | |||
void slot_saveSettings(); | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(JackApplicationW) | |||
}; | |||
//--------------------------------------------------------------------------------------------------------------------- | |||
#endif // CARLA_DATABASE_HPP_INCLUDED |
@@ -0,0 +1,60 @@ | |||
/* | |||
* Carla plugin database code | |||
* Copyright (C) 2011-2019 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 "carla_database.hpp" | |||
//--------------------------------------------------------------------------------------------------------------------- | |||
#include "carla_app.hpp" | |||
#include "carla_host.hpp" | |||
// -------------------------------------------------------------------------------------------------------------------- | |||
// Main | |||
int main(int argc, char* argv[]) | |||
{ | |||
// ---------------------------------------------------------------------------------------------------------------- | |||
// Read CLI args | |||
const QString initName(handleInitialCommandLineArguments(argc, argv)); | |||
// ---------------------------------------------------------------------------------------------------------------- | |||
// App initialization | |||
const CarlaApplication app("Carla2", argc, argv); | |||
// ---------------------------------------------------------------------------------------------------------------- | |||
// Init host backend | |||
CarlaHost& host = initHost(initName, false, false, true); | |||
loadHostSettings(host); | |||
// ---------------------------------------------------------------------------------------------------------------- | |||
// Create GUI | |||
JackApplicationW gui(nullptr); | |||
// ---------------------------------------------------------------------------------------------------------------- | |||
// Show GUI | |||
gui.show(); | |||
// ---------------------------------------------------------------------------------------------------------------- | |||
// App-Loop | |||
return app.exec(); | |||
} |