diff options
author | Johannes Schoepfer <slackbuilds@schoepfer.info> | 2019-11-23 15:13:41 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2019-11-23 15:13:41 +0700 |
commit | 40f5bc20ba0ebf1bc10291bae7328e4c258df51e (patch) | |
tree | fd6e5a2c0ed674b2fc887e435836808e7add66ae | |
parent | bd55645a968ac13e53009cb2ae58cd3496f2a533 (diff) |
audio/azr3: Added (tonewheel organ simulator).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | audio/azr3/README | 19 | ||||
-rw-r--r-- | audio/azr3/azr3.SlackBuild | 121 | ||||
-rw-r--r-- | audio/azr3/azr3.desktop | 8 | ||||
-rw-r--r-- | audio/azr3/azr3.info | 10 | ||||
-rw-r--r-- | audio/azr3/azr3.png | bin | 0 -> 2135 bytes | |||
-rw-r--r-- | audio/azr3/doinst.sh | 3 | ||||
-rw-r--r-- | audio/azr3/patches/drop_lash_support.patch | 188 | ||||
-rw-r--r-- | audio/azr3/patches/errs_and_warns.patch | 90 | ||||
-rw-r--r-- | audio/azr3/patches/fix-compilation.patch | 96 | ||||
-rw-r--r-- | audio/azr3/patches/linking_order.patch | 36 | ||||
-rw-r--r-- | audio/azr3/slack-desc | 19 |
11 files changed, 590 insertions, 0 deletions
diff --git a/audio/azr3/README b/audio/azr3/README new file mode 100644 index 000000000000..b6e9e2c8f4dd --- /dev/null +++ b/audio/azr3/README @@ -0,0 +1,19 @@ +azr3 (tonewheel organ simulator for jack-audio-connection-kit) + +azr3 is a JACK port of the free VST plugin AZR-3. It is a tonewheel +organ with drawbars, distortion and rotating speakers. +The original was written by Rumpelrausch Täips + +The organ has three sections, two polyphonic with 9 drawbars each and +one monophonic bass section with 5 drawbars. The two polyphonic +sections respond to events on MIDI channel 1 and 2, and an optional +keyboard split function makes the bass section listen to the lower +keys on channel 1. + +This requires one of the jack varieties. + +This package uses POSIX filesystem capabilities to execute with +elevated privileges (required for realtime audio processing). +This may be considered a security/stability risk. Please read +http://www.slackbuilds.org/caps/ for more information. To disable +capabilities, pass SETCAP=no to the script. diff --git a/audio/azr3/azr3.SlackBuild b/audio/azr3/azr3.SlackBuild new file mode 100644 index 000000000000..102196de839e --- /dev/null +++ b/audio/azr3/azr3.SlackBuild @@ -0,0 +1,121 @@ +#!/bin/sh + +# Slackware build script for azr3 + +# Written by B. Watson (yalhcru@gmail.com) +# Copyright 2019 Johannes Schoepfer, Germany +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=azr3 +VERSION=${VERSION:-1.2.3} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +TARNAME=$PRGNAM-jack + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $TARNAME-$VERSION +tar xvf $CWD/$TARNAME-$VERSION.tar.bz2 +cd $TARNAME-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +patch -p1 < $CWD/patches/linking_order.patch +patch -p1 < $CWD/patches/drop_lash_support.patch +patch -p1 < $CWD/patches/errs_and_warns.patch +patch -p1 < $CWD/patches/fix-compilation.patch + +make clean +make all install \ + CFLAGS="$SLKCFLAGS -std=c++11" \ + CXXFLAGS="$SLKCFLAGS -std=c++11" \ + prefix=/usr \ + libdir=/usr/lib$LIBDIRSUFFIX \ + mandir=/usr/man \ + pkgdocdir=/usr/doc/$PRGNAM-$VERSION \ + DESTDIR=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# .desktop file written for this SlackBuild +mkdir -p $PKG/usr/share/applications +cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop + +# icon is a small piece gimped out of panelfx.png +mkdir -p $PKG/usr/share/pixmaps +cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + AUTHORS COPYING README ChangeLog \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +if [ "${SETCAP:-yes}" = "yes" ]; then + echo "/sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/$PRGNAM" >> $PKG/install/doinst.sh + chown root:audio $PKG/usr/bin/$PRGNAM + chmod 0750 $PKG/usr/bin/$PRGNAM +fi + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/audio/azr3/azr3.desktop b/audio/azr3/azr3.desktop new file mode 100644 index 000000000000..63e1e420b8b1 --- /dev/null +++ b/audio/azr3/azr3.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=AZR-3 +Comment=Tonewheel Organ for JACK +Exec=azr3 +Icon=azr3 +Terminal=false +Type=Application +Categories=AudioVideo;Audio; diff --git a/audio/azr3/azr3.info b/audio/azr3/azr3.info new file mode 100644 index 000000000000..917f12100ad7 --- /dev/null +++ b/audio/azr3/azr3.info @@ -0,0 +1,10 @@ +PRGNAM="azr3" +VERSION="1.2.3" +HOMEPAGE="http://ll-plugins.nongnu.org/azr3/" +DOWNLOAD="https://download.savannah.nongnu.org/releases/ll-plugins/azr3-jack-1.2.3.tar.bz2" +MD5SUM="aa71715e5873aea724713be5970ebfbc" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="jack2" +MAINTAINER="Johannes Schoepfer" +EMAIL="slackbuilds@schoepfer.info" diff --git a/audio/azr3/azr3.png b/audio/azr3/azr3.png Binary files differnew file mode 100644 index 000000000000..c9b360e25554 --- /dev/null +++ b/audio/azr3/azr3.png diff --git a/audio/azr3/doinst.sh b/audio/azr3/doinst.sh new file mode 100644 index 000000000000..5fb28930db0b --- /dev/null +++ b/audio/azr3/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi diff --git a/audio/azr3/patches/drop_lash_support.patch b/audio/azr3/patches/drop_lash_support.patch new file mode 100644 index 000000000000..4f7ec45a7d27 --- /dev/null +++ b/audio/azr3/patches/drop_lash_support.patch @@ -0,0 +1,188 @@ +Description: Disable LASH support. +Author: Alessio Treglia <alessio@debian.org> +Forwarded: no +--- + Makefile | 6 +-- + azr3/main.cpp | 91 ---------------------------------------------------------- + azr3/main.hpp | 7 ---- + 3 files changed, 4 insertions(+), 100 deletions(-) + +--- azr3-jack.orig/Makefile ++++ azr3-jack/Makefile +@@ -10,7 +10,7 @@ PACKAGE_WEBPAGE = "http://ll-plugins.non + PACKAGE_BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=ll-plugins" + PACKAGE_VC = "http://git.savannah.gnu.org/cgit/ll-plugins/azr3-jack.git/" + +-PKG_DEPS = gtkmm-2.4>=2.8.8 jack>=0.103.0 lash-1.0>=0.5.3 ++PKG_DEPS = gtkmm-2.4>=2.8.8 jack>=0.103.0 + + + PROGRAMS = azr3 +@@ -32,8 +32,8 @@ azr3_SOURCES = \ + drawbar.hpp drawbar.cpp \ + textbox.hpp textbox.cpp + azr3_SOURCEDIR = azr3 +-azr3_CFLAGS = `pkg-config --cflags gtkmm-2.4 jack lash-1.0` -DDATADIR=\"$(pkgdatadir)\" +-azr3_LDFLAGS = `pkg-config --libs gtkmm-2.4 jack lash-1.0` ++azr3_CFLAGS = `pkg-config --cflags gtkmm-2.4 jack` -DDATADIR=\"$(pkgdatadir)\" ++azr3_LDFLAGS = `pkg-config --libs gtkmm-2.4 jack` -lpthread + azr3_cpp_CFLAGS = $(shell if pkg-config --atleast-version=0.107 jack ; then echo -include azr3/newjack.hpp; fi) + main_cpp_CFLAGS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\" + +--- azr3-jack.orig/azr3/main.hpp ++++ azr3-jack/azr3/main.hpp +@@ -25,7 +25,6 @@ + #include <gtkmm.h> + #include <pthread.h> + #include <semaphore.h> +-#include <lash/lash.h> + + #include "azr3.hpp" + #include "azr3gui.hpp" +@@ -65,10 +64,6 @@ protected: + + int process(jack_nframes_t nframes); + +- bool check_lash_events(); +- +- bool init_lash(lash_args_t* lash_args, const std::string& jack_name); +- + void auto_connect(); + + static int static_process(jack_nframes_t frames, void* arg); +@@ -89,10 +84,8 @@ protected: + sem_t m_gui_changed; + float m_gui_controls[63]; + Preset m_presets[128]; +- lash_client_t* m_lash_client; + + bool m_ok; +- bool m_started_by_lashd; + std::string m_auto_midi; + std::string m_auto_audio; + +--- azr3-jack.orig/azr3/main.cpp ++++ azr3-jack/azr3/main.cpp +@@ -32,13 +32,6 @@ using namespace std; + + + Main::Main(int& argc, char**& argv) : m_ok(false) { +- +- /* this is a bit dumb, but the only way I know of to check whether we were +- started by lashd is to see if lash_extract_args() removes any arguments */ +- int old_argc = argc; +- lash_args_t* lash_args = lash_extract_args(&argc, &argv); +- m_started_by_lashd = (argc != old_argc); +- + // parse all non-LASH arguments + OptionParser op; + bool help(false); +@@ -165,10 +158,6 @@ Main::Main(int& argc, char**& argv) : m_ + } + } + } +- +- // initialise LASH +- if (!init_lash(lash_args, jack_get_client_name(m_jack_client))) +- return; + + m_win->set_title("AZR-3"); + m_win->set_resizable(false); +@@ -184,14 +173,11 @@ void Main::run() { + jack_activate(m_jack_client); + + // auto-connect JACK ports if desired +- if (!m_started_by_lashd) +- auto_connect(); ++ auto_connect(); + + Glib::signal_timeout(). + connect(sigc::bind_return(sigc::mem_fun(*this, &Main::check_changes), + true), 10); +- Glib::signal_timeout(). +- connect(sigc::mem_fun(*this, &Main::check_lash_events), 500); + m_kit->run(*m_win); + jack_deactivate(m_jack_client); + m_engine->deactivate(); +@@ -345,81 +331,6 @@ int Main::process(jack_nframes_t nframes + } + + +-bool Main::check_lash_events() { +- lash_event_t* event; +- bool go_on = true; +- while ((event = lash_get_event(m_lash_client))) { +- +- // save +- if (lash_event_get_type(event) == LASH_Save_File) { +- cerr<<"Received LASH Save command"<<endl; +- string dir(lash_event_get_string(event)); +- ofstream fout((dir + "/state").c_str()); +- fout<<int(m_program); +- for (uint32_t i = 0; i < 63; ++i) +- fout<<" "<<m_gui_controls[i]; +- fout<<endl; +- write_presets((dir + "/presets").c_str()); +- lash_send_event(m_lash_client, +- lash_event_new_with_type(LASH_Save_File)); +- } +- +- // restore +- else if (lash_event_get_type(event) == LASH_Restore_File) { +- cerr<<"Received LASH Restore command"<<endl; +- string dir(lash_event_get_string(event)); +- for (unsigned char i = 0; i < 128; ++i) +- m_presets[i].empty = true; +- load_presets((dir + "/presets").c_str()); +- m_gui->clear_programs(); +- for (unsigned char i = 0; i < 128; ++i) { +- if (!m_presets[i].empty) +- m_gui->add_program(i, m_presets[i].name.c_str()); +- } +- ifstream fin((dir + "/state").c_str()); +- int prog; +- fin>>prog; +- m_gui->set_program(prog); +- for (uint32_t p = 0; p < 63; ++p) { +- float tmp; +- fin>>tmp; +- m_gui->set_control(p, tmp); +- } +- lash_send_event(m_lash_client, +- lash_event_new_with_type(LASH_Restore_File)); +- } +- +- // quit +- else if (lash_event_get_type(event) == LASH_Quit) { +- cerr<<"Received LASH Quit command"<<endl; +- Gtk::Main::instance()->quit(); +- go_on = false; +- } +- +- lash_event_destroy(event); +- } +- return go_on; +-} +- +- +-bool Main::init_lash(lash_args_t* lash_args, const std::string& jack_name) { +- +- m_lash_client = lash_init(lash_args, "AZR-3", +- LASH_Config_File, LASH_PROTOCOL(2, 0)); +- if (m_lash_client) { +- lash_event_t* event = lash_event_new_with_type(LASH_Client_Name); +- lash_event_set_string(event, "AZR-3"); +- lash_send_event(m_lash_client, event); +- lash_jack_client_name(m_lash_client, jack_name.c_str()); +- Glib::signal_timeout(). +- connect(sigc::mem_fun(*this, &Main::check_lash_events), 500); +- } +- else +- cerr<<"Could not initialise LASH!"<<endl; +- return (m_lash_client != 0); +-} +- +- + int Main::static_process(jack_nframes_t frames, void* arg) { + return static_cast<Main*>(arg)->process(frames); + } diff --git a/audio/azr3/patches/errs_and_warns.patch b/audio/azr3/patches/errs_and_warns.patch new file mode 100644 index 000000000000..1a0a190c58ac --- /dev/null +++ b/audio/azr3/patches/errs_and_warns.patch @@ -0,0 +1,90 @@ +Description: Fix some compilation errors and warnings. +From: http://git.savannah.gnu.org/gitweb/?p=ll-plugins/azr3-jack.git;a=commit;h=2453bdc15286 +Author: Lars Luthman <mail@larsluthman.net> +Origin: upstream, commit:2453bdc15286 +--- + azr3/azr3gui.cpp | 10 +++++----- + azr3/azr3gui.hpp | 6 +++--- + azr3/main.cpp | 2 -- + 3 files changed, 8 insertions(+), 10 deletions(-) + +--- azr3-jack.orig/azr3/azr3gui.cpp ++++ azr3-jack/azr3/azr3gui.cpp +@@ -332,7 +332,7 @@ void AZR3GUI::set_back_pixmap(Widget* wd + } + + +-Knob* AZR3GUI::add_knob(Fixed& fbox, RefPtr<Pixmap>& pm, int port, ++Knob* AZR3GUI::add_knob(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port, + float min, float max, float value, + int xoffset, int yoffset, + float dmin, float dmax, bool decimal) { +@@ -350,7 +350,7 @@ Knob* AZR3GUI::add_knob(Fixed& fbox, Ref + s->set_bg_pixmap(STATE_SELECTED, npm); + s->set_bg_pixmap(STATE_INSENSITIVE, npm); + knob->set_style(s); +- if (port >= 0 && port < m_adj.size()) { ++ if (port < m_adj.size()) { + knob->get_adjustment().signal_value_changed(). + connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), + mem_fun(knob->get_adjustment(), +@@ -362,7 +362,7 @@ Knob* AZR3GUI::add_knob(Fixed& fbox, Ref + } + + +-Drawbar* AZR3GUI::add_drawbar(Fixed& fbox, RefPtr<Pixmap>& pm, int port, ++Drawbar* AZR3GUI::add_drawbar(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port, + float min, float max, float value, + int xoffset, int yoffset, + Drawbar::Type type) { +@@ -380,7 +380,7 @@ Drawbar* AZR3GUI::add_drawbar(Fixed& fbo + s->set_bg_pixmap(STATE_SELECTED, npm); + s->set_bg_pixmap(STATE_INSENSITIVE, npm); + db->set_style(s); +- if (port >= 0 && port < m_adj.size()) { ++ if (port < m_adj.size()) { + db->get_adjustment().signal_value_changed(). + connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), + mem_fun(db->get_adjustment(), &Adjustment::get_value))); +@@ -391,7 +391,7 @@ Drawbar* AZR3GUI::add_drawbar(Fixed& fbo + } + + +-Switch* AZR3GUI::add_switch(Fixed& fbox, int port, ++Switch* AZR3GUI::add_switch(Fixed& fbox, size_t port, + int xoffset, int yoffset, Switch::Type type) { + Switch* sw = manage(new Switch(type)); + fbox.put(*sw, xoffset, yoffset); +--- azr3-jack.orig/azr3/azr3gui.hpp ++++ azr3-jack/azr3/azr3gui.hpp +@@ -62,15 +62,15 @@ protected: + + void splitbox_clicked(); + void set_back_pixmap(Widget* wdg, Glib::RefPtr<Gdk::Pixmap> pm); +- Knob* add_knob(Gtk::Fixed& fbox, Glib::RefPtr<Gdk::Pixmap>& pm, int port, ++ Knob* add_knob(Gtk::Fixed& fbox, Glib::RefPtr<Gdk::Pixmap>& pm, size_t port, + float min, float max, float value, + int xoffset, int yoffset, + float dmin, float dmax, bool decimal); + Drawbar* add_drawbar(Gtk::Fixed& fbox, Glib::RefPtr<Gdk::Pixmap>& pm, +- int port, float min, float max, float value, ++ size_t port, float min, float max, float value, + int xoffset, int yoffset, + Drawbar::Type type); +- Switch* add_switch(Gtk::Fixed& fbox, int port, ++ Switch* add_switch(Gtk::Fixed& fbox, size_t port, + int xoffset, int yoffset, Switch::Type type); + Gtk::EventBox* add_clickbox(Gtk::Fixed& fbox, int xoffset, int yoffset, + int width, int height); +--- azr3-jack.orig/azr3/main.cpp ++++ azr3-jack/azr3/main.cpp +@@ -338,9 +338,7 @@ int Main::static_process(jack_nframes_t + + void Main::auto_connect() { + +- const char* env; + const char** port_list; +- const char* name = jack_get_client_name(m_jack_client); + + // MIDI input + if (m_auto_midi != "") { diff --git a/audio/azr3/patches/fix-compilation.patch b/audio/azr3/patches/fix-compilation.patch new file mode 100644 index 000000000000..51d483640afd --- /dev/null +++ b/audio/azr3/patches/fix-compilation.patch @@ -0,0 +1,96 @@ +--- azr3-jack/azr3/azr3gui.cpp.orig 2019-11-10 19:46:08.722849544 +0100 ++++ azr3-jack/azr3/azr3gui.cpp 2019-11-11 18:59:48.967071810 +0100 +@@ -80,7 +80,7 @@ + connect(mem_fun(*this, &AZR3GUI::splitpoint_changed)); + Menu* menu = create_menu(); + m_tbox->signal_button_press_event(). +- connect(bind(mem_fun(*this, &AZR3GUI::popup_menu), menu)); ++ connect(sigc::bind(mem_fun(*this, &AZR3GUI::popup_menu), menu)); + + // keyboard split switch + m_splitswitch = add_switch(m_fbox, -1, 537, 49, Switch::Mini); +@@ -141,8 +141,8 @@ + // mode switcher + Widget* eb = add_clickbox(m_fbox, 14, 319, 14, 44); + eb->signal_button_press_event(). +- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), +- ref(m_fbox)), false))); ++ connect(sigc::hide(sigc::bind(sigc::bind(mem_fun(*this, &AZR3GUI::change_mode), ++ std::ref(m_fbox)), false))); + m_fx_widgets.push_back(eb); + + // Mr Valve controls +@@ -182,8 +182,8 @@ + // mode switcher 2 + Widget* eb2 = add_clickbox(m_vbox, 14, 53, 14, 44); + eb2->signal_button_press_event(). +- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), +- ref(m_fbox)), true))); ++ connect(sigc::hide(sigc::bind(sigc::bind(mem_fun(*this, &AZR3GUI::change_mode), ++ std::ref(m_fbox)), true))); + + // vibrato controls + add_switch(m_vbox, n_1_vibrato, 39, 17, Switch::Green); +@@ -332,7 +332,7 @@ + } + + +-Knob* AZR3GUI::add_knob(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port, ++Knob* AZR3GUI::add_knob(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port, + float min, float max, float value, + int xoffset, int yoffset, + float dmin, float dmax, bool decimal) { +@@ -352,7 +352,7 @@ + knob->set_style(s); + if (port < m_adj.size()) { + knob->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), ++ connect(compose(sigc::bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), + mem_fun(knob->get_adjustment(), + &Adjustment::get_value))); + assert(m_adj[port] == 0); +@@ -362,7 +362,7 @@ + } + + +-Drawbar* AZR3GUI::add_drawbar(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port, ++Drawbar* AZR3GUI::add_drawbar(Fixed& fbox, RefPtr<Pixmap>& pm, size_t port, + float min, float max, float value, + int xoffset, int yoffset, + Drawbar::Type type) { +@@ -382,7 +382,7 @@ + db->set_style(s); + if (port < m_adj.size()) { + db->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), ++ connect(compose(sigc::bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), + mem_fun(db->get_adjustment(), &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &db->get_adjustment(); +@@ -397,7 +397,7 @@ + fbox.put(*sw, xoffset, yoffset); + if (port >= 0 && port < m_adj.size()) { + sw->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port), ++ connect(compose(sigc::bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port), + mem_fun(sw->get_adjustment(), &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &sw->get_adjustment(); +@@ -489,7 +489,7 @@ + oss<<setw(2)<<setfill('0')<<iter->first<<' '<<iter->second.substr(0, 23); + MenuItem* item = manage(new MenuItem(oss.str())); + item->signal_activate(). +- connect(bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first)); ++ connect(sigc::bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first)); + m_program_menu->items().push_back(*item); + item->show(); + item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg); +@@ -503,7 +503,7 @@ + for (int i = 0; i < 128; ++i) { + MenuItem* item = manage(new MenuItem(note2str(i))); + item->signal_activate(). +- connect(bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value), ++ connect(sigc::bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value), + i / 128.0)); + m_split_menu->items().push_back(*item); + item->show(); diff --git a/audio/azr3/patches/linking_order.patch b/audio/azr3/patches/linking_order.patch new file mode 100644 index 000000000000..242716fdfd79 --- /dev/null +++ b/audio/azr3/patches/linking_order.patch @@ -0,0 +1,36 @@ +Description: Fix linking order to properly pass LDFLAGS values to the linker. +Author: Alessio Treglia <alessio@debian.org> +Forwarded: no +--- + Makefile.template | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- azr3-jack-1.2.3.orig/Makefile.template ++++ azr3-jack-1.2.3/Makefile.template +@@ -118,7 +118,7 @@ $$($(2)_CXXOBJECTS): Makefile.config $$( + $(CXX) -c -o $$@ $(SHARED_LIBRARY_CFLAGS) $(CFLAGS) $(CXXFLAGS) $$($(2)_CFLAGS) $$(patsubst $$($(2)_BLDPRF)%,$$($(2)_SRCPRF)%,$$(subst .o,.cpp,$$@)) + + $$($(2)_BLDPRF)/$(1): $$($(2)_OBJECTS) $$($(2)_ARCHIVES) $$($(2)_LIBRARIES) $$(filter-out $$(wildcard $$($(2)_BUILDDIR)), $$($(2)_BUILDDIR)) +- $(CXX) $(SHARED_LIBRARY_LDFLAGS) $$($(2)_OBJECTS) -Wl,--whole-archive $$($(2)_ARCHIVES) -Wl,--no-whole-archive $$($(2)_LOCALLDFLAGS) $$($(2)_LOCALLIBRARIES) $(LDFLAGS) $$($(2)_LDFLAGS) -o $$@ -Wl,-soname=$(1).0 ++ $(CXX) $(LDFLAGS) $(SHARED_LIBRARY_LDFLAGS) $$($(2)_OBJECTS) -Wl,--whole-archive $$($(2)_ARCHIVES) -Wl,--no-whole-archive $$($(2)_LOCALLDFLAGS) $$($(2)_LOCALLIBRARIES) $$($(2)_LDFLAGS) -o $$@ -Wl,-soname=$(1).0 + /sbin/ldconfig -n $$($(2)_BLDPRF) + + install-$(2)-headers: $$(patsubst %,$$($(2)_SRCPRF)/%,$$($(2)_HEADERS)) +@@ -211,7 +211,7 @@ $$($(1)_CXXOBJECTS): Makefile.config $$( + $(CXX) -c -o $$@ $(CFLAGS) $(CXXFLAGS) $$($(1)_CFLAGS) $$($$(patsubst %.o,%_cpp_CFLAGS,$$(notdir $$@))) $$($(1)_CFLAGS) $$(patsubst $$($(1)_BLDPRF)%,$$($(1)_SRCPRF)%,$$(subst .o,.cpp,$$@)) + + $$($(1)_BLDPRF)/$(1): $$($(1)_OBJECTS) $$($(1)_LIBRARIES) $$($(1)_ARCHIVES) $$(filter-out $$(wildcard $$($(1)_BUILDDIR)), $$($(1)_BUILDDIR)) +- $(CXX) $$($(1)_OBJECTS) $$($(1)_ARCHIVES) $$($(1)_LOCALLDFLAGS) $$($(1)_LOCALLIBRARIES) $$($(1)_LDFLAGS) $(LDFLAGS) -o $$@ ++ $(CXX) $(LDFLAGS) $$($(1)_OBJECTS) $$($(1)_ARCHIVES) $$($(1)_LOCALLDFLAGS) $$($(1)_LOCALLIBRARIES) $$($(1)_LDFLAGS) -o $$@ + + install-$(1)-headers: $$(patsubst %,$$($(1)_SRCPRF)/%,$$($(1)_HEADERS)) + mkdir -p $(DESTDIR)/$(pkgincludedir) +@@ -264,7 +264,7 @@ $$($(2)_CXXOBJECTS): Makefile.config $$( + $(CXX) -c -o $$@ $(MODULE_CFLAGS) $(CFLAGS) $(CXXFLAGS) $$($(2)_CFLAGS) $$($$(patsubst %.o,%_cpp_CFLAGS,$$(notdir $$@))) $$($(2)_CFLAGS) $$(patsubst $$($(2)_BLDPRF)%,$$($(2)_SRCPRF)%,$$(subst .o,.cpp,$$@)) + + $$($(2)_BLDPRF)/$(1): $$($(2)_OBJECTS) $$($(2)_LIBRARIES) $$($(2)_ARCHIVES) $$(filter-out $$(wildcard $$($(2)_BUILDDIR)), $$($(2)_BUILDDIR)) +- $(CXX) $(MODULE_LDFLAGS) $$($(2)_OBJECTS) $$($(2)_LOCALLDFLAGS) $$($(2)_LOCALLIBRARIES) $$($(2)_ARCHIVES) $(LDFLAGS) $$($(2)_LDFLAGS) -o $$@ ++ $(CXX) $(LDFLAGS) $(MODULE_LDFLAGS) $$($(2)_OBJECTS) $$($(2)_LOCALLDFLAGS) $$($(2)_LOCALLIBRARIES) $$($(2)_ARCHIVES) $$($(2)_LDFLAGS) -o $$@ + + install-$(2)-headers: $$(patsubst %,$$($(2)_SRCPRF)/%,$$($(2)_HEADERS)) + mkdir -p $(DESTDIR)/$(pkgincludedir) diff --git a/audio/azr3/slack-desc b/audio/azr3/slack-desc new file mode 100644 index 000000000000..8bb331f95d8a --- /dev/null +++ b/audio/azr3/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +azr3: azr3 (tonewheel organ simulator for jack-audio-connection-kit) +azr3: +azr3: azr3 is a JACK port of the free VST plugin AZR-3. It is a tonewheel +azr3: organ with drawbars, distortion and rotating speakers. The original +azr3: was written by Rumpelrausch Täips +azr3: +azr3: The organ has three sections, two polyphonic with 9 drawbars each +azr3: and one monophonic bass section with 5 drawbars. The two polyphonic +azr3: sections respond to events on MIDI channel 1 and 2, and an optional +azr3: keyboard split function makes the bass section listen to the lower +azr3: keys on channel 1. |