[SCM] gsequencer/upstream: fixed resize audio channels

jkraehemann-guest at users.alioth.debian.org jkraehemann-guest at users.alioth.debian.org
Sun Jun 14 16:07:05 UTC 2015


The following commit has been merged in the upstream branch:
commit ef299382416b08bd11cccecaacaf2a41e8b86d15
Author: Joël Krähemann <weedlight at gmail.com>
Date:   Mon Jun 8 15:58:55 2015 +0200

    fixed resize audio channels

diff --git a/src/ags/X/ags_machine.c b/src/ags/X/ags_machine.c
index c31ac39..227aac9 100644
--- a/src/ags/X/ags_machine.c
+++ b/src/ags/X/ags_machine.c
@@ -888,7 +888,7 @@ ags_machine_set_audio_channels(AgsAudio *audio,
     /* AgsInput */
     if(machine->input != NULL){
       list_input_pad_start = 
-	list_input_pad = gtk_container_get_children((GtkContainer *) machine->input);
+	list_input_pad = g_list_reverse(gtk_container_get_children((GtkContainer *) machine->input));
       channel = audio->input;
 
       for(i = 0; i < audio->input_pads; i++){
@@ -924,7 +924,7 @@ ags_machine_set_audio_channels(AgsAudio *audio,
     /* AgsOutput */
     if(machine->output != NULL){
       list_output_pad_start = 
-	list_output_pad = gtk_container_get_children((GtkContainer *) machine->output);
+	list_output_pad = g_list_reverse(gtk_container_get_children((GtkContainer *) machine->output));
       channel = audio->output;
 
       for(i = 0; i < audio->output_pads; i++){
@@ -942,7 +942,7 @@ ags_machine_set_audio_channels(AgsAudio *audio,
 	}else{
 	  pad = AGS_PAD(list_output_pad->data);
 
-	  ags_pad_resize_lines((AgsPad *) pad, machine->input_line_type,
+	  ags_pad_resize_lines((AgsPad *) pad, machine->output_line_type,
 			       audio_channels, audio_channels_old);
 	}
 
diff --git a/src/ags/X/machine/ags_drum_input_line.c b/src/ags/X/machine/ags_drum_input_line.c
index 9421e31..d9dffdb 100644
--- a/src/ags/X/machine/ags_drum_input_line.c
+++ b/src/ags/X/machine/ags_drum_input_line.c
@@ -471,7 +471,7 @@ ags_drum_input_line_map_recall(AgsLine *line,
 		       source->audio_channel);
     ags_port_safe_write(play_channel->audio_channel,
 			&audio_channel_value);
-
+    
     list = list->next;
   }
 
diff --git a/src/ags/audio/task/ags_resize_audio.c b/src/ags/audio/task/ags_resize_audio.c
index a505036..61a9e22 100644
--- a/src/ags/audio/task/ags_resize_audio.c
+++ b/src/ags/audio/task/ags_resize_audio.c
@@ -237,36 +237,58 @@ ags_resize_audio_launch(AgsTask *task)
     ags_audio_set_audio_channels(resize_audio->audio,
 				 resize_audio->audio_channels);
 
-    machine = (AgsMachine *) resize_audio->audio->machine;
-    
-    list_start = 
-      list = gtk_container_get_children(machine->output);
-    
-    while(list != NULL){
-      pad = list->data;
-	
-      gtk_widget_show_all(pad);
-	
-      list = list->next;
-    }
-      
-    g_list_free(list_start);
+    if(resize_audio->audio_channels > audio_channels_old){
+      machine = (AgsMachine *) resize_audio->audio->machine;
+
+      list_start = 
+	list = gtk_container_get_children(machine->output);
+
+      while(list != NULL){
+	pad = list->data;
+
+	line = g_list_reverse(gtk_container_get_children(pad->expander_set));
+	line = g_list_nth(line,
+			  audio_channels_old);
+
+	while(line != NULL){
+	  ags_connectable_connect(AGS_CONNECTABLE(line->data));
+	  gtk_widget_show_all(line->data);
+	  g_message("sho");
+	  
+	  line = line->next;
+	}
+
+	list = list->next;
+      }
       
-    list_start = 
-      list = gtk_container_get_children(machine->input);
+      g_list_free(list_start);
+
+      list_start = 
+	list = gtk_container_get_children(machine->input);
       
-    while(list != NULL){
-      pad = list->data;
-	
-      gtk_widget_show_all(pad);
-	
-      list = list->next;
+      while(list != NULL){
+	pad = list->data;
+
+	line = g_list_reverse(gtk_container_get_children(pad->expander_set));
+	line = g_list_nth(line,
+			  audio_channels_old);
+
+	while(line != NULL){
+	  ags_connectable_connect(AGS_CONNECTABLE(line->data));
+	  gtk_widget_show_all(line->data);
+	  g_message("sho");
+	  
+	  line = line->next;
+	}
+
+	list = list->next;
+      }
+
+      g_list_free(list_start);
     }
-      
-    g_list_free(list_start);
   }
 }
-
+  
 /**
  * ags_resize_audio_new:
  * @audio: the #AgsAudio to resize

-- 
gsequencer packaging



More information about the pkg-multimedia-commits mailing list