[SCM] gsequencer/master: modified patches because boolean port fixes available
jkraehemann-guest at users.alioth.debian.org
jkraehemann-guest at users.alioth.debian.org
Wed Feb 8 11:11:15 UTC 2017
The following commit has been merged in the master branch:
commit 88b7344ba66188f0580f1abd3b6bda47ff64c8fb
Author: Joël Krähemann <jkraehemann-guest at users.alioth.debian.org>
Date: Wed Feb 8 11:55:47 2017 +0100
modified patches because boolean port fixes available
diff --git a/debian/patches/improved-generic-output-widget.patch b/debian/patches/improved-generic-output-widget.patch
index 64c0319..5d2f465 100644
--- a/debian/patches/improved-generic-output-widget.patch
+++ b/debian/patches/improved-generic-output-widget.patch
@@ -604,7 +604,7 @@ Last-Update: 2017-02-02
#include <ags/X/ags_plugin_browser.h>
void
-@@ -149,3 +160,129 @@
+@@ -149,3 +160,147 @@
pads_old);
}
}
@@ -630,17 +630,19 @@ Last-Update: 2017-02-02
+ (AGS_BULK_MEMBER(list->data)->widget_type == AGS_TYPE_VINDICATOR ||
+ AGS_BULK_MEMBER(list->data)->widget_type == AGS_TYPE_HINDICATOR ||
+ AGS_BULK_MEMBER(list->data)->widget_type == AGS_TYPE_LED)){
++ AgsBulkMember *bulk_member;
+ GtkAdjustment *adjustment;
+
+ gdouble average_peak;
-+
-+ child = GTK_BIN(list->data)->child;
++
++ bulk_member = AGS_BULK_MEMBER(list->data);
++ child = GTK_BIN(bulk_member)->child;
+
+ average_peak = 0.0;
+
+ /* copy port list */
-+ port_start = g_list_concat(g_list_copy(AGS_BULK_MEMBER(list->data)->bulk_port),
-+ g_list_copy(AGS_BULK_MEMBER(list->data)->recall_bulk_port));
++ port_start = g_list_concat(g_list_copy(bulk_member->bulk_port),
++ g_list_copy(bulk_member->recall_bulk_port));
+
+ /* get display value */
+ port = port_start;
@@ -668,7 +670,7 @@ Last-Update: 2017-02-02
+ if((AGS_PORT_IS_OUTPUT & (current->flags)) == 0 ||
+ current->port_descriptor == NULL ||
+ g_ascii_strcasecmp(current->specifier,
-+ AGS_BULK_MEMBER(list->data)->specifier)){
++ bulk_member->specifier)){
+ pthread_mutex_unlock(current->mutex);
+
+ port = port->next;
@@ -683,6 +685,16 @@ Last-Update: 2017-02-02
+ pthread_mutex_unlock(current->mutex);
+
+ /* get range */
++ if(bulk_member->conversion != NULL){
++ lower = ags_conversion_convert(bulk_member->conversion,
++ lower,
++ TRUE);
++
++ upper = ags_conversion_convert(bulk_member->conversion,
++ upper,
++ TRUE);
++ }
++
+ range = upper - lower;
+
+ /* port read value */
@@ -693,6 +705,12 @@ Last-Update: 2017-02-02
+ peak = g_value_get_float(&value);
+ g_value_unset(&value);
+
++ if(bulk_member->conversion != NULL){
++ peak = ags_conversion_convert(bulk_member->conversion,
++ peak,
++ TRUE);
++ }
++
+ /* calculate peak */
+ if(range == 0.0 ||
+ current->port_value_type == G_TYPE_BOOLEAN){
@@ -1290,7 +1308,7 @@ Last-Update: 2017-02-02
"spin button\0",
12)){
control_type_name = g_list_prepend(control_type_name,
-@@ -238,4 +252,134 @@
+@@ -238,4 +252,158 @@
/* unlock gdk threads */
gdk_threads_leave();
@@ -1316,6 +1334,7 @@ Last-Update: 2017-02-02
+ (AGS_LINE_MEMBER(list->data)->widget_type == AGS_TYPE_VINDICATOR ||
+ AGS_LINE_MEMBER(list->data)->widget_type == AGS_TYPE_HINDICATOR ||
+ AGS_LINE_MEMBER(list->data)->widget_type == AGS_TYPE_LED)){
++ AgsLineMember *line_member;
+ GtkAdjustment *adjustment;
+
+ AgsPort *current;
@@ -1327,12 +1346,13 @@ Last-Update: 2017-02-02
+
+ GValue value = {0,};
+
-+ child = GTK_BIN(list->data)->child;
++ line_member = AGS_LINE_MEMBER(list->data);
++ child = GTK_BIN(line_member)->child;
+
+ average_peak = 0.0;
+
+ /* play port */
-+ current = AGS_LINE_MEMBER(list->data)->port;
++ current = line_member->port;
+
+ if(current == NULL){
+ list = list->next;
@@ -1346,7 +1366,7 @@ Last-Update: 2017-02-02
+ if((AGS_PORT_IS_OUTPUT & (current->flags)) == 0 ||
+ current->port_descriptor == NULL ||
+ g_ascii_strcasecmp(current->specifier,
-+ AGS_LINE_MEMBER(list->data)->specifier)){
++ line_member->specifier)){
+ pthread_mutex_unlock(current->mutex);
+
+ list = list->next;
@@ -1361,6 +1381,16 @@ Last-Update: 2017-02-02
+ pthread_mutex_unlock(current->mutex);
+
+ /* get range */
++ if(line_member->conversion != NULL){
++ lower = ags_conversion_convert(line_member->conversion,
++ lower,
++ TRUE);
++
++ upper = ags_conversion_convert(line_member->conversion,
++ upper,
++ TRUE);
++ }
++
+ range = upper - lower;
+
+ /* play port - read value */
@@ -1371,6 +1401,12 @@ Last-Update: 2017-02-02
+ peak = g_value_get_float(&value);
+ g_value_unset(&value);
+
++ if(line_member->conversion != NULL){
++ peak = ags_conversion_convert(line_member->conversion,
++ peak,
++ TRUE);
++ }
++
+ /* calculate peak */
+ if(range == 0.0 ||
+ current->port_value_type == G_TYPE_BOOLEAN){
@@ -1382,7 +1418,7 @@ Last-Update: 2017-02-02
+ }
+
+ /* recall port */
-+ current = AGS_LINE_MEMBER(list->data)->recall_port;
++ current = line_member->recall_port;
+
+ /* recall port - read value */
+ g_value_init(&value, G_TYPE_FLOAT);
@@ -1391,6 +1427,12 @@ Last-Update: 2017-02-02
+
+ peak = g_value_get_float(&value);
+ g_value_unset(&value);
++
++ if(line_member->conversion != NULL){
++ peak = ags_conversion_convert(line_member->conversion,
++ peak,
++ TRUE);
++ }
+
+ /* calculate peak */
+ if(range == 0.0 ||
@@ -2070,7 +2112,7 @@ Last-Update: 2017-02-02
}
}
-@@ -339,72 +355,124 @@
+@@ -339,72 +355,148 @@
}
void
@@ -2112,6 +2154,7 @@ Last-Update: 2017-02-02
+ (AGS_LINE_MEMBER(list->data)->widget_type == AGS_TYPE_VINDICATOR ||
+ AGS_LINE_MEMBER(list->data)->widget_type == AGS_TYPE_HINDICATOR ||
+ AGS_LINE_MEMBER(list->data)->widget_type == AGS_TYPE_LED)){
++ AgsLineMember *line_member;
GtkAdjustment *adjustment;
- child = GTK_BIN(list->data)->child;
@@ -2128,13 +2171,14 @@ Last-Update: 2017-02-02
- channel_mutex = ags_mutex_manager_lookup(mutex_manager,
- (GObject *) line->channel);
-+ child = GTK_BIN(list->data)->child;
++ line_member = AGS_LINE_MEMBER(list->data);
++ child = GTK_BIN(line_member)->child;
+
+ average_peak = 0.0;
- pthread_mutex_unlock(application_mutex);
+ /* play port */
-+ current = AGS_LINE_MEMBER(list->data)->port;
++ current = line_member->port;
- pthread_mutex_lock(channel_mutex);
+ if(current == NULL){
@@ -2150,27 +2194,37 @@ Last-Update: 2017-02-02
+ if((AGS_PORT_IS_OUTPUT & (current->flags)) == 0 ||
+ current->port_descriptor == NULL ||
+ g_ascii_strcasecmp(current->specifier,
-+ AGS_LINE_MEMBER(list->data)->specifier)){
++ line_member->specifier)){
+ pthread_mutex_unlock(current->mutex);
+
+ list = list->next;
+
+ continue;
+ }
-+
+
+- pthread_mutex_unlock(channel_mutex);
+ /* lower and upper */
+ lower = g_value_get_float(AGS_PORT_DESCRIPTOR(current->port_descriptor)->lower_value);
+ upper = g_value_get_float(AGS_PORT_DESCRIPTOR(current->port_descriptor)->upper_value);
+
+ pthread_mutex_unlock(current->mutex);
-- pthread_mutex_unlock(channel_mutex);
-+ /* get range */
-+ range = upper - lower;
-
- /* get peak */
- g_value_init(&value, G_TYPE_DOUBLE);
- ags_port_safe_read(port,
++ /* get range */
++ if(line_member->conversion != NULL){
++ lower = ags_conversion_convert(line_member->conversion,
++ lower,
++ TRUE);
++
++ upper = ags_conversion_convert(line_member->conversion,
++ upper,
++ TRUE);
++ }
++
++ range = upper - lower;
++
+ /* play port - read value */
+ g_value_init(&value, G_TYPE_FLOAT);
+ ags_port_safe_read(current,
@@ -2185,6 +2239,12 @@ Last-Update: 2017-02-02
- g_object_get(child,
- "adjustment\0", &adjustment,
- NULL);
++ if(line_member->conversion != NULL){
++ peak = ags_conversion_convert(line_member->conversion,
++ peak,
++ TRUE);
++ }
++
+ /* calculate peak */
+ if(range == 0.0 ||
+ current->port_value_type == G_TYPE_BOOLEAN){
@@ -2198,7 +2258,7 @@ Last-Update: 2017-02-02
- gtk_adjustment_set_value(adjustment,
- peak);
+ /* recall port */
-+ current = AGS_LINE_MEMBER(list->data)->recall_port;
++ current = line_member->recall_port;
- break;
+ /* recall port - read value */
@@ -2209,6 +2269,12 @@ Last-Update: 2017-02-02
+ peak = g_value_get_float(&value);
+ g_value_unset(&value);
+
++ if(line_member->conversion != NULL){
++ peak = ags_conversion_convert(line_member->conversion,
++ peak,
++ TRUE);
++ }
++
+ /* calculate peak */
+ if(range == 0.0 ||
+ current->port_value_type == G_TYPE_BOOLEAN){
@@ -2235,6 +2301,73 @@ Last-Update: 2017-02-02
}
list = list->next;
+@@ -423,27 +515,63 @@
+ AgsChannel *channel;
+ AgsPlayback *playback;
+ AgsChannel *next_pad;
++ AgsRecallID *match_recall_id;
++
++ AgsMutexManager *mutex_manager;
+
+ gboolean all_done;
+
++ pthread_mutex_t *application_mutex;
++ pthread_mutex_t *channel_mutex;
++
++ mutex_manager = ags_mutex_manager_get_instance();
++ application_mutex = ags_mutex_manager_get_application_mutex(mutex_manager);
++
+ gdk_threads_enter();
+
++ /* retrieve channel */
+ channel = AGS_PAD(AGS_LINE(line)->pad)->channel;
++
++ /* retrieve channel mutex */
++ pthread_mutex_lock(application_mutex);
++
++ channel_mutex = ags_mutex_manager_lookup(mutex_manager,
++ (GObject *) channel);
++
++ pthread_mutex_unlock(application_mutex);
++
++ /* get next pad */
++ pthread_mutex_lock(channel_mutex);
++
+ next_pad = channel->next_pad;
+
++ pthread_mutex_unlock(channel_mutex);
++
+ all_done = TRUE;
+
+ while(channel != next_pad){
++ pthread_mutex_lock(channel_mutex);
++
+ playback = AGS_PLAYBACK(channel->playback);
+-
+- if(playback->recall_id[0] != NULL){
++ match_recall_id = playback->recall_id[0];
++
++ pthread_mutex_unlock(channel_mutex);
++
++ /* check if pending */
++ if(match_recall_id != NULL){
+ all_done = FALSE;
+ break;
+ }
+-
++
++ /* iterate */
++ pthread_mutex_lock(channel_mutex);
++
+ channel = channel->next;
++
++ pthread_mutex_unlock(channel_mutex);
+ }
+
++ /* toggle play button if all playback done */
+ if(all_done){
+ AgsPad *pad;
+
--- a/ags/X/ags_line_callbacks.h
+++ b/ags/X/ags_line_callbacks.h
@@ -45,8 +45,8 @@
@@ -2282,6 +2415,63 @@ Last-Update: 2017-02-02
}
/* add */
+@@ -1016,9 +1021,17 @@
+ ((guint *) port_data)[0]);
+ }else if(port->port_value_type == G_TYPE_FLOAT){
+ gfloat val;
+-
+- val = ((gdouble *) port_data)[0];
+-
++
++ if(GTK_IS_TOGGLE_BUTTON(gtk_bin_get_child((GtkBin *) line_member))){
++ if(((gboolean *) port_data)[0]){
++ val = 1.0;
++ }else{
++ val = 0.0;
++ }
++ }else{
++ val = ((gdouble *) port_data)[0];
++ }
++
+ if(line_member->conversion != NULL){
+ gfloat upper, lower, range, step;
+ gfloat c_upper, c_lower, c_range;
+@@ -1081,14 +1094,21 @@
+
+ g_value_init(&value,
+ G_TYPE_FLOAT);
+-
+ g_value_set_float(&value,
+- (gfloat) ((gdouble *) port_data)[0]);
++ (gfloat) val);
+ }else if(port->port_value_type == G_TYPE_DOUBLE){
+ gdouble val;
+-
+- val = ((gdouble *) port_data)[0];
+-
++
++ if(GTK_IS_TOGGLE_BUTTON(gtk_bin_get_child((GtkBin *) line_member))){
++ if(((gboolean *) port_data)[0]){
++ val = 1.0;
++ }else{
++ val = 0.0;
++ }
++ }else{
++ val = ((gdouble *) port_data)[0];
++ }
++
+ if(line_member->conversion != NULL){
+ gdouble upper, lower, range, step;
+ gdouble c_upper, c_lower, c_range;
+@@ -1154,7 +1174,7 @@
+ G_TYPE_DOUBLE);
+
+ g_value_set_double(&value,
+- ((gdouble *) port_data)[0]);
++ val);
+ }
+ }else{
+ if(port->port_value_type == G_TYPE_OBJECT){
--- a/ags/X/ags_lv2_browser.c
+++ b/ags/X/ags_lv2_browser.c
@@ -355,6 +355,58 @@
@@ -2602,3 +2792,44 @@ Last-Update: 2017-02-02
/**
* ags_peak_channel_new:
* @source: the #AgsChannel as source
+--- a/ags/X/ags_bulk_member.c
++++ b/ags/X/ags_bulk_member.c
+@@ -916,7 +916,15 @@
+ }else if(port->port_value_type == G_TYPE_FLOAT){
+ gfloat val;
+
+- val = ((gdouble *) port_data)[0];
++ if(GTK_IS_TOGGLE_BUTTON(gtk_bin_get_child((GtkBin *) bulk_member))){
++ if(((gboolean *) port_data)[0]){
++ val = 1.0;
++ }else{
++ val = 0.0;
++ }
++ }else{
++ val = ((gdouble *) port_data)[0];
++ }
+
+ if(bulk_member->conversion != NULL){
+ gfloat upper, lower, range, step;
+@@ -964,11 +972,19 @@
+ G_TYPE_FLOAT);
+
+ g_value_set_float(&value,
+- val);
++ val);
+ }else if(port->port_value_type == G_TYPE_DOUBLE){
+ gdouble val;
+
+- val = ((gdouble *) port_data)[0];
++ if(GTK_IS_TOGGLE_BUTTON(gtk_bin_get_child((GtkBin *) bulk_member))){
++ if(((gboolean *) port_data)[0]){
++ val = 1.0;
++ }else{
++ val = 0.0;
++ }
++ }else{
++ val = ((gdouble *) port_data)[0];
++ }
+
+ if(bulk_member->conversion != NULL){
+ gdouble upper, lower, range, step;
diff --git a/debian/patches/series b/debian/patches/series
index 8b9fd6d..7805f5e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,8 @@
+wish-bulk-member-c.patch
+wish-line-member-c.patch
+wish-line-callbacks-c.patch
+wish-effect-line-callbacks-c.patch
+wish-effect-bulk-callbacks-c.patch
improved-disable-output-port-automation.patch
improved-enable-builtin-port-automation.patch
improved-generic-output-widget.patch
--
gsequencer packaging
More information about the pkg-multimedia-commits
mailing list