summaryrefslogtreecommitdiff
path: root/media-sound/sooperlooper
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-03-02 15:59:12 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-03-02 15:59:12 +0000
commit06a7b5647e11a8ddf69b1c3d3ded6a8ba28b923e (patch)
tree8d58c1f4b049da677b33209b072f2b3057268fe0 /media-sound/sooperlooper
parent99abbc5e5a6ecd3fc981b45646fd8cb5d320377b (diff)
gentoo resync : 02.03.2018
Diffstat (limited to 'media-sound/sooperlooper')
-rw-r--r--media-sound/sooperlooper/Manifest5
-rw-r--r--media-sound/sooperlooper/files/sooperlooper-1.7.3-clash.patch661
-rw-r--r--media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc26.patch96
-rw-r--r--media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc28.patch124
-rw-r--r--media-sound/sooperlooper/sooperlooper-1.7.3-r2.ebuild (renamed from media-sound/sooperlooper/sooperlooper-1.7.3-r1.ebuild)28
5 files changed, 804 insertions, 110 deletions
diff --git a/media-sound/sooperlooper/Manifest b/media-sound/sooperlooper/Manifest
index 5d9e1636b5ff..26a87552bb13 100644
--- a/media-sound/sooperlooper/Manifest
+++ b/media-sound/sooperlooper/Manifest
@@ -1,6 +1,7 @@
-AUX sooperlooper-1.7.3-libsigc26.patch 3433 BLAKE2B 63b8d4632dc1d5319c3ddcc1e43950588c0626f52f0528006349efb59913718e250e06a33c51af58f6c21d0274c29e21738aad82b4d4fd6af57c3d08449add38 SHA512 1510cca7f336a181da752019f7572fceaa21c78317eb135f31ceddc4ea8d677ccdb11c1f36ded13f4313df89ffdde644b6b68be049a6efc98f50f22c82d03553
+AUX sooperlooper-1.7.3-clash.patch 52851 BLAKE2B 8bc313d488306b2c5ab6b9055ccad4173835a3715dfc39ec85e434555dfa930dc38d566883f8d2c88ca6c87f3d626c7026b77754e6b77827e524f6d0bfb443f7 SHA512 a95db701cbc62bb0e730a34fe2bbc8e6f0351c9d7c579c87465a8b9808ed9c213f2ed406ee42787313c08e9a6ba9ce4c5e8aa215ddea8bbf984b0d7bd0429536
+AUX sooperlooper-1.7.3-libsigc28.patch 3219 BLAKE2B 05a0afbf8f5d0038df97d86ad4b4ae76dbf08bc717dee3932779abc450d025a82aa9314f97252256a660f0bfff473ea882999e12431545b260ba3998353e54ce SHA512 1de246e8bef9ea6f2163070034ee829166a89d0e670fceb36f8df2d47e2de7b845d98f3556a67575a793b01e2823a62f1c6d27e594932cfba7b1620e1e3007b5
AUX sooperlooper-1.7.3-wx3.0.patch 8149 BLAKE2B a2afa2d64dc2390db6690304339249f046639c6f0cba5f754c388515cc8093cca57342ed634cbb460678a3d0bddb2ac05a2d2c4f43c8e51175d1dc27dc13bd39 SHA512 93e3630f2a7f839b282b04cd35cdfee025f91bd24b5e715c668ef0f63a675c1c57f53aaa1ead0d27c73a9a2323160217fd9d62c25a5da27c5ed361f527880381
DIST sooperlooper-1.6.5-m4.tar.bz2 1463 BLAKE2B b02010f5aae113078d167b65a8ab232673eac622ae6595d23f4759fafa05aeb503ea30ace950b3e9cb4d85abe92af7eda13e4c5a3199630c83f2761c812bc9f7 SHA512 01b4405dcd91e617c8dafb9fcfab99507d0a9637d9b0eec84276c348968e31159b68ce5c8b7f900ab8a830f2b5c91b798146d5272d006a2b866f149e485f228d
DIST sooperlooper-1.7.3.tar.gz 732406 BLAKE2B 65adf851c0f8e4152176ac5a53a02c2113cb4876f1abf1cbbc5c12556d8508b8e1b063cc7107032f6cd3118afa3f239303c7b04e66786bded24e5950bef16bf7 SHA512 cbc9f6b3e4cafc6f18ddb2e2415d2bac274c8cc578b5dadc6ad878b1bed34e514208bc990c3a7dab0106cbf34ad16be12846851e446d724d77386e70d975e14b
-EBUILD sooperlooper-1.7.3-r1.ebuild 1363 BLAKE2B d521c11ca8a3608c8449536c5905dd1b29fabf2c43154f75b5c5a5c5ae3290570fe1b0805c2f2a93b07a6a743560929927d66aca7ad525dc2b4a21dee501c07b SHA512 e2412107dd3b1b8cc1366dcbe8a3299b0db81a5931d53a9ccff70df70c8d24631e80d640f4fc8c9f5e571e3fd13f03a3a837853262a10027b7b5a96b16268412
+EBUILD sooperlooper-1.7.3-r2.ebuild 1397 BLAKE2B df9629f99238644202529d7d468077643d6c72d13a199ee4501cd955b87ffbfa2f0515fcc4027cb562d08b073ec5e93319086a56deb43f5caf3b1bc25ff8fd04 SHA512 46caa1bac63f47adbb9ea129b66e8a5baf10b5ea7287dc410a8c34e94003d0deee7e54d3cd3ce37be792bf80523e99d0ae476f4ae4030e08ddfb9be078f2fde2
MISC metadata.xml 249 BLAKE2B f7f8f071ecba933f3d39b0b60983281d59299b92de9375a60ab4109d7202800cb790bce0c426227f04b3e2624b1adb20876145741355abc6a4938b8b9698d144 SHA512 9a100fb26586365eda99724330a03a512f4d0be18d39c3a195ba02c2fc841edeee99d22512acf5a058a3b978d3a74f4d963a5aff9aa343b6cb4086cdfefe6343
diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-clash.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-clash.patch
new file mode 100644
index 000000000000..a5df2e2c2252
--- /dev/null
+++ b/media-sound/sooperlooper/files/sooperlooper-1.7.3-clash.patch
@@ -0,0 +1,661 @@
+From 0cb1e65166c777250cf3737c418fcfc12ffac815 Mon Sep 17 00:00:00 2001
+From: vixus0 <vixus0@gmail.com>
+Date: Tue, 7 Jun 2016 22:10:39 +0100
+Subject: [PATCH] Use sigc::bind due to clash with std::bind
+
+---
+ src/engine.cpp | 2 +-
+ src/gui/latency_panel.cpp | 4 +-
+ src/gui/looper_panel.cpp | 182 +++++++++++++++++++++++-----------------------
+ src/gui/main_panel.cpp | 150 +++++++++++++++++++-------------------
+ 4 files changed, 169 insertions(+), 169 deletions(-)
+
+diff --git a/src/engine.cpp b/src/engine.cpp
+index a7a6395..3175c20 100644
+--- a/src/engine.cpp
++++ b/src/engine.cpp
+@@ -313,7 +313,7 @@ void Engine::set_midi_bridge (MidiBridge * bridge)
+ _midi_bridge->MidiControlEvent.connect (mem_fun(*this, &Engine::push_midi_control_event));
+ _midi_bridge->MidiSyncEvent.connect (mem_fun(*this, &Engine::push_sync_event));
+
+- ParamChanged.connect(bind (mem_fun(*_midi_bridge, &MidiBridge::parameter_changed), this));
++ ParamChanged.connect(sigc::bind(mem_fun(*_midi_bridge, &MidiBridge::parameter_changed), this));
+
+ _midi_bridge->set_output_midi_clock(_output_midi_clock);
+ }
+diff --git a/src/gui/latency_panel.cpp b/src/gui/latency_panel.cpp
+index 10e16e8..cb28723 100644
+--- a/src/gui/latency_panel.cpp
++++ b/src/gui/latency_panel.cpp
+@@ -150,7 +150,7 @@ void LatencyPanel::init()
+ _input_spin->set_allow_outside_bounds(false);
+ //_input_spin->SetFont (sliderFont);
+ _input_spin->set_decimal_digits(0);
+- _input_spin->value_changed.connect (bind (mem_fun (*this, &LatencyPanel::on_spin_change), (int) ID_InputLatency));
++ _input_spin->value_changed.connect (sigc::bind(mem_fun (*this, &LatencyPanel::on_spin_change), (int) ID_InputLatency));
+ rowsizer->Add (_input_spin, 1, wxLEFT|wxEXPAND, 10);
+
+ _output_spin = new SpinBox(this, ID_OutputLatency, 0.0f, 100000.0f, 512.0f, false, wxDefaultPosition, wxSize(200, 35));
+@@ -160,7 +160,7 @@ void LatencyPanel::init()
+ _output_spin->set_allow_outside_bounds(false);
+ _output_spin->set_decimal_digits(0);
+ //_output_spin->SetFont (sliderFont);
+- _output_spin->value_changed.connect (bind (mem_fun (*this, &LatencyPanel::on_spin_change), (int) ID_OutputLatency));
++ _output_spin->value_changed.connect (sigc::bind(mem_fun (*this, &LatencyPanel::on_spin_change), (int) ID_OutputLatency));
+ rowsizer->Add (_output_spin, 1, wxLEFT|wxRIGHT|wxEXPAND, 10);
+
+
+diff --git a/src/gui/looper_panel.cpp b/src/gui/looper_panel.cpp
+index 4c5650d..34f7a84 100644
+--- a/src/gui/looper_panel.cpp
++++ b/src/gui/looper_panel.cpp
+@@ -212,8 +212,8 @@ LooperPanel::init()
+ slider->set_show_indicator_bar (false);
+ slider->set_scale_mode(SliderBar::ZeroGainMode);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ inthresh_sizer->Add (slider, 1, wxALL|wxEXPAND, 0);
+
+ _thresh_control = slider = new SliderBar(this, ID_ThreshControl, 0.0f, 1.0f, 0.0f);
+@@ -222,8 +222,8 @@ LooperPanel::init()
+ slider->set_show_indicator_bar (true);
+ slider->set_scale_mode(SliderBar::ZeroGainMode);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ inthresh_sizer->Add (slider, 1, wxLEFT|wxEXPAND, 3);
+
+ colsizer->Add (inthresh_sizer, 1, wxEXPAND|wxLEFT, 5);
+@@ -232,8 +232,8 @@ LooperPanel::init()
+ slider->set_units(wxT("%"));
+ slider->set_label(wxT("feedback"));
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+
+ _maininsizer->Add (slider, 1, wxEXPAND|wxTOP, 5);
+
+@@ -281,8 +281,8 @@ LooperPanel::init()
+ // slider->set_label(wxT("dry"));
+ // slider->set_scale_mode(SliderBar::ZeroGainMode);
+ // slider->SetFont(sliderFont);
+-// slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+-// slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++// slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++// slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ // _toppansizer->Add (slider, 1, wxEXPAND, 0);
+
+ // panners are added later
+@@ -297,8 +297,8 @@ LooperPanel::init()
+ slider->set_show_indicator_bar (true);
+ slider->set_scale_mode(SliderBar::ZeroGainMode);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ _botpansizer->Add (slider, 1, wxEXPAND, 0);
+
+ /*
+@@ -307,7 +307,7 @@ LooperPanel::init()
+ _outlatency_spin->set_label(wxT("o.lat"));
+ _outlatency_spin->set_snap_mode (SpinBox::IntegerSnap);
+ _outlatency_spin->set_allow_outside_bounds(true);
+- _outlatency_spin->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) _outlatency_spin->GetId()));
++ _outlatency_spin->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) _outlatency_spin->GetId()));
+ _outlatency_spin->SetFont(sliderFont);
+ _botpansizer->Add (_outlatency_spin, 0, wxALL, 0);
+
+@@ -316,7 +316,7 @@ LooperPanel::init()
+ _inlatency_spin->set_label(wxT("i.lat"));
+ _inlatency_spin->set_snap_mode (SpinBox::IntegerSnap);
+ _inlatency_spin->set_allow_outside_bounds(true);
+- _inlatency_spin->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) _inlatency_spin->GetId()));
++ _inlatency_spin->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) _inlatency_spin->GetId()));
+ _inlatency_spin->SetFont(sliderFont);
+ _botpansizer->Add (_inlatency_spin, 0, wxALL, 0);
+ */
+@@ -361,8 +361,8 @@ LooperPanel::init()
+ _sync_check = new CheckBox(this, ID_SyncCheck, wxT("sync"), true, wxDefaultPosition, wxSize(55, 18));
+ _sync_check->SetFont(sliderFont);
+ _sync_check->SetToolTip(wxT("sync operations to quantize source"));
+- _sync_check->value_changed.connect (bind (mem_fun (*this, &LooperPanel::check_events), wxT("sync")));
+- _sync_check->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) _sync_check->GetId()));
++ _sync_check->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::check_events), wxT("sync")));
++ _sync_check->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) _sync_check->GetId()));
+ lilrowsizer->Add (_sync_check, 1, wxLEFT, 3);
+ lilcolsizer->Add (lilrowsizer, 0, wxTOP|wxEXPAND, 0);
+
+@@ -370,8 +370,8 @@ LooperPanel::init()
+ _play_sync_check = new CheckBox(this, ID_PlaySyncCheck, wxT("play sync"), true, wxDefaultPosition, wxSize(55, 18));
+ _play_sync_check->SetFont(sliderFont);
+ _play_sync_check->SetToolTip(wxT("sync playback auto-triggering to quantized sync source"));
+- _play_sync_check->value_changed.connect (bind (mem_fun (*this, &LooperPanel::check_events), wxT("playback_sync")));
+- _play_sync_check->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) _play_sync_check->GetId()));
++ _play_sync_check->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::check_events), wxT("playback_sync")));
++ _play_sync_check->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) _play_sync_check->GetId()));
+ lilrowsizer->Add (_play_sync_check, 1, wxLEFT, 3);
+ lilcolsizer->Add (lilrowsizer, 0, wxTOP|wxEXPAND, 0);
+
+@@ -379,15 +379,15 @@ LooperPanel::init()
+ _play_feed_check = new CheckBox(this, ID_UseFeedbackPlayCheck, wxT("p. feedb"), true, wxDefaultPosition, wxSize(55, 18));
+ _play_feed_check->SetFont(sliderFont);
+ _play_feed_check->SetToolTip(wxT("enable feedback during playback"));
+- _play_feed_check->value_changed.connect (bind (mem_fun (*this, &LooperPanel::check_events), wxT("use_feedback_play")));
+- _play_feed_check->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) _play_feed_check->GetId()));
++ _play_feed_check->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::check_events), wxT("use_feedback_play")));
++ _play_feed_check->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) _play_feed_check->GetId()));
+ lilrowsizer->Add (_play_feed_check, 1, wxLEFT, 3);
+
+ _tempo_stretch_check = new CheckBox(this, ID_TempoStretchCheck, wxT("t. stretch"), true, wxDefaultPosition, wxSize(55, 18));
+ _tempo_stretch_check->SetFont(sliderFont);
+ _tempo_stretch_check->SetToolTip(wxT("enable automatic timestretch when tempo changes"));
+- _tempo_stretch_check->value_changed.connect (bind (mem_fun (*this, &LooperPanel::check_events), wxT("tempo_stretch")));
+- _tempo_stretch_check->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) _tempo_stretch_check->GetId()));
++ _tempo_stretch_check->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::check_events), wxT("tempo_stretch")));
++ _tempo_stretch_check->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) _tempo_stretch_check->GetId()));
+ lilrowsizer->Add (_tempo_stretch_check, 1, wxLEFT, 3);
+
+ lilcolsizer->Add (lilrowsizer, 0, wxTOP|wxEXPAND, 0);
+@@ -440,8 +440,8 @@ LooperPanel::init()
+ slider->set_show_value(false);
+ slider->set_show_indicator_bar (true);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ rowsizer->Add (slider, 1, wxEXPAND|wxTOP|wxLEFT, 3);
+
+ // pitch control
+@@ -452,8 +452,8 @@ LooperPanel::init()
+ slider->set_decimal_digits (1);
+ slider->set_snap_mode(SliderBar::IntegerSnap);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ rowsizer->Add (slider, 1, wxEXPAND|wxTOP|wxLEFT, 3);
+
+ // pause
+@@ -476,8 +476,8 @@ LooperPanel::init()
+ slider->set_style (SliderBar::CenterStyle);
+ slider->set_decimal_digits (3);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ rowsizer->Add (slider, 1, wxEXPAND|wxTOP|wxLEFT, 3);
+
+ // stretch control
+@@ -487,8 +487,8 @@ LooperPanel::init()
+ slider->set_style (SliderBar::CenterStyle);
+ slider->set_decimal_digits (2);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ rowsizer->Add (slider, 1, wxEXPAND|wxTOP|wxLEFT, 3);
+
+
+@@ -498,7 +498,7 @@ LooperPanel::init()
+ _triglatency_spin->set_label(wxT("t.lat"));
+ _triglatency_spin->set_snap_mode (SpinBox::IntegerSnap);
+ _triglatency_spin->set_allow_outside_bounds(true);
+- _triglatency_spin->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) _triglatency_spin->GetId()));
++ _triglatency_spin->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) _triglatency_spin->GetId()));
+ _triglatency_spin->SetFont(sliderFont);
+ rowsizer->Add (_triglatency_spin, 0, wxALL, 0);
+ */
+@@ -555,15 +555,15 @@ LooperPanel::post_init()
+ slider->set_label(wxT("in mon"));
+ slider->set_scale_mode(SliderBar::ZeroGainMode);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::slider_events), (int) slider->GetId()));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) slider->GetId()));
+ _toppansizer->Add (slider, 1, wxEXPAND, 0);
+
+ _use_main_in_check = new CheckBox(this, ID_UseMainInCheck, wxT("main in"), true, wxDefaultPosition, wxSize(65, 18));
+ _use_main_in_check->SetFont(sliderFont);
+ _use_main_in_check->SetToolTip(wxT("mix input from Main inputs"));
+- _use_main_in_check->value_changed.connect (bind (mem_fun (*this, &LooperPanel::check_events), wxT("use_common_ins")));
+- _use_main_in_check->bind_request.connect (bind (mem_fun (*this, &LooperPanel::control_bind_events), (int) _use_main_in_check->GetId()));
++ _use_main_in_check->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::check_events), wxT("use_common_ins")));
++ _use_main_in_check->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::control_bind_events), (int) _use_main_in_check->GetId()));
+ _maininsizer->Add (_use_main_in_check, 0, wxALL|wxEXPAND|wxALIGN_CENTRE_VERTICAL ,0);
+ _maininsizer->Layout();
+
+@@ -595,8 +595,8 @@ LooperPanel::post_init()
+ slider->set_decimal_digits (3);
+ slider->set_show_value (false);
+ slider->SetFont(sliderFont);
+- slider->value_changed.connect (bind (mem_fun (*this, &LooperPanel::pan_events), (int) i));
+- slider->bind_request.connect (bind (mem_fun (*this, &LooperPanel::pan_bind_events), (int) i));
++ slider->value_changed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pan_events), (int) i));
++ slider->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::pan_bind_events), (int) i));
+
+ if (!_has_discrete_io) {
+ _toppansizer->Add (slider, 1, (i==0) ? wxEXPAND : wxEXPAND|wxLEFT, 2);
+@@ -652,83 +652,83 @@ LooperPanel::set_index(int ind)
+ void
+ LooperPanel::bind_events()
+ {
+- _undo_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("undo"))));
+- _undo_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("undo"))));
+- _undo_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("undo"))));
++ _undo_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("undo"))));
++ _undo_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("undo"))));
++ _undo_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("undo"))));
+
+- _redo_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("redo"))));
+- _redo_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("redo"))));
+- _redo_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("redo"))));
++ _redo_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("redo"))));
++ _redo_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("redo"))));
++ _redo_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("redo"))));
+
+- _record_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("record"))));
+- _record_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("record"))));
+- _record_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("record"))));
++ _record_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("record"))));
++ _record_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("record"))));
++ _record_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("record"))));
+
+- _overdub_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("overdub"))));
+- _overdub_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("overdub"))));
+- _overdub_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("overdub"))));
++ _overdub_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("overdub"))));
++ _overdub_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("overdub"))));
++ _overdub_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("overdub"))));
+
+- _multiply_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("multiply"))));
+- _multiply_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("multiply"))));
+- _multiply_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("multiply"))));
++ _multiply_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("multiply"))));
++ _multiply_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("multiply"))));
++ _multiply_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("multiply"))));
+
+- _replace_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("replace"))));
+- _replace_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("replace"))));
+- _replace_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("replace"))));
++ _replace_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("replace"))));
++ _replace_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("replace"))));
++ _replace_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("replace"))));
+
+- _insert_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("insert"))));
+- _insert_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("insert"))));
+- _insert_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("insert"))));
++ _insert_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("insert"))));
++ _insert_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("insert"))));
++ _insert_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("insert"))));
+
+- _once_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("oneshot"))));
+- _once_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("oneshot"))));
+- _once_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("oneshot"))));
++ _once_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("oneshot"))));
++ _once_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("oneshot"))));
++ _once_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("oneshot"))));
+
+- _trig_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("trigger"))));
+- _trig_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("trigger"))));
+- _trig_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("trigger"))));
++ _trig_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("trigger"))));
++ _trig_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("trigger"))));
++ _trig_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("trigger"))));
+
+ _delay_button->pressed.connect (mem_fun (*this, &LooperPanel::delay_button_press_event));
+ _delay_button->released.connect (mem_fun (*this, &LooperPanel::delay_button_release_event));
+- _delay_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("delay_trigger"))));
++ _delay_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("delay_trigger"))));
+
+- _reverse_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("reverse"))));
+- _reverse_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("reverse"))));
+- _reverse_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("reverse"))));
++ _reverse_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("reverse"))));
++ _reverse_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("reverse"))));
++ _reverse_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("reverse"))));
+
+- _substitute_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("substitute"))));
+- _substitute_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("substitute"))));
+- _substitute_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("substitute"))));
++ _substitute_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("substitute"))));
++ _substitute_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("substitute"))));
++ _substitute_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("substitute"))));
+
+- _mute_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("mute"))));
+- _mute_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("mute"))));
+- _mute_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("mute"))));
++ _mute_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("mute"))));
++ _mute_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("mute"))));
++ _mute_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("mute"))));
+
+- _pause_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("pause"))));
+- _pause_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("pause"))));
+- _pause_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("pause"))));
++ _pause_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("pause"))));
++ _pause_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("pause"))));
++ _pause_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("pause"))));
+
+- _solo_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("solo"))));
+- _solo_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("solo"))));
+- _solo_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("solo"))));
++ _solo_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("solo"))));
++ _solo_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("solo"))));
++ _solo_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("solo"))));
+
+- _halfx_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::rate_button_event), 0.5f));
+- _halfx_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::rate_bind_events), 0.5f));
+- _1x_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::rate_button_event), 1.0f));
+- _1x_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::rate_bind_events), 1.0f));
+- _2x_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::rate_button_event), 2.0f));
+- _2x_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::rate_bind_events), 2.0f));
++ _halfx_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::rate_button_event), 0.5f));
++ _halfx_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::rate_bind_events), 0.5f));
++ _1x_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::rate_button_event), 1.0f));
++ _1x_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::rate_bind_events), 1.0f));
++ _2x_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::rate_button_event), 2.0f));
++ _2x_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::rate_bind_events), 2.0f));
+
+- _scratch_button->pressed.connect (bind (mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("scratch"))));
+- _scratch_button->released.connect (bind (mem_fun (*this, &LooperPanel::released_events), wxString(wxT("scratch"))));
+- _scratch_button->bind_request.connect (bind (mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("scratch"))));
++ _scratch_button->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::pressed_events), wxString(wxT("scratch"))));
++ _scratch_button->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::released_events), wxString(wxT("scratch"))));
++ _scratch_button->bind_request.connect (sigc::bind(mem_fun (*this, &LooperPanel::button_bind_events), wxString(wxT("scratch"))));
+
+- _save_button->clicked.connect (bind (mem_fun (*this, &LooperPanel::clicked_events), wxString(wxT("save"))));
+- _load_button->clicked.connect (bind (mem_fun (*this, &LooperPanel::clicked_events), wxString(wxT("load"))));
++ _save_button->clicked.connect (sigc::bind(mem_fun (*this, &LooperPanel::clicked_events), wxString(wxT("save"))));
++ _load_button->clicked.connect (sigc::bind(mem_fun (*this, &LooperPanel::clicked_events), wxString(wxT("load"))));
+
+
+- _scratch_control->pressed.connect (bind (mem_fun (*this, &LooperPanel::scratch_events), wxString(wxT("scratch_press"))));
+- _scratch_control->released.connect (bind (mem_fun (*this, &LooperPanel::scratch_events), wxString(wxT("scratch_release"))));
++ _scratch_control->pressed.connect (sigc::bind(mem_fun (*this, &LooperPanel::scratch_events), wxString(wxT("scratch_press"))));
++ _scratch_control->released.connect (sigc::bind(mem_fun (*this, &LooperPanel::scratch_events), wxString(wxT("scratch_release"))));
+
+
+ _loop_control->MidiBindingChanged.connect (mem_fun (*this, &LooperPanel::got_binding_changed));
+diff --git a/src/gui/main_panel.cpp b/src/gui/main_panel.cpp
+index 1734eb6..b0c1bac 100644
+--- a/src/gui/main_panel.cpp
++++ b/src/gui/main_panel.cpp
+@@ -217,7 +217,7 @@ MainPanel::init()
+ _sync_choice->set_label (wxT("sync to"));
+ _sync_choice->SetFont (sliderFont);
+ _sync_choice->value_changed.connect (mem_fun (*this, &MainPanel::on_syncto_change));
+- _sync_choice->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("sync")));
++ _sync_choice->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("sync")));
+
+ rowsizer->Add (_sync_choice, 0, wxALL|wxEXPAND, 2);
+
+@@ -228,7 +228,7 @@ MainPanel::init()
+ _tempo_bar->set_allow_outside_bounds(true);
+ _tempo_bar->SetFont (sliderFont);
+ _tempo_bar->value_changed.connect (mem_fun (*this, &MainPanel::on_tempo_change));
+- _tempo_bar->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("tempo")));
++ _tempo_bar->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("tempo")));
+ rowsizer->Add (_tempo_bar, 0, wxALL|wxEXPAND, 2);
+
+ _taptempo_button = new PixButton(_top_panel, ID_TapTempoButton, true);
+@@ -239,7 +239,7 @@ MainPanel::init()
+ _taptempo_button->set_active_bitmap (wxBitmap(tap_tempo_active));
+ _taptempo_button->pressed.connect (mem_fun (*this, &MainPanel::on_taptempo_press));
+ _taptempo_button->released.connect (mem_fun (*this, &MainPanel::on_taptempo_release));
+- _taptempo_button->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("taptempo")));
++ _taptempo_button->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("taptempo")));
+ rowsizer->Add (_taptempo_button, 0, wxALL|wxEXPAND, 2);
+
+
+@@ -250,7 +250,7 @@ MainPanel::init()
+ _eighth_cycle_bar->set_allow_outside_bounds(true);
+ _eighth_cycle_bar->SetFont (sliderFont);
+ _eighth_cycle_bar->value_changed.connect (mem_fun (*this, &MainPanel::on_eighth_change));
+- _eighth_cycle_bar->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("eighth")));
++ _eighth_cycle_bar->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("eighth")));
+ rowsizer->Add (_eighth_cycle_bar, 0, wxALL|wxEXPAND, 2);
+
+
+@@ -258,7 +258,7 @@ MainPanel::init()
+ _quantize_choice->SetFont (sliderFont);
+ _quantize_choice->set_label (wxT("quantize"));
+ _quantize_choice->value_changed.connect (mem_fun (*this, &MainPanel::on_quantize_change));
+- _quantize_choice->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("quantize")));
++ _quantize_choice->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("quantize")));
+ _quantize_choice->append_choice (wxT("off"), 0);
+ _quantize_choice->append_choice (wxT("cycle"), 1);
+ _quantize_choice->append_choice (wxT("8th"), 2);
+@@ -269,21 +269,21 @@ MainPanel::init()
+ _mute_quant_check->SetFont(sliderFont);
+ _mute_quant_check->SetToolTip(wxT("quantize mute operations"));
+ _mute_quant_check->value_changed.connect (mem_fun (*this, &MainPanel::on_mute_quant_check));
+- _mute_quant_check->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("mute_quantized")));
++ _mute_quant_check->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("mute_quantized")));
+ rowsizer->Add (_mute_quant_check, 0, wxALL|wxEXPAND, 2);
+
+ _odub_quant_check = new CheckBox(_top_panel, ID_OdubQuantCheck, wxT("odub quant"), true, wxDefaultPosition, wxSize(90, 18));
+ _odub_quant_check->SetFont(sliderFont);
+ _odub_quant_check->SetToolTip(wxT("quantize overdub operations"));
+ _odub_quant_check->value_changed.connect (mem_fun (*this, &MainPanel::on_odub_quant_check));
+- _odub_quant_check->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("overdub_quantized")));
++ _odub_quant_check->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("overdub_quantized")));
+ rowsizer->Add (_odub_quant_check, 0, wxALL|wxEXPAND, 2);
+
+ _repl_quant_check = new CheckBox(_top_panel, ID_ReplQuantCheck, wxT("repl quant"), true, wxDefaultPosition, wxSize(90, 18));
+ _repl_quant_check->SetFont(sliderFont);
+ _repl_quant_check->SetToolTip(wxT("quantize replace and substitute operations"));
+ _repl_quant_check->value_changed.connect (mem_fun (*this, &MainPanel::on_repl_quant_check));
+- _repl_quant_check->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("replace_quantized")));
++ _repl_quant_check->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("replace_quantized")));
+ rowsizer->Add (_repl_quant_check, 0, wxALL|wxEXPAND, 2);
+
+
+@@ -305,7 +305,7 @@ MainPanel::init()
+ _xfade_bar->set_decimal_digits (0);
+ _xfade_bar->SetFont (sliderFont);
+ _xfade_bar->value_changed.connect (mem_fun (*this, &MainPanel::on_xfade_change));
+- _xfade_bar->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("fade_samples")));
++ _xfade_bar->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("fade_samples")));
+ rowsizer->Add (_xfade_bar, 0, wxALL|wxEXPAND, 2);
+
+ _common_ingain_bar = new SliderBar(_top_panel, ID_InGainControl, 0.0f, 1.0f, 1.0f, true, wxDefaultPosition, wxSize(132,20));
+@@ -315,7 +315,7 @@ MainPanel::init()
+ _common_ingain_bar->set_show_indicator_bar(true);
+ _common_ingain_bar->SetFont(sliderFont);
+ _common_ingain_bar->value_changed.connect (mem_fun (*this, &MainPanel::on_ingain_change));
+- _common_ingain_bar->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("input_gain")));
++ _common_ingain_bar->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("input_gain")));
+ rowsizer->Add (_common_ingain_bar, 0, wxALL|wxEXPAND, 2);
+
+ _common_dry_bar = new SliderBar(_top_panel, ID_DryControl, 0.0f, 1.0f, 1.0f, true, wxDefaultPosition, wxSize(132,20));
+@@ -325,7 +325,7 @@ MainPanel::init()
+ _common_dry_bar->set_show_indicator_bar(true);
+ _common_dry_bar->SetFont(sliderFont);
+ _common_dry_bar->value_changed.connect (mem_fun (*this, &MainPanel::on_dry_change));
+- _common_dry_bar->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("dry")));
++ _common_dry_bar->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("dry")));
+ rowsizer->Add (_common_dry_bar, 0, wxALL|wxEXPAND, 2);
+
+ _common_wet_bar = new SliderBar(_top_panel, ID_WetControl, 0.0f, 1.0f, 1.0f, true, wxDefaultPosition, wxSize(132,20));
+@@ -335,7 +335,7 @@ MainPanel::init()
+ _common_wet_bar->set_show_indicator_bar(true);
+ _common_wet_bar->SetFont(sliderFont);
+ _common_wet_bar->value_changed.connect (mem_fun (*this, &MainPanel::on_wet_change));
+- _common_wet_bar->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("wet")));
++ _common_wet_bar->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("wet")));
+ rowsizer->Add (_common_wet_bar, 0, wxALL|wxEXPAND, 2);
+
+
+@@ -343,13 +343,13 @@ MainPanel::init()
+ _round_check = new CheckBox (_top_panel, ID_RoundCheck, wxT("round"), true, wxDefaultPosition, wxSize(60, 20));
+ _round_check->SetFont (sliderFont);
+ _round_check->value_changed.connect (mem_fun (*this, &MainPanel::on_round_check));
+- _round_check->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("round")));
++ _round_check->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("round")));
+ rowsizer->Add (_round_check, 0, wxALL|wxEXPAND, 2);
+
+ _relsync_check = new CheckBox (_top_panel, ID_RelSyncCheck, wxT("rel sync"), true, wxDefaultPosition, wxSize(75, 20));
+ _relsync_check->SetFont (sliderFont);
+ _relsync_check->value_changed.connect (mem_fun (*this, &MainPanel::on_relsync_check));
+- _relsync_check->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("relative_sync")));
++ _relsync_check->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("relative_sync")));
+ rowsizer->Add (_relsync_check, 0, wxALL|wxEXPAND, 2);
+
+
+@@ -357,7 +357,7 @@ MainPanel::init()
+ _smart_eighths_check->SetFont(sliderFont);
+ _smart_eighths_check->SetToolTip(wxT("auto adjust 8ths per cycle with tempo"));
+ _smart_eighths_check->value_changed.connect (mem_fun (*this, &MainPanel::on_smart_eighths_check));
+- _smart_eighths_check->bind_request.connect (bind (mem_fun (*this, &MainPanel::on_bind_request), wxT("smart_eighths")));
++ _smart_eighths_check->bind_request.connect (sigc::bind(mem_fun (*this, &MainPanel::on_bind_request), wxT("smart_eighths")));
+ rowsizer->Add (_smart_eighths_check, 0, wxALL|wxEXPAND, 2);
+
+
+@@ -379,7 +379,7 @@ MainPanel::init()
+
+ // todo request how many loopers to construct based on connection
+ _loop_connect_connection = _loop_control->LooperConnected.connect (mem_fun (*this, &MainPanel::init_loopers));
+- _loop_disconnect_connection = _loop_control->Disconnected.connect (bind (mem_fun (*this, &MainPanel::init_loopers), 0));
++ _loop_disconnect_connection = _loop_control->Disconnected.connect (sigc::bind(mem_fun (*this, &MainPanel::init_loopers), 0));
+ _loop_update_connection = _loop_control->NewDataReady.connect (mem_fun (*this, &MainPanel::osc_data_ready));
+
+
+@@ -1112,67 +1112,67 @@ MainPanel::process_key_event (wxKeyEvent &ev)
+ void MainPanel::intialize_keybindings ()
+ {
+
+- _keyboard->add_action ("record", bind (mem_fun (*this, &MainPanel::command_action), wxT("record")));
+- _keyboard->add_action ("overdub", bind (mem_fun (*this, &MainPanel::command_action), wxT("overdub")));
+- _keyboard->add_action ("multiply", bind (mem_fun (*this, &MainPanel::command_action), wxT("multiply")));
+- _keyboard->add_action ("insert", bind (mem_fun (*this, &MainPanel::command_action), wxT("insert")));
+- _keyboard->add_action ("replace", bind (mem_fun (*this, &MainPanel::command_action), wxT("replace")));
+- _keyboard->add_action ("reverse", bind (mem_fun (*this, &MainPanel::command_action), wxT("reverse")));
+- _keyboard->add_action ("scratch", bind (mem_fun (*this, &MainPanel::command_action), wxT("scratch")));
+- _keyboard->add_action ("substitute", bind (mem_fun (*this, &MainPanel::command_action), wxT("substitute")));
+- _keyboard->add_action ("mute", bind (mem_fun (*this, &MainPanel::command_action), wxT("mute")));
+- _keyboard->add_action ("mute_on", bind (mem_fun (*this, &MainPanel::command_action), wxT("mute_on")));
+- _keyboard->add_action ("mute_off", bind (mem_fun (*this, &MainPanel::command_action), wxT("mute_off")));
+- _keyboard->add_action ("mute_trigger", bind (mem_fun (*this, &MainPanel::command_action), wxT("mute_trigger")));
+- _keyboard->add_action ("undo", bind (mem_fun (*this, &MainPanel::command_action), wxT("undo")));
+- _keyboard->add_action ("redo", bind (mem_fun (*this, &MainPanel::command_action), wxT("redo")));
+- _keyboard->add_action ("undo_all", bind (mem_fun (*this, &MainPanel::command_action), wxT("undo_all")));
+- _keyboard->add_action ("redo_all", bind (mem_fun (*this, &MainPanel::command_action), wxT("redo_all")));
+- _keyboard->add_action ("oneshot", bind (mem_fun (*this, &MainPanel::command_action), wxT("oneshot")));
+- _keyboard->add_action ("trigger", bind (mem_fun (*this, &MainPanel::command_action), wxT("trigger")));
+- _keyboard->add_action ("pause", bind (mem_fun (*this, &MainPanel::command_action), wxT("pause")));
+- _keyboard->add_action ("pause_on", bind (mem_fun (*this, &MainPanel::command_action), wxT("pause_on")));
+- _keyboard->add_action ("pause_off", bind (mem_fun (*this, &MainPanel::command_action), wxT("pause_off")));
+- _keyboard->add_action ("solo", bind (mem_fun (*this, &MainPanel::command_action), wxT("solo")));
+- _keyboard->add_action ("solo_prev", bind (mem_fun (*this, &MainPanel::command_action), wxT("solo_prev")));
+- _keyboard->add_action ("solo_next", bind (mem_fun (*this, &MainPanel::command_action), wxT("solo_next")));
+- _keyboard->add_action ("record_solo", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_solo")));
+- _keyboard->add_action ("record_solo_prev", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_solo_prev")));
+- _keyboard->add_action ("record_solo_next", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_solo_next")));
+- _keyboard->add_action ("set_sync_pos", bind (mem_fun (*this, &MainPanel::command_action), wxT("set_sync_pos")));
+- _keyboard->add_action ("reset_sync_pos", bind (mem_fun (*this, &MainPanel::command_action), wxT("reset_sync_pos")));
+- _keyboard->add_action ("record_or_overdub", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub")));
+- _keyboard->add_action ("record_exclusive", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_exclusive")));
+- _keyboard->add_action ("record_exclusive_next", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_exclusive_next")));
+- _keyboard->add_action ("record_exclusive_prev", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_exclusive_prev")));
+- _keyboard->add_action ("record_or_overdub_excl", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_excl")));
+- _keyboard->add_action ("record_or_overdub_excl_next", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_excl_next")));
+- _keyboard->add_action ("record_or_overdub_excl_prev", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_excl_prev")));
+- _keyboard->add_action ("record_or_overdub_solo", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_solo")));
+- _keyboard->add_action ("record_or_overdub_solo_next", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_solo_next")));
+- _keyboard->add_action ("record_or_overdub_solo_prev", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_solo_prev")));
+- _keyboard->add_action ("record_overdub_end_solo", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_overdub_end_solo")));
+- _keyboard->add_action ("record_overdub_end_solo_trig", bind (mem_fun (*this, &MainPanel::command_action), wxT("record_overdub_end_solo_trig")));
++ _keyboard->add_action ("record", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record")));
++ _keyboard->add_action ("overdub", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("overdub")));
++ _keyboard->add_action ("multiply", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("multiply")));
++ _keyboard->add_action ("insert", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("insert")));
++ _keyboard->add_action ("replace", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("replace")));
++ _keyboard->add_action ("reverse", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("reverse")));
++ _keyboard->add_action ("scratch", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("scratch")));
++ _keyboard->add_action ("substitute", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("substitute")));
++ _keyboard->add_action ("mute", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("mute")));
++ _keyboard->add_action ("mute_on", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("mute_on")));
++ _keyboard->add_action ("mute_off", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("mute_off")));
++ _keyboard->add_action ("mute_trigger", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("mute_trigger")));
++ _keyboard->add_action ("undo", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("undo")));
++ _keyboard->add_action ("redo", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("redo")));
++ _keyboard->add_action ("undo_all", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("undo_all")));
++ _keyboard->add_action ("redo_all", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("redo_all")));
++ _keyboard->add_action ("oneshot", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("oneshot")));
++ _keyboard->add_action ("trigger", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("trigger")));
++ _keyboard->add_action ("pause", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("pause")));
++ _keyboard->add_action ("pause_on", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("pause_on")));
++ _keyboard->add_action ("pause_off", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("pause_off")));
++ _keyboard->add_action ("solo", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("solo")));
++ _keyboard->add_action ("solo_prev", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("solo_prev")));
++ _keyboard->add_action ("solo_next", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("solo_next")));
++ _keyboard->add_action ("record_solo", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_solo")));
++ _keyboard->add_action ("record_solo_prev", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_solo_prev")));
++ _keyboard->add_action ("record_solo_next", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_solo_next")));
++ _keyboard->add_action ("set_sync_pos", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("set_sync_pos")));
++ _keyboard->add_action ("reset_sync_pos", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("reset_sync_pos")));
++ _keyboard->add_action ("record_or_overdub", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub")));
++ _keyboard->add_action ("record_exclusive", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_exclusive")));
++ _keyboard->add_action ("record_exclusive_next", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_exclusive_next")));
++ _keyboard->add_action ("record_exclusive_prev", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_exclusive_prev")));
++ _keyboard->add_action ("record_or_overdub_excl", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_excl")));
++ _keyboard->add_action ("record_or_overdub_excl_next", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_excl_next")));
++ _keyboard->add_action ("record_or_overdub_excl_prev", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_excl_prev")));
++ _keyboard->add_action ("record_or_overdub_solo", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_solo")));
++ _keyboard->add_action ("record_or_overdub_solo_next", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_solo_next")));
++ _keyboard->add_action ("record_or_overdub_solo_prev", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_or_overdub_solo_prev")));
++ _keyboard->add_action ("record_overdub_end_solo", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_overdub_end_solo")));
++ _keyboard->add_action ("record_overdub_end_solo_trig", sigc::bind(mem_fun (*this, &MainPanel::command_action), wxT("record_overdub_end_solo_trig")));
+
+
+- _keyboard->add_action ("delay", bind (mem_fun (*this, &MainPanel::misc_action), wxT("delay")));
+- _keyboard->add_action ("taptempo", bind (mem_fun (*this, &MainPanel::misc_action), wxT("taptempo")));
+- _keyboard->add_action ("load", bind (mem_fun (*this, &MainPanel::misc_action), wxT("load")));
+- _keyboard->add_action ("save", bind (mem_fun (*this, &MainPanel::misc_action), wxT("save")));
+- _keyboard->add_action ("cancel_midi_learn", bind (mem_fun (*this, &MainPanel::misc_action), wxT("cancel_learn")));
+-
+- _keyboard->add_action ("select_prev_loop", bind (mem_fun (*this, &MainPanel::select_loop_action), -2));
+- _keyboard->add_action ("select_next_loop", bind (mem_fun (*this, &MainPanel::select_loop_action), -1));
+- _keyboard->add_action ("select_loop_1", bind (mem_fun (*this, &MainPanel::select_loop_action), 1));
+- _keyboard->add_action ("select_loop_2", bind (mem_fun (*this, &MainPanel::select_loop_action), 2));
+- _keyboard->add_action ("select_loop_3", bind (mem_fun (*this, &MainPanel::select_loop_action), 3));
+- _keyboard->add_action ("select_loop_4", bind (mem_fun (*this, &MainPanel::select_loop_action), 4));
+- _keyboard->add_action ("select_loop_5", bind (mem_fun (*this, &MainPanel::select_loop_action), 5));
+- _keyboard->add_action ("select_loop_6", bind (mem_fun (*this, &MainPanel::select_loop_action), 6));
+- _keyboard->add_action ("select_loop_7", bind (mem_fun (*this, &MainPanel::select_loop_action), 7));
+- _keyboard->add_action ("select_loop_8", bind (mem_fun (*this, &MainPanel::select_loop_action), 8));
+- _keyboard->add_action ("select_loop_9", bind (mem_fun (*this, &MainPanel::select_loop_action), 9));
+- _keyboard->add_action ("select_loop_all", bind (mem_fun (*this, &MainPanel::select_loop_action), 0));
++ _keyboard->add_action ("delay", sigc::bind(mem_fun (*this, &MainPanel::misc_action), wxT("delay")));
++ _keyboard->add_action ("taptempo", sigc::bind(mem_fun (*this, &MainPanel::misc_action), wxT("taptempo")));
++ _keyboard->add_action ("load", sigc::bind(mem_fun (*this, &MainPanel::misc_action), wxT("load")));
++ _keyboard->add_action ("save", sigc::bind(mem_fun (*this, &MainPanel::misc_action), wxT("save")));
++ _keyboard->add_action ("cancel_midi_learn", sigc::bind(mem_fun (*this, &MainPanel::misc_action), wxT("cancel_learn")));
++
++ _keyboard->add_action ("select_prev_loop", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), -2));
++ _keyboard->add_action ("select_next_loop", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), -1));
++ _keyboard->add_action ("select_loop_1", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 1));
++ _keyboard->add_action ("select_loop_2", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 2));
++ _keyboard->add_action ("select_loop_3", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 3));
++ _keyboard->add_action ("select_loop_4", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 4));
++ _keyboard->add_action ("select_loop_5", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 5));
++ _keyboard->add_action ("select_loop_6", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 6));
++ _keyboard->add_action ("select_loop_7", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 7));
++ _keyboard->add_action ("select_loop_8", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 8));
++ _keyboard->add_action ("select_loop_9", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 9));
++ _keyboard->add_action ("select_loop_all", sigc::bind(mem_fun (*this, &MainPanel::select_loop_action), 0));
+
+
+ // these are the defaults... they get overridden by rc file
diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc26.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc26.patch
deleted file mode 100644
index 51ac10c33789..000000000000
--- a/media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc26.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-diff -ur a/sooperlooper-1.7.3/src/control_osc.hpp b/sooperlooper-1.7.3/src/control_osc.hpp
---- a/sooperlooper-1.7.3/src/control_osc.hpp 2013-10-18 18:37:39.000000000 +0300
-+++ b/sooperlooper-1.7.3/src/control_osc.hpp 2015-12-05 01:40:01.848107565 +0200
-@@ -27,7 +27,7 @@
- #include <list>
- #include <utility>
-
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
-
- #include "event.hpp"
- #include "event_nonrt.hpp"
-diff -ur a/sooperlooper-1.7.3/src/gui/app_frame.hpp b/sooperlooper-1.7.3/src/gui/app_frame.hpp
---- a/sooperlooper-1.7.3/src/gui/app_frame.hpp 2014-02-03 18:52:15.000000000 +0200
-+++ b/sooperlooper-1.7.3/src/gui/app_frame.hpp 2015-12-05 01:40:01.844774250 +0200
-@@ -26,7 +26,7 @@
- #include <string>
- #include <vector>
-
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
- #include <sigc++/signal.h>
- #include <sigc++/connection.h>
-
-diff -ur a/sooperlooper-1.7.3/src/gui/config_panel.hpp b/sooperlooper-1.7.3/src/gui/config_panel.hpp
---- a/sooperlooper-1.7.3/src/gui/config_panel.hpp 2013-10-18 18:37:39.000000000 +0300
-+++ b/sooperlooper-1.7.3/src/gui/config_panel.hpp 2015-12-05 01:40:01.841440935 +0200
-@@ -26,7 +26,7 @@
-
- #include <string>
- #include <vector>
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
-
- class wxListCtrl;
- class wxSpinCtrl;
-diff -ur a/sooperlooper-1.7.3/src/gui/keys_panel.hpp b/sooperlooper-1.7.3/src/gui/keys_panel.hpp
---- a/sooperlooper-1.7.3/src/gui/keys_panel.hpp 2013-10-18 18:37:39.000000000 +0300
-+++ b/sooperlooper-1.7.3/src/gui/keys_panel.hpp 2015-12-05 01:40:01.838107619 +0200
-@@ -26,7 +26,7 @@
-
- #include <string>
- #include <vector>
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
-
- class wxListCtrl;
-
-diff -ur a/sooperlooper-1.7.3/src/gui/latency_panel.hpp b/sooperlooper-1.7.3/src/gui/latency_panel.hpp
---- a/sooperlooper-1.7.3/src/gui/latency_panel.hpp 2013-10-18 18:37:39.000000000 +0300
-+++ b/sooperlooper-1.7.3/src/gui/latency_panel.hpp 2015-12-05 01:40:01.834774304 +0200
-@@ -26,7 +26,7 @@
-
- #include <string>
- #include <vector>
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
-
- class wxListCtrl;
-
-diff -ur a/sooperlooper-1.7.3/src/gui/main_panel.hpp b/sooperlooper-1.7.3/src/gui/main_panel.hpp
---- a/sooperlooper-1.7.3/src/gui/main_panel.hpp 2014-02-04 18:39:55.000000000 +0200
-+++ b/sooperlooper-1.7.3/src/gui/main_panel.hpp 2015-12-05 01:40:01.831440989 +0200
-@@ -26,7 +26,7 @@
- #include <string>
- #include <vector>
-
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
- #include <sigc++/signal.h>
- #include <sigc++/connection.h>
-
-diff -ur a/sooperlooper-1.7.3/src/gui/midi_bind_panel.hpp b/sooperlooper-1.7.3/src/gui/midi_bind_panel.hpp
---- a/sooperlooper-1.7.3/src/gui/midi_bind_panel.hpp 2013-10-18 18:37:39.000000000 +0300
-+++ b/sooperlooper-1.7.3/src/gui/midi_bind_panel.hpp 2015-12-05 01:40:01.828107674 +0200
-@@ -26,7 +26,7 @@
-
- #include <string>
- #include <vector>
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
- #include <list>
-
- #include <midi_bind.hpp>
-diff -ur a/sooperlooper-1.7.3/src/gui/prefs_dialog.hpp b/sooperlooper-1.7.3/src/gui/prefs_dialog.hpp
---- a/sooperlooper-1.7.3/src/gui/prefs_dialog.hpp 2013-10-18 18:37:39.000000000 +0300
-+++ b/sooperlooper-1.7.3/src/gui/prefs_dialog.hpp 2015-12-05 01:40:01.824774358 +0200
-@@ -26,7 +26,7 @@
-
- #include <string>
- #include <vector>
--#include <sigc++/object.h>
-+#include <sigc++/trackable.h>
-
- class wxListCtrl;
- class wxSpinCtrl; \ No newline at end of file
diff --git a/media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc28.patch b/media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc28.patch
new file mode 100644
index 000000000000..653303cfb55d
--- /dev/null
+++ b/media-sound/sooperlooper/files/sooperlooper-1.7.3-libsigc28.patch
@@ -0,0 +1,124 @@
+From 920443d3f7afb26f735f4002f3beed8766530d9b Mon Sep 17 00:00:00 2001
+From: vixus0 <vixus0@gmail.com>
+Date: Tue, 7 Jun 2016 22:06:02 +0100
+Subject: [PATCH] Update libsigc++ trackable header import
+
+The `object.h` header was removed in libsigc++ 2.5.2 and `sigc::trackable` is now provided
+in `trackable.h`.
+
+Original fix for Arch provided by AUR user sahquievaedoajie.
+---
+ src/control_osc.hpp | 2 +-
+ src/gui/app_frame.hpp | 2 +-
+ src/gui/config_panel.hpp | 2 +-
+ src/gui/keys_panel.hpp | 2 +-
+ src/gui/latency_panel.hpp | 2 +-
+ src/gui/main_panel.hpp | 2 +-
+ src/gui/midi_bind_panel.hpp | 2 +-
+ src/gui/prefs_dialog.hpp | 2 +-
+ 8 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/control_osc.hpp b/src/control_osc.hpp
+index 11b4e78..d83564f 100644
+--- a/src/control_osc.hpp
++++ b/src/control_osc.hpp
+@@ -27,7 +27,7 @@
+ #include <list>
+ #include <utility>
+
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+
+ #include "event.hpp"
+ #include "event_nonrt.hpp"
+diff --git a/src/gui/app_frame.hpp b/src/gui/app_frame.hpp
+index e24ff92..36cc18f 100644
+--- a/src/gui/app_frame.hpp
++++ b/src/gui/app_frame.hpp
+@@ -26,7 +26,7 @@
+ #include <string>
+ #include <vector>
+
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+ #include <sigc++/signal.h>
+ #include <sigc++/connection.h>
+
+diff --git a/src/gui/config_panel.hpp b/src/gui/config_panel.hpp
+index 2b413e9..46c849f 100644
+--- a/src/gui/config_panel.hpp
++++ b/src/gui/config_panel.hpp
+@@ -26,7 +26,7 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+
+ class wxListCtrl;
+ class wxSpinCtrl;
+diff --git a/src/gui/keys_panel.hpp b/src/gui/keys_panel.hpp
+index b2c5955..c028c8f 100644
+--- a/src/gui/keys_panel.hpp
++++ b/src/gui/keys_panel.hpp
+@@ -26,7 +26,7 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+
+ class wxListCtrl;
+
+diff --git a/src/gui/latency_panel.hpp b/src/gui/latency_panel.hpp
+index 07dc30f..847da2b 100644
+--- a/src/gui/latency_panel.hpp
++++ b/src/gui/latency_panel.hpp
+@@ -26,7 +26,7 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+
+ class wxListCtrl;
+
+diff --git a/src/gui/main_panel.hpp b/src/gui/main_panel.hpp
+index 0b4ac7d..64cba4c 100644
+--- a/src/gui/main_panel.hpp
++++ b/src/gui/main_panel.hpp
+@@ -26,7 +26,7 @@
+ #include <string>
+ #include <vector>
+
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+ #include <sigc++/signal.h>
+ #include <sigc++/connection.h>
+
+diff --git a/src/gui/midi_bind_panel.hpp b/src/gui/midi_bind_panel.hpp
+index e919cf2..0d05003 100644
+--- a/src/gui/midi_bind_panel.hpp
++++ b/src/gui/midi_bind_panel.hpp
+@@ -26,7 +26,7 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+ #include <list>
+
+ #include <midi_bind.hpp>
+diff --git a/src/gui/prefs_dialog.hpp b/src/gui/prefs_dialog.hpp
+index ea59db1..29fee16 100644
+--- a/src/gui/prefs_dialog.hpp
++++ b/src/gui/prefs_dialog.hpp
+@@ -26,7 +26,7 @@
+
+ #include <string>
+ #include <vector>
+-#include <sigc++/object.h>
++#include <sigc++/trackable.h>
+
+ class wxListCtrl;
+ class wxSpinCtrl;
diff --git a/media-sound/sooperlooper/sooperlooper-1.7.3-r1.ebuild b/media-sound/sooperlooper/sooperlooper-1.7.3-r2.ebuild
index 7364e6cd4648..5d2301bfa9d8 100644
--- a/media-sound/sooperlooper/sooperlooper-1.7.3-r1.ebuild
+++ b/media-sound/sooperlooper/sooperlooper-1.7.3-r2.ebuild
@@ -1,15 +1,16 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=6
WX_GTK_VER=3.0
-inherit autotools eutils flag-o-matic wxwidgets toolchain-funcs
+inherit autotools flag-o-matic 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"
+ mirror://gentoo/${PN}-1.6.5-m4.tar.bz2
+"
LICENSE="GPL-2"
SLOT="0"
@@ -19,28 +20,31 @@ IUSE="wxwidgets"
RDEPEND="
media-sound/jack-audio-connection-kit
>=media-libs/liblo-0.10
- >=dev-libs/libsigc++-2.2.10:2
+ >=dev-libs/libsigc++-2.8:2
>=media-libs/libsndfile-1.0.2
>=media-libs/libsamplerate-0.0.13
- dev-libs/libxml2
+ dev-libs/libxml2:2
>=media-libs/rubberband-0.0.13
- sci-libs/fftw:3.0
+ sci-libs/fftw:3.0=
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )
"
DEPEND="${RDEPEND}
virtual/pkgconfig
"
-S=${WORKDIR}/${P/_p*}
+S="${WORKDIR}/${P/_p*}"
DOCS=( OSC README )
-src_prepare() {
- epatch "${FILESDIR}"/${P}-libsigc26.patch
- epatch "${FILESDIR}"/${P}-wx3.0.patch
+PATCHES=(
+ "${FILESDIR}"/${P}-wx3.0.patch
+ "${FILESDIR}"/${P}-libsigc28.patch
+ "${FILESDIR}"/${P}-clash.patch
+)
+src_prepare() {
+ default
cp -rf "${WORKDIR}"/aclocal "${S}" || die "copying aclocal failed"
-
AT_M4DIR="${S}"/aclocal eautoreconf
}