diff --git a/media-sound/sooperlooper/Manifest b/media-sound/sooperlooper/Manifest index ff07492361471..d612e4c2c1571 100644 --- a/media-sound/sooperlooper/Manifest +++ b/media-sound/sooperlooper/Manifest @@ -1,3 +1,4 @@ DIST sooperlooper-1.6.17.tar.gz 704953 SHA256 f35b1ffb977499f649cd22ed19441ca55618db4e0d4e0805973f228135b3dbdf SHA512 e7e8494b1ec00ad54ab1a5e42fe295ffe397e98225c81e1d69dd88f696b2e08502fef16f723536ffcc09d7b537a762f43a139c9c08be28f9ae7e41057fc58db5 WHIRLPOOL d194b2fa1015d253059a31014421e7d443f3620ac68e403c4f27d498a8d90f54b3334b9f60f10af0612a5b99c9523aa2b8ec6f7399738237656dde6187589a43 DIST sooperlooper-1.6.18.tar.gz 705462 SHA256 087a52186fefb138ac16deebc1ed4b9ff4945ffb4fe3e2170f60fcf97a3a8c38 SHA512 cccfc6ced0e2441bdc004b892b67141b476a89c19187fa249a30613f3cd1b77b5e6767262249ad42ee50007ea538ae3eff5dce47a529937d7d32e81ed73a5a31 WHIRLPOOL 69f8a1d421a3fe6ad07ae7721fdff760219cbfedf6a4ffdf23217476b56bcbc4bc0f58e00505cfaca05e47c69e13ee17eaa3de9baf01bc2ac3b8dde6a9131db4 DIST sooperlooper-1.6.5-m4.tar.bz2 1463 SHA256 ee8e3084c3d3d4db29f3d7b4dde0d260b9dfb72be8c9362c7fd711fb7784e0bb SHA512 01b4405dcd91e617c8dafb9fcfab99507d0a9637d9b0eec84276c348968e31159b68ce5c8b7f900ab8a830f2b5c91b798146d5272d006a2b866f149e485f228d WHIRLPOOL 8faddc39687193c643265c52ab2930f98094f4d2544e7d1e1005d5acffa00d6577d95484b51919aea4d810320ebef362ce9a9ab98ac3bc41aa0441a9666a4abc +DIST sooperlooper-1.7.3.tar.gz 732406 SHA256 7a7dbdedb5dab28fb1f98ba5827d88df4c7327909ab87f6def167517786f4f58 SHA512 cbc9f6b3e4cafc6f18ddb2e2415d2bac274c8cc578b5dadc6ad878b1bed34e514208bc990c3a7dab0106cbf34ad16be12846851e446d724d77386e70d975e14b WHIRLPOOL 97df9fa8a8a57f4a1cf6929dd68628f72c12e755e9676f69062613456e7c01af0f83a11b01af8e14cd81740e09b26c23943af37f37c164fc61dd2adf4d167e08 diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch new file mode 100644 index 0000000000000..d105e82714072 --- /dev/null +++ b/media-sound/sooperlooper/files/sooperlooper-1.7.3-sigc++-2.5.patch @@ -0,0 +1,166 @@ +Description: support for sigc++>=2.5.2 + since sigc++-2.5.2, the sigc++/object.h has been removed + (and replaced by sigc++/trackable.h> +Author: IOhannes m zmölnig +Last-Update: 2015-10-21 +Forwarded: Jesse Chappell +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- sooperlooper.orig/configure.ac ++++ sooperlooper/configure.ac +@@ -220,7 +220,15 @@ + AC_SUBST(NCURSES_LIBS) + + dnl sigc++ +- PKG_CHECK_MODULES(SIGCPP, sigc++-2.0 >= 2.2.10) ++ have_sigcpp=no ++ PKG_CHECK_MODULES(SIGCPP, [sigc++-2.0 >= 2.2.10],[have_sigcpp=yes]) ++ if test "x${have_sigcpp}" = "xyes" ++ then ++ presigcpp_CFLAGS=$CFLAGS ++ CFLAGS=$CFLAGS $SIGCPP_CFLAGS ++ AC_CHECK_HEADER([sigc++/object.h], [SIGCPP_CFLAGS="$SIGCPP_CFLAGS -DUSE_SIGCPP_OBJECT_H"]) ++ CFLAGS=$presigcpp_CFLAGS ++ fi + + AC_SUBST(SIGCPP_LIBS) + AC_SUBST(SIGCPP_CFLAGS) +--- sooperlooper.orig/libs/pbd/configure.ac ++++ sooperlooper/libs/pbd/configure.ac +@@ -193,7 +193,15 @@ + PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.5) + + dnl sigc++ +-PKG_CHECK_MODULES(SIGCPP, sigc++-2.0 >= 2.2.10) ++have_sigcpp=no ++PKG_CHECK_MODULES(SIGCPP, [sigc++-2.0 >= 2.2.10],[have_sigcpp=yes]) ++if test "x${have_sigcpp}" = "xyes" ++then ++ presigcpp_CFLAGS=$CFLAGS ++ CFLAGS=$CFLAGS $SIGCPP_CFLAGS ++ AC_CHECK_HEADER([sigc++/object.h], [SIGCPP_CFLAGS="$SIGCPP_CFLAGS -DUSE_SIGCPP_OBJECT_H"]) ++ CFLAGS=$presigcpp_CFLAGS ++fi + + + AM_BUILD_ENVIRONMENT +--- sooperlooper.orig/src/control_osc.hpp ++++ sooperlooper/src/control_osc.hpp +@@ -27,7 +27,11 @@ + #include + #include + +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + + #include "event.hpp" + #include "event_nonrt.hpp" +--- sooperlooper.orig/src/gui/app_frame.hpp ++++ sooperlooper/src/gui/app_frame.hpp +@@ -26,7 +26,11 @@ + #include + #include + +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + #include + #include + +--- sooperlooper.orig/src/gui/config_panel.hpp ++++ sooperlooper/src/gui/config_panel.hpp +@@ -26,7 +26,11 @@ + + #include + #include +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + + class wxListCtrl; + class wxSpinCtrl; +--- sooperlooper.orig/src/gui/keys_panel.hpp ++++ sooperlooper/src/gui/keys_panel.hpp +@@ -26,7 +26,11 @@ + + #include + #include +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + + class wxListCtrl; + +--- sooperlooper.orig/src/gui/latency_panel.hpp ++++ sooperlooper/src/gui/latency_panel.hpp +@@ -26,7 +26,11 @@ + + #include + #include +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + + class wxListCtrl; + +--- sooperlooper.orig/src/gui/main_panel.hpp ++++ sooperlooper/src/gui/main_panel.hpp +@@ -26,7 +26,11 @@ + #include + #include + +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + #include + #include + +--- sooperlooper.orig/src/gui/midi_bind_panel.hpp ++++ sooperlooper/src/gui/midi_bind_panel.hpp +@@ -26,7 +26,11 @@ + + #include + #include +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + #include + + #include +--- sooperlooper.orig/src/gui/prefs_dialog.hpp ++++ sooperlooper/src/gui/prefs_dialog.hpp +@@ -26,7 +26,11 @@ + + #include + #include +-#include ++#ifdef USE_SIGCPP_OBJECT_H ++# include ++#else ++# include ++#endif + + class wxListCtrl; + class wxSpinCtrl; diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch new file mode 100644 index 0000000000000..fee40e8f98bec --- /dev/null +++ b/media-sound/sooperlooper/files/sooperlooper-1.7.3-wx3.0.patch @@ -0,0 +1,177 @@ +Author: Jaromír Mikeš , Olly Betts +Description: build against wx 3.0. +Forwarded: yes + +Index: sooperlooper/src/gui/main_panel.cpp +=================================================================== +--- sooperlooper.orig/src/gui/main_panel.cpp ++++ sooperlooper/src/gui/main_panel.cpp +@@ -448,7 +448,7 @@ MainPanel::init_loopers (int count) + while (count < (int)_looper_panels.size()) { + looperpan = _looper_panels.back(); + _looper_panels.pop_back(); +- _main_sizer->Remove(looperpan); ++ _main_sizer->Detach(looperpan); + looperpan->Destroy(); + } + } +@@ -1277,7 +1277,7 @@ void MainPanel::misc_action (bool releas + } + + +- wxString filename = do_file_selector (wxT("Choose file to save loop"), wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT); ++ wxString filename = do_file_selector (wxT("Choose file to save loop"), wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT); + + if ( !filename.empty() ) + { +@@ -1296,7 +1296,7 @@ void MainPanel::misc_action (bool releas + index = 0; + } + +- wxString filename = do_file_selector (wxT("Choose file to open"), wxT(""), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR); ++ wxString filename = do_file_selector (wxT("Choose file to open"), wxT(""), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR); + + if ( !filename.empty() ) + { +@@ -1408,7 +1408,7 @@ void MainPanel::set_curr_loop (int index + + void MainPanel::do_load_session () + { +- wxString filename = do_file_selector (wxT("Choose session to load"), wxT("*.slsess"), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR); ++ wxString filename = do_file_selector (wxT("Choose session to load"), wxT("*.slsess"), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR); + + if ( !filename.empty() ) + { +@@ -1419,7 +1419,7 @@ void MainPanel::do_load_session () + + void MainPanel::do_save_session (bool write_audio) + { +- wxString filename = do_file_selector (wxT("Choose file to save session"), wxT("slsess"), wxT("*.slsess"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT); ++ wxString filename = do_file_selector (wxT("Choose file to save session"), wxT("slsess"), wxT("*.slsess"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT); + + if ( !filename.empty() ) + { +Index: sooperlooper/src/gui/pix_button.cpp +=================================================================== +--- sooperlooper.orig/src/gui/pix_button.cpp ++++ sooperlooper/src/gui/pix_button.cpp +@@ -250,7 +250,7 @@ PixButton::OnMouseEvents (wxMouseEvent & + pt.x += bounds.x; + pt.y += bounds.y; + +- if (bounds.Inside(pt)) { ++ if (bounds.Contains(pt)) { + clicked (get_mouse_button(ev)); // emit + + if (ev.MiddleUp() && ev.ControlDown()) { +Index: sooperlooper/src/gui/looper_panel.cpp +=================================================================== +--- sooperlooper.orig/src/gui/looper_panel.cpp ++++ sooperlooper/src/gui/looper_panel.cpp +@@ -1428,7 +1428,7 @@ LooperPanel::clicked_events (int button, + if (cmd == wxT("save")) + { + wxString filename = _mainpanel->do_file_selector (wxT("Choose file to save loop"), +- wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT); ++ wxT("wav"), wxT("WAVE files (*.wav)|*.wav;*.WAV;*.Wav"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT); + + if ( !filename.empty() ) + { +@@ -1442,7 +1442,7 @@ LooperPanel::clicked_events (int button, + } + else if (cmd == wxT("load")) + { +- wxString filename = _mainpanel->do_file_selector(wxT("Choose file to open"), wxT(""), wxT("Audio files (*.wav,*.aif)|*.wav;*.WAV;*.Wav;*.aif;*.aiff;*.AIF;*.AIFF|All files (*.*)|*.*"), wxOPEN|wxCHANGE_DIR); ++ wxString filename = _mainpanel->do_file_selector(wxT("Choose file to open"), wxT(""), wxT("Audio files (*.wav,*.aif)|*.wav;*.WAV;*.Wav;*.aif;*.aiff;*.AIF;*.AIFF|All files (*.*)|*.*"), wxFD_OPEN|wxFD_CHANGE_DIR); + + if ( !filename.empty() ) + { +Index: sooperlooper/src/gui/keyboard_target.cpp +=================================================================== +--- sooperlooper.orig/src/gui/keyboard_target.cpp ++++ sooperlooper/src/gui/keyboard_target.cpp +@@ -553,10 +553,10 @@ KeyboardTarget::keycode_from_name (const + keycode = WXK_RETURN; + } + else if ( keyname == wxT("PGUP") ) { +- keycode = WXK_PRIOR; ++ keycode = WXK_PAGEUP; + } + else if ( keyname == wxT("PGDN") ) { +- keycode = WXK_NEXT; ++ keycode = WXK_PAGEDOWN; + } + else if ( keyname == wxT("LEFT") ) { + keycode = WXK_LEFT; +@@ -630,10 +630,10 @@ wxString KeyboardTarget::name_from_keyco + case WXK_RETURN: + text += wxT("return"); + break; +- case WXK_PRIOR: ++ case WXK_PAGEUP: + text += wxT("pageup"); + break; +- case WXK_NEXT: ++ case WXK_PAGEDOWN: + text += wxT("pagedown"); + break; + case WXK_LEFT: +Index: sooperlooper/src/gui/check_box.cpp +=================================================================== +--- sooperlooper.orig/src/gui/check_box.cpp ++++ sooperlooper/src/gui/check_box.cpp +@@ -237,7 +237,7 @@ CheckBox::OnMouseEvents (wxMouseEvent &e + } + else if (ev.LeftUp()) + { +- if (bounds.Inside(ev.GetPosition())) { ++ if (bounds.Contains(ev.GetPosition())) { + // toggle value + _value = !_value; + +Index: sooperlooper/src/gui/midi_bind_panel.cpp +=================================================================== +--- sooperlooper.orig/src/gui/midi_bind_panel.cpp ++++ sooperlooper/src/gui/midi_bind_panel.cpp +@@ -880,7 +880,7 @@ void MidiBindPanel::on_button (wxCommand + } + else if (ev.GetId() == ID_LoadButton) + { +- wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to open"), wxT(""), wxT("*.slb"), wxOPEN|wxCHANGE_DIR); ++ wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to open"), wxT(""), wxT("*.slb"), wxFD_OPEN|wxFD_CHANGE_DIR); + if ( !filename.empty() ) + { + _parent->get_loop_control().load_midi_bindings(filename, _append_check->GetValue()); +@@ -888,7 +888,7 @@ void MidiBindPanel::on_button (wxCommand + } + else if (ev.GetId() == ID_SaveButton) + { +- wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to save"), wxT(""), wxT("*.slb"), wxSAVE|wxCHANGE_DIR|wxOVERWRITE_PROMPT); ++ wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to save"), wxT(""), wxT("*.slb"), wxFD_SAVE|wxFD_CHANGE_DIR|wxFD_OVERWRITE_PROMPT); + + if ( !filename.empty() ) + { +Index: sooperlooper/src/gui/config_panel.cpp +=================================================================== +--- sooperlooper.orig/src/gui/config_panel.cpp ++++ sooperlooper/src/gui/config_panel.cpp +@@ -378,7 +378,7 @@ void ConfigPanel::on_button (wxCommandEv + else if (ev.GetId() == ID_MidiBrowseButton) { + + _parent->get_keyboard().set_enabled(false); +- wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to use"), wxT(""), wxT("*.slb"), wxOPEN|wxCHANGE_DIR); ++ wxString filename = _parent->do_file_selector(wxT("Choose midi binding file to use"), wxT(""), wxT("*.slb"), wxFD_OPEN|wxFD_CHANGE_DIR); + _parent->get_keyboard().set_enabled(true); + + if ( !filename.empty() ) +@@ -389,8 +389,8 @@ void ConfigPanel::on_button (wxCommandEv + else if (ev.GetId() == ID_SessionBrowseButton) { + + _parent->get_keyboard().set_enabled(false); +- wxString filename = _parent->do_file_selector(wxT("Choose session file to use"), wxT(""), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR); +- //wxString filename = wxFileSelector(wxT("Choose session file to use"), wxT(""), wxT(""), wxT(""), wxT("*.slsess"), wxOPEN|wxCHANGE_DIR); ++ wxString filename = _parent->do_file_selector(wxT("Choose session file to use"), wxT(""), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR); ++ //wxString filename = wxFileSelector(wxT("Choose session file to use"), wxT(""), wxT(""), wxT(""), wxT("*.slsess"), wxFD_OPEN|wxFD_CHANGE_DIR); + _parent->get_keyboard().set_enabled(true); + + if ( !filename.empty() ) diff --git a/media-sound/sooperlooper/sooperlooper-1.7.3.ebuild b/media-sound/sooperlooper/sooperlooper-1.7.3.ebuild new file mode 100644 index 0000000000000..ff1ac18b029ae --- /dev/null +++ b/media-sound/sooperlooper/sooperlooper-1.7.3.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +WX_GTK_VER=3.0 + +inherit autotools eutils wxwidgets toolchain-funcs + +DESCRIPTION="Live looping sampler with immediate loop recording" +HOMEPAGE="http://essej.net/sooperlooper/index.html" +SRC_URI="http://essej.net/sooperlooper/${P/_p/-}.tar.gz + mirror://gentoo/${PN}-1.6.5-m4.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="wxwidgets" + +RDEPEND=" + media-sound/jack-audio-connection-kit + >=media-libs/liblo-0.10 + >=dev-libs/libsigc++-2.2.10:2 + >=media-libs/libsndfile-1.0.2 + >=media-libs/libsamplerate-0.0.13 + dev-libs/libxml2 + >=media-libs/rubberband-0.0.13 + sci-libs/fftw:3.0 + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig +" + +S=${WORKDIR}/${P/_p*} + +DOCS=( OSC README ) + +src_prepare() { + epatch "${FILESDIR}"/${P}-sigc++-2.5.patch + epatch "${FILESDIR}"/${P}-wx3.0.patch + + cp -rf "${WORKDIR}"/aclocal "${S}" || die "copying aclocal failed" + + AT_M4DIR="${S}"/aclocal eautoreconf +} + +src_compile() { + emake AR="$(tc-getAR)" +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + $(use_with wxwidgets gui) \ + --disable-optimize \ + --with-wxconfig-path="${WX_CONFIG}" +}