[SCM] gsequencer/master: added wishlist patches to enabled built-in effects in automation editor
jkraehemann-guest at users.alioth.debian.org
jkraehemann-guest at users.alioth.debian.org
Thu Feb 2 07:08:42 UTC 2017
The following commit has been merged in the master branch:
commit 9e5c2972b8be250753be0e71cfb9cb27127eeedb
Author: Joël Krähemann <jkraehemann-guest at users.alioth.debian.org>
Date: Thu Feb 2 08:07:28 2017 +0100
added wishlist patches to enabled built-in effects in automation editor
diff --git a/debian/patches/series b/debian/patches/series
index bf4f16f..5b88c21 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,8 @@
+wish-volume-channel.patch
+wish-volume-audio-signal.patch
+wish-mute-channel.patch
+wish-mute-audio.patch
+wish-mute-audio-signal.patch
fix-jack-midiin.patch
fix-xorg-application-context.patch
fix-thread-posix.patch
diff --git a/debian/patches/wish-mute-audio-signal.patch b/debian/patches/wish-mute-audio-signal.patch
new file mode 100644
index 0000000..3183188
--- /dev/null
+++ b/debian/patches/wish-mute-audio-signal.patch
@@ -0,0 +1,33 @@
+Description: This is a wishlist patch. It uses the modified AgsPort type of
+ ags-mute recall in order to use the built-in effect by automation.
+Author: Joël Krähmann <jkraehemann at gmail.com>
+Applied-Upstream: 0.7.122.x, http://git.savannah.gnu.org/cgit/gsequencer.git
+Last-Update: 2017-02-02
+--- a/ags/audio/recall/ags_mute_audio_signal.c
++++ b/ags/audio/recall/ags_mute_audio_signal.c
+@@ -245,21 +245,21 @@
+ /* check channel */
+ mute_channel = AGS_MUTE_CHANNEL(AGS_RECALL_CHANNEL_RUN(recall->parent->parent)->recall_channel);
+
+- g_value_init(&channel_value, G_TYPE_BOOLEAN);
++ g_value_init(&channel_value, G_TYPE_FLOAT);
+ ags_port_safe_read(mute_channel->muted,
+ &channel_value);
+
+- channel_muted = g_value_get_boolean(&channel_value);
++ channel_muted = (gboolean) g_value_get_float(&channel_value);
+ g_value_unset(&channel_value);
+
+ /* check audio */
+ mute_audio = AGS_MUTE_AUDIO(AGS_RECALL_CONTAINER(AGS_RECALL(mute_channel)->container)->recall_audio);
+
+- g_value_init(&audio_value, G_TYPE_BOOLEAN);
++ g_value_init(&audio_value, G_TYPE_FLOAT);
+ ags_port_safe_read(mute_audio->muted,
+ &audio_value);
+
+- audio_muted = g_value_get_boolean(&audio_value);
++ audio_muted = (gboolean) g_value_get_float(&audio_value);
+ g_value_unset(&audio_value);
+
+ /* if not muted return */
diff --git a/debian/patches/wish-mute-audio.patch b/debian/patches/wish-mute-audio.patch
new file mode 100644
index 0000000..a03766f
--- /dev/null
+++ b/debian/patches/wish-mute-audio.patch
@@ -0,0 +1,128 @@
+Description: This is a wishlist patch. It modifies AgsPort type of ags-mute recall
+ in order to use the built-in effect by automation. Further it loads the automation
+ port during ags_automation_connect().
+Author: Joël Krähmann <jkraehemann at gmail.com>
+Applied-Upstream: 0.7.122.x, http://git.savannah.gnu.org/cgit/gsequencer.git
+Last-Update: 2017-02-02
+--- a/ags/audio/recall/ags_mute_audio.c
++++ b/ags/audio/recall/ags_mute_audio.c
+@@ -23,6 +23,8 @@
+ #include <ags/object/ags_mutable.h>
+ #include <ags/object/ags_plugin.h>
+
++#include <ags/plugin/ags_base_plugin.h>
++
+ void ags_mute_audio_class_init(AgsMuteAudioClass *mute_audio);
+ void ags_mute_audio_connectable_interface_init(AgsConnectableInterface *connectable);
+ void ags_mute_audio_mutable_interface_init(AgsMutableInterface *mutable);
+@@ -43,6 +45,8 @@
+
+ void ags_mute_audio_set_muted(AgsMutable *mutable, gboolean muted);
+
++static AgsPortDescriptor* ags_mute_audio_get_muted_port_descriptor();
++
+ /**
+ * SECTION:ags_mute_audio
+ * @short_description: mute audio
+@@ -181,20 +185,26 @@
+
+ port = NULL;
+
++ /* muted */
+ mute_audio->muted = g_object_new(AGS_TYPE_PORT,
+ "plugin-name\0", "ags-mute\0",
+ "specifier\0", "./muted[0]\0",
+ "control-port\0", "1/1\0",
+ "port-value-is-pointer\0", FALSE,
+- "port-value-type\0", G_TYPE_BOOLEAN,
+- "port-value-size\0", sizeof(gboolean),
++ "port-value-type\0", G_TYPE_FLOAT,
++ "port-value-size\0", sizeof(gfloat),
+ "port-value-length\0", 1,
+ NULL);
+- mute_audio->muted->port_value.ags_port_boolean = FALSE;
++
++ mute_audio->muted->port_value.ags_port_float = (float) FALSE;
+
++ /* port descriptor */
++ mute_audio->muted->port_descriptor = ags_mute_audio_get_muted_port_descriptor();
++
++ /* add to port */
+ port = g_list_prepend(port, mute_audio->muted);
+
+- /* */
++ /* set port */
+ AGS_RECALL(mute_audio)->port = port;
+ }
+
+@@ -262,9 +272,20 @@
+ void
+ ags_mute_audio_connect(AgsConnectable *connectable)
+ {
+- ags_mute_audio_parent_connectable_interface->connect(connectable);
++ AgsRecall *recall;
++
++ recall = AGS_RECALL(connectable);
++
++ if((AGS_RECALL_CONNECTED & (recall->flags)) != 0){
++ return;
++ }
+
+- /* empty */
++ /* load automation */
++ ags_recall_load_automation(recall,
++ g_list_copy(recall->port));
++
++ /* call parent */
++ ags_mute_audio_parent_connectable_interface->connect(connectable);
+ }
+
+ void
+@@ -311,12 +332,45 @@
+ {
+ GValue value = {0,};
+
+- g_value_init(&value, G_TYPE_BOOLEAN);
+- g_value_set_boolean(&value, muted);
++ g_value_init(&value, G_TYPE_FLOAT);
++ g_value_set_float(&value, (float) muted);
+
+ ags_port_safe_write(AGS_MUTE_AUDIO(mutable)->muted, &value);
+ }
+
++static AgsPortDescriptor*
++ags_mute_audio_get_muted_port_descriptor()
++{
++ static AgsPortDescriptor *port_descriptor = NULL;
++
++ if(port_descriptor == NULL){
++ port_descriptor = ags_port_descriptor_alloc();
++
++ port_descriptor->flags |= (AGS_PORT_DESCRIPTOR_INPUT |
++ AGS_PORT_DESCRIPTOR_CONTROL |
++ AGS_PORT_DESCRIPTOR_TOGGLED);
++
++ port_descriptor->port_index = 0;
++
++ /* range */
++ g_value_init(port_descriptor->default_value,
++ G_TYPE_FLOAT);
++ g_value_init(port_descriptor->lower_value,
++ G_TYPE_FLOAT);
++ g_value_init(port_descriptor->upper_value,
++ G_TYPE_FLOAT);
++
++ g_value_set_float(port_descriptor->default_value,
++ 0.0);
++ g_value_set_float(port_descriptor->lower_value,
++ 0.0);
++ g_value_set_float(port_descriptor->upper_value,
++ 1.0);
++ }
++
++ return(port_descriptor);
++}
++
+ /**
+ * ags_mute_audio_new:
+ *
diff --git a/debian/patches/wish-mute-channel.patch b/debian/patches/wish-mute-channel.patch
new file mode 100644
index 0000000..cd16244
--- /dev/null
+++ b/debian/patches/wish-mute-channel.patch
@@ -0,0 +1,127 @@
+Description: This is a wishlist patch. It modifies AgsPort type of ags-mute recall
+ in order to use the built-in effect by automation. Further it loads the automation
+ port during ags_automation_connect().
+Author: Joël Krähmann <jkraehemann at gmail.com>
+Applied-Upstream: 0.7.122.x, http://git.savannah.gnu.org/cgit/gsequencer.git
+Last-Update: 2017-02-02
+--- a/ags/audio/recall/ags_mute_channel.c
++++ b/ags/audio/recall/ags_mute_channel.c
+@@ -23,6 +23,8 @@
+ #include <ags/object/ags_mutable.h>
+ #include <ags/object/ags_plugin.h>
+
++#include <ags/plugin/ags_base_plugin.h>
++
+ void ags_mute_channel_class_init(AgsMuteChannelClass *mute_channel);
+ void ags_mute_channel_connectable_interface_init(AgsConnectableInterface *connectable);
+ void ags_mute_channel_mutable_interface_init(AgsMutableInterface *mutable);
+@@ -43,6 +45,8 @@
+
+ void ags_mute_channel_set_muted(AgsMutable *mutable, gboolean muted);
+
++static AgsPortDescriptor* ags_mute_channel_get_muted_port_descriptor();
++
+ /**
+ * SECTION:ags_mute_channel
+ * @short_description: mutes channel
+@@ -181,19 +185,26 @@
+
+ port = NULL;
+
++ /* muted */
+ mute_channel->muted = g_object_new(AGS_TYPE_PORT,
+ "plugin-name\0", "ags-mute\0",
+ "specifier\0", "./muted[0]\0",
+ "control-port\0", "1/1\0",
+ "port-value-is-pointer\0", FALSE,
+- "port-value-type\0", G_TYPE_BOOLEAN,
+- "port-value-size\0", sizeof(gboolean),
++ "port-value-type\0", G_TYPE_FLOAT,
++ "port-value-size\0", sizeof(gfloat),
+ "port-value-length\0", 1,
+ NULL);
+- mute_channel->muted->port_value.ags_port_boolean = FALSE;
+
++ mute_channel->muted->port_value.ags_port_float = (float) FALSE;
++
++ /* port descriptor */
++ mute_channel->muted->port_descriptor = ags_mute_channel_get_muted_port_descriptor();
++
++ /* add to port */
+ port = g_list_prepend(port, mute_channel->muted);
+
++ /* set port */
+ AGS_RECALL(mute_channel)->port = port;
+ }
+
+@@ -260,9 +271,20 @@
+ void
+ ags_mute_channel_connect(AgsConnectable *connectable)
+ {
+- ags_mute_channel_parent_connectable_interface->connect(connectable);
++ AgsRecall *recall;
++
++ recall = AGS_RECALL(connectable);
++
++ if((AGS_RECALL_CONNECTED & (recall->flags)) != 0){
++ return;
++ }
+
+- /* empty */
++ /* load automation */
++ ags_recall_load_automation(recall,
++ g_list_copy(recall->port));
++
++ /* call parent */
++ ags_mute_channel_parent_connectable_interface->connect(connectable);
+ }
+
+ void
+@@ -309,12 +331,45 @@
+ {
+ GValue value = {0,};
+
+- g_value_init(&value, G_TYPE_BOOLEAN);
+- g_value_set_boolean(&value, muted);
++ g_value_init(&value, G_TYPE_FLOAT);
++ g_value_set_float(&value, (float) muted);
+
+ ags_port_safe_write(AGS_MUTE_CHANNEL(mutable)->muted, &value);
+ }
+
++static AgsPortDescriptor*
++ags_mute_channel_get_muted_port_descriptor()
++{
++ static AgsPortDescriptor *port_descriptor = NULL;
++
++ if(port_descriptor == NULL){
++ port_descriptor = ags_port_descriptor_alloc();
++
++ port_descriptor->flags |= (AGS_PORT_DESCRIPTOR_INPUT |
++ AGS_PORT_DESCRIPTOR_CONTROL |
++ AGS_PORT_DESCRIPTOR_TOGGLED);
++
++ port_descriptor->port_index = 0;
++
++ /* range */
++ g_value_init(port_descriptor->default_value,
++ G_TYPE_FLOAT);
++ g_value_init(port_descriptor->lower_value,
++ G_TYPE_FLOAT);
++ g_value_init(port_descriptor->upper_value,
++ G_TYPE_FLOAT);
++
++ g_value_set_float(port_descriptor->default_value,
++ 0.0);
++ g_value_set_float(port_descriptor->lower_value,
++ 0.0);
++ g_value_set_float(port_descriptor->upper_value,
++ 1.0);
++ }
++
++ return(port_descriptor);
++}
++
+ /**
+ * ags_mute_channel_new:
+ *
diff --git a/debian/patches/wish-volume-audio-signal.patch b/debian/patches/wish-volume-audio-signal.patch
new file mode 100644
index 0000000..f04b570
--- /dev/null
+++ b/debian/patches/wish-volume-audio-signal.patch
@@ -0,0 +1,20 @@
+Description: This is a wishlist patch. It uses the modified AgsPort type of
+ ags-volume recall in order to use the built-in effect by automation.
+Author: Joël Krähmann <jkraehemann at gmail.com>
+Applied-Upstream: 0.7.122.x, http://git.savannah.gnu.org/cgit/gsequencer.git
+Last-Update: 2017-02-02
+--- a/ags/audio/recall/ags_volume_audio_signal.c
++++ b/ags/audio/recall/ags_volume_audio_signal.c
+@@ -231,10 +231,10 @@
+ buffer = (signed short *) AGS_RECALL_AUDIO_SIGNAL(recall)->source->stream_current->data;
+ buffer_size = AGS_RECALL_AUDIO_SIGNAL(recall)->source->buffer_size;
+
+- g_value_init(&value, G_TYPE_DOUBLE);
++ g_value_init(&value, G_TYPE_FLOAT);
+ ags_port_safe_read(volume_channel->volume, &value);
+
+- volume = g_value_get_double(&value);
++ volume = g_value_get_float(&value);
+
+ for(i = 0; i < buffer_size; i++){
+ switch(AGS_RECALL_AUDIO_SIGNAL(recall)->source->format){
diff --git a/debian/patches/wish-volume-channel.patch b/debian/patches/wish-volume-channel.patch
new file mode 100644
index 0000000..1f74972
--- /dev/null
+++ b/debian/patches/wish-volume-channel.patch
@@ -0,0 +1,115 @@
+Description: This is a wishlist patch. It modifies AgsPort type of ags-volume recall
+ in order to use the built-in effect by automation. Further it loads the automation
+ port during ags_automation_connect().
+Author: Joël Krähmann <jkraehemann at gmail.com>
+Applied-Upstream: 0.7.122.x, http://git.savannah.gnu.org/cgit/gsequencer.git
+Last-Update: 2017-02-02
+--- a/ags/audio/recall/ags_volume_channel.c
++++ b/ags/audio/recall/ags_volume_channel.c
+@@ -20,9 +20,10 @@
+ #include <ags/audio/recall/ags_volume_channel.h>
+
+ #include <ags/object/ags_connectable.h>
+-
+ #include <ags/object/ags_plugin.h>
+
++#include <ags/plugin/ags_base_plugin.h>
++
+ void ags_volume_channel_class_init(AgsVolumeChannelClass *volume_channel);
+ void ags_volume_channel_connectable_interface_init(AgsConnectableInterface *connectable);
+ void ags_volume_channel_plugin_interface_init(AgsPluginInterface *plugin);
+@@ -40,6 +41,8 @@
+ void ags_volume_channel_set_ports(AgsPlugin *plugin, GList *port);
+ void ags_volume_channel_finalize(GObject *gobject);
+
++static AgsPortDescriptor* ags_volume_channel_get_volume_port_descriptor();
++
+ /**
+ * SECTION:ags_volume_channel
+ * @short_description: volumes channel
+@@ -174,15 +177,20 @@
+ "specifier\0", "./volume[0]\0",
+ "control-port\0", "1/1\0",
+ "port-value-is-pointer\0", FALSE,
+- "port-value-type\0", G_TYPE_DOUBLE,
+- "port-value-size\0", sizeof(gdouble),
++ "port-value-type\0", G_TYPE_FLOAT,
++ "port-value-size\0", sizeof(gfloat),
+ "port-value-length", 1,
+ NULL);
+
+- volume_channel->volume->port_value.ags_port_double = 1.0;
++ volume_channel->volume->port_value.ags_port_float = 1.0;
++
++ /* port descriptor */
++ volume_channel->volume->port_descriptor = ags_volume_channel_get_volume_port_descriptor();
+
++ /* add to port */
+ port = g_list_prepend(port, volume_channel->volume);
+
++ /* set port */
+ AGS_RECALL(volume_channel)->port = port;
+ }
+
+@@ -249,9 +257,20 @@
+ void
+ ags_volume_channel_connect(AgsConnectable *connectable)
+ {
+- ags_volume_channel_parent_connectable_interface->connect(connectable);
++ AgsRecall *recall;
++
++ recall = AGS_RECALL(connectable);
++
++ if((AGS_RECALL_CONNECTED & (recall->flags)) != 0){
++ return;
++ }
+
+- /* empty */
++ /* load automation */
++ ags_recall_load_automation(recall,
++ g_list_copy(recall->port));
++
++ /* call parent */
++ ags_volume_channel_parent_connectable_interface->connect(connectable);
+ }
+
+ void
+@@ -293,6 +312,38 @@
+ G_OBJECT_CLASS(ags_volume_channel_parent_class)->finalize(gobject);
+ }
+
++static AgsPortDescriptor*
++ags_volume_channel_get_volume_port_descriptor()
++{
++ static AgsPortDescriptor *port_descriptor = NULL;
++
++ if(port_descriptor == NULL){
++ port_descriptor = ags_port_descriptor_alloc();
++
++ port_descriptor->flags |= (AGS_PORT_DESCRIPTOR_INPUT |
++ AGS_PORT_DESCRIPTOR_CONTROL);
++
++ port_descriptor->port_index = 0;
++
++ /* range */
++ g_value_init(port_descriptor->default_value,
++ G_TYPE_FLOAT);
++ g_value_init(port_descriptor->lower_value,
++ G_TYPE_FLOAT);
++ g_value_init(port_descriptor->upper_value,
++ G_TYPE_FLOAT);
++
++ g_value_set_float(port_descriptor->default_value,
++ 1.0);
++ g_value_set_float(port_descriptor->lower_value,
++ 0.0);
++ g_value_set_float(port_descriptor->upper_value,
++ 2.0);
++ }
++
++ return(port_descriptor);
++}
++
+ /**
+ * ags_volume_channel_new:
+ *
--
gsequencer packaging
More information about the pkg-multimedia-commits
mailing list