[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