From 0e048dee411cc20beb2a8667e5bb339f9b7fb939 Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Sat, 17 May 2014 21:27:52 +0200
Subject: New resample feature on output channels.

---
 lv2/Makefile.am | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

(limited to 'lv2')

diff --git a/lv2/Makefile.am b/lv2/Makefile.am
index a714dce..9939131 100644
--- a/lv2/Makefile.am
+++ b/lv2/Makefile.am
@@ -3,12 +3,6 @@ if ENABLE_LV2
 include $(top_srcdir)/plugingui/Makefile.am.plugingui
 include $(top_srcdir)/src/Makefile.am.drumgizmo
 
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \
-	-I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \
-	$(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(LV2_CFLAGS) \
-	$(PLUGIN_GUI_CFLAGS) $(SSEFLAGS)\
-	-DUSE_THREAD $(SAMPLERATE_CFLAGS)
-
 plugindir = $(prefix)/lib/lv2/drumgizmo.lv2
 plugin_LTLIBRARIES = drumgizmo.la
 plugin_DATA = manifest.ttl drumgizmo.ttl
@@ -21,6 +15,12 @@ EXTRA_DIST = \
 	lv2_gui.h \
 	lv2_instance.h
 
+drumgizmo_la_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/plugingui \
+	-I$(top_srcdir)/include $(SNDFILE_CXXFLAGS) \
+	$(PTHREAD_CFLAGS) $(EXPAT_CFLAGS) $(LV2_CFLAGS) \
+	$(PLUGIN_GUI_CFLAGS) $(SSEFLAGS) $(ZITA_CPPFLAGS) \
+	-DUSE_THREAD $(SAMPLERATE_CFLAGS)
+
 drumgizmo_la_SOURCES = \
 	$(DRUMGIZMO_SOURCES) \
 	$(PLUGIN_GUI_SOURCES) \
-- 
cgit v1.2.3


From 5fbec7c02c6677d701675bfcfd529bb646b4bea8 Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Sat, 4 Oct 2014 17:31:19 +0200
Subject: Add samplerate() method to lv2 output engine.

---
 lv2/lv2.cc        |  2 +-
 lv2/output_lv2.cc | 22 ++++++----------------
 lv2/output_lv2.h  |  6 +++++-
 3 files changed, 12 insertions(+), 18 deletions(-)

(limited to 'lv2')

diff --git a/lv2/lv2.cc b/lv2/lv2.cc
index 3aeb5f0..9ec7706 100644
--- a/lv2/lv2.cc
+++ b/lv2/lv2.cc
@@ -248,7 +248,7 @@ LV2_Handle instantiate(const struct _LV2_Descriptor *descriptor,
   dg_descriptor.get_pci = dg_get_pci;
 
   dglv2->in = new InputLV2();
-  dglv2->out = new OutputLV2();
+  dglv2->out = new OutputLV2(sample_rate);
 
   dglv2->buffer = NULL;
   dglv2->buffer_size = 0;
diff --git a/lv2/output_lv2.cc b/lv2/output_lv2.cc
index 8187a5a..b4a6877 100644
--- a/lv2/output_lv2.cc
+++ b/lv2/output_lv2.cc
@@ -28,8 +28,9 @@
 
 #include <string.h>
 
-OutputLV2::OutputLV2()
+OutputLV2::OutputLV2(double sample_rate)
 {
+  this->sample_rate = sample_rate;
   for(size_t i = 0; i < NUM_OUTPUTS; i++) {
     outputPorts[i].size = 0;
     outputPorts[i].samples = NULL;
@@ -83,19 +84,8 @@ sample_t *OutputLV2::getBuffer(int ch)
   return NULL;
 }
 
-#ifdef TEST_OUTPUT_LV2
-//Additional dependency files
-//deps:
-//Required cflags (autoconf vars may be used)
-//cflags:
-//Required link options (autoconf vars may be used)
-//libs:
-#include "test.h"
-
-TEST_BEGIN;
-
-// TODO: Put some testcode here (see test.h for usable macros).
-
-TEST_END;
+size_t OutputLV2::samplerate()
+{
+  return sample_rate;
+}
 
-#endif/*TEST_OUTPUT_LV2*/
diff --git a/lv2/output_lv2.h b/lv2/output_lv2.h
index 1b4e8c9..272a78c 100644
--- a/lv2/output_lv2.h
+++ b/lv2/output_lv2.h
@@ -39,7 +39,7 @@ public:
 
 class OutputLV2 : public AudioOutputEngine {
 public:
-  OutputLV2();
+  OutputLV2(double sample_rate);
   ~OutputLV2();
 
   bool init(Channels channels);
@@ -54,9 +54,13 @@ public:
   void post(size_t nsamples);
 
   sample_t *getBuffer(int c);
+  
+  size_t samplerate();
 
   //  sample_t *outputPort[NUM_OUTPUTS];
   OutputPort outputPorts[NUM_OUTPUTS];
+
+  double sample_rate;
 };
 
 #endif/*__DRUMGIZMO_OUTPUT_LV2_H__*/
-- 
cgit v1.2.3


From b49dd62df721b2d965c995e69340b085d3489bf6 Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Thu, 16 Oct 2014 19:14:00 +0200
Subject: Quick and dirty fix for LV2 UI crash.

---
 lv2/lv2_gui.cc | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

(limited to 'lv2')

diff --git a/lv2/lv2_gui.cc b/lv2/lv2_gui.cc
index 7b56c5b..625c7f7 100644
--- a/lv2/lv2_gui.cc
+++ b/lv2/lv2_gui.cc
@@ -120,24 +120,31 @@ struct DG_GUI {
 
 static void ui_run(struct lv2_external_ui * _this_)
 {
+  //printf("ui_run begin\n"); fflush(stdout);
   struct DG_GUI *dggui = (struct DG_GUI *)_this_;
   dggui->gui->processEvents();
+  //printf("ui_run end\n"); fflush(stdout);
 }
 
 static void ui_show(struct lv2_external_ui * _this_)
 {
+  //printf("ui_show begin\n"); fflush(stdout);
   struct DG_GUI *dggui = (struct DG_GUI *)_this_;
   dggui->gui->show();
+  //printf("ui_show end\n"); fflush(stdout);
 }
 
 static void ui_hide(struct lv2_external_ui * _this_)
 {
+  //printf("ui_hide begin\n"); fflush(stdout);
   struct DG_GUI *dggui = (struct DG_GUI *)_this_;
   if(dggui->gui) dggui->gui->hide();
+  //printf("ui_hide end\n"); fflush(stdout);
 }
 
 static void closeHandler(void *ptr)
 {
+  //printf("closeHandler begin\n"); fflush(stdout);
   struct DG_GUI *gui = (struct DG_GUI *)ptr;
 
   if(gui->ui_host_ptr && gui->ui_host_ptr->ui_closed) {
@@ -146,6 +153,7 @@ static void closeHandler(void *ptr)
 
   delete gui->gui;
   gui->gui = NULL;
+  //printf("closeHandler end\n"); fflush(stdout);
 }
 
 static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
@@ -156,7 +164,7 @@ static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
                                    LV2UI_Widget * widget,
                                    const LV2_Feature * const * features)
 {
-  printf("ui_instantiate\n");
+  //printf("ui_instantiate begin\n"); fflush(stdout);
 
   struct DG_GUI* pt = new struct DG_GUI;
 
@@ -167,7 +175,7 @@ static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
     std::string uri = (*features)->URI;
     void *data = (*features)->data;
 
-    printf("DGUI: feature: %s\n", uri.c_str());
+    //printf("DGUI: feature: %s\n", uri.c_str());
 
     if(uri == LV2_INSTANCE_ACCESS_URI) {
       pt->instance_handle = data;
@@ -195,6 +203,8 @@ static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
 
   *widget = (LV2UI_Widget)pt;
 
+  //printf("ui_instantiate end\n"); fflush(stdout);
+
   return pt;
 }
 
-- 
cgit v1.2.3


From 7f515019b2668cab22b6d12766f136334d9e26dc Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Fri, 17 Oct 2014 11:38:52 +0200
Subject: Remove debug.

---
 lv2/lv2_gui.cc | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

(limited to 'lv2')

diff --git a/lv2/lv2_gui.cc b/lv2/lv2_gui.cc
index 625c7f7..7b56c5b 100644
--- a/lv2/lv2_gui.cc
+++ b/lv2/lv2_gui.cc
@@ -120,31 +120,24 @@ struct DG_GUI {
 
 static void ui_run(struct lv2_external_ui * _this_)
 {
-  //printf("ui_run begin\n"); fflush(stdout);
   struct DG_GUI *dggui = (struct DG_GUI *)_this_;
   dggui->gui->processEvents();
-  //printf("ui_run end\n"); fflush(stdout);
 }
 
 static void ui_show(struct lv2_external_ui * _this_)
 {
-  //printf("ui_show begin\n"); fflush(stdout);
   struct DG_GUI *dggui = (struct DG_GUI *)_this_;
   dggui->gui->show();
-  //printf("ui_show end\n"); fflush(stdout);
 }
 
 static void ui_hide(struct lv2_external_ui * _this_)
 {
-  //printf("ui_hide begin\n"); fflush(stdout);
   struct DG_GUI *dggui = (struct DG_GUI *)_this_;
   if(dggui->gui) dggui->gui->hide();
-  //printf("ui_hide end\n"); fflush(stdout);
 }
 
 static void closeHandler(void *ptr)
 {
-  //printf("closeHandler begin\n"); fflush(stdout);
   struct DG_GUI *gui = (struct DG_GUI *)ptr;
 
   if(gui->ui_host_ptr && gui->ui_host_ptr->ui_closed) {
@@ -153,7 +146,6 @@ static void closeHandler(void *ptr)
 
   delete gui->gui;
   gui->gui = NULL;
-  //printf("closeHandler end\n"); fflush(stdout);
 }
 
 static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
@@ -164,7 +156,7 @@ static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
                                    LV2UI_Widget * widget,
                                    const LV2_Feature * const * features)
 {
-  //printf("ui_instantiate begin\n"); fflush(stdout);
+  printf("ui_instantiate\n");
 
   struct DG_GUI* pt = new struct DG_GUI;
 
@@ -175,7 +167,7 @@ static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
     std::string uri = (*features)->URI;
     void *data = (*features)->data;
 
-    //printf("DGUI: feature: %s\n", uri.c_str());
+    printf("DGUI: feature: %s\n", uri.c_str());
 
     if(uri == LV2_INSTANCE_ACCESS_URI) {
       pt->instance_handle = data;
@@ -203,8 +195,6 @@ static LV2UI_Handle ui_instantiate(const struct _LV2UI_Descriptor * descriptor,
 
   *widget = (LV2UI_Widget)pt;
 
-  //printf("ui_instantiate end\n"); fflush(stdout);
-
   return pt;
 }
 
-- 
cgit v1.2.3


From 618ccf981bf16e848912cf8c4d72f58c7134642a Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Mon, 3 Nov 2014 18:55:03 +0100
Subject: Use Drumgizmo::setSamplerate to control resampler target samplerate.

---
 lv2/lv2.cc        | 2 +-
 lv2/output_lv2.cc | 9 +--------
 lv2/output_lv2.h  | 4 +---
 3 files changed, 3 insertions(+), 12 deletions(-)

(limited to 'lv2')

diff --git a/lv2/lv2.cc b/lv2/lv2.cc
index 9ec7706..3aeb5f0 100644
--- a/lv2/lv2.cc
+++ b/lv2/lv2.cc
@@ -248,7 +248,7 @@ LV2_Handle instantiate(const struct _LV2_Descriptor *descriptor,
   dg_descriptor.get_pci = dg_get_pci;
 
   dglv2->in = new InputLV2();
-  dglv2->out = new OutputLV2(sample_rate);
+  dglv2->out = new OutputLV2();
 
   dglv2->buffer = NULL;
   dglv2->buffer_size = 0;
diff --git a/lv2/output_lv2.cc b/lv2/output_lv2.cc
index b4a6877..ef2500b 100644
--- a/lv2/output_lv2.cc
+++ b/lv2/output_lv2.cc
@@ -28,9 +28,8 @@
 
 #include <string.h>
 
-OutputLV2::OutputLV2(double sample_rate)
+OutputLV2::OutputLV2()
 {
-  this->sample_rate = sample_rate;
   for(size_t i = 0; i < NUM_OUTPUTS; i++) {
     outputPorts[i].size = 0;
     outputPorts[i].samples = NULL;
@@ -83,9 +82,3 @@ sample_t *OutputLV2::getBuffer(int ch)
   if(ch < NUM_OUTPUTS) return outputPorts[ch].samples;
   return NULL;
 }
-
-size_t OutputLV2::samplerate()
-{
-  return sample_rate;
-}
-
diff --git a/lv2/output_lv2.h b/lv2/output_lv2.h
index 272a78c..c23cf2f 100644
--- a/lv2/output_lv2.h
+++ b/lv2/output_lv2.h
@@ -39,7 +39,7 @@ public:
 
 class OutputLV2 : public AudioOutputEngine {
 public:
-  OutputLV2(double sample_rate);
+  OutputLV2();
   ~OutputLV2();
 
   bool init(Channels channels);
@@ -59,8 +59,6 @@ public:
 
   //  sample_t *outputPort[NUM_OUTPUTS];
   OutputPort outputPorts[NUM_OUTPUTS];
-
-  double sample_rate;
 };
 
 #endif/*__DRUMGIZMO_OUTPUT_LV2_H__*/
-- 
cgit v1.2.3


From fc26537a907497eaf60aac0235e813fe8a26b23a Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Mon, 3 Nov 2014 18:58:11 +0100
Subject: Use Drumgizmo::setSamplerate to control resampler target samplerate.

---
 lv2/output_lv2.h | 2 --
 1 file changed, 2 deletions(-)

(limited to 'lv2')

diff --git a/lv2/output_lv2.h b/lv2/output_lv2.h
index c23cf2f..1b4e8c9 100644
--- a/lv2/output_lv2.h
+++ b/lv2/output_lv2.h
@@ -54,8 +54,6 @@ public:
   void post(size_t nsamples);
 
   sample_t *getBuffer(int c);
-  
-  size_t samplerate();
 
   //  sample_t *outputPort[NUM_OUTPUTS];
   OutputPort outputPorts[NUM_OUTPUTS];
-- 
cgit v1.2.3