Hello community,
here is the log from the commit of package gsequencer for openSUSE:Factory checked in at 2018-02-05 10:53:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gsequencer (Old)
and /work/SRC/openSUSE:Factory/.gsequencer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gsequencer"
Mon Feb 5 10:53:07 2018 rev:8 rq:572414 version:1.4.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/gsequencer/gsequencer.changes 2018-01-30 15:44:52.485285410 +0100
+++ /work/SRC/openSUSE:Factory/.gsequencer.new/gsequencer.changes 2018-02-05 10:53:54.137806004 +0100
@@ -1,0 +2,12 @@
+Sat Feb 3 01:06:58 UTC 2018 - jkraehemann@gmail.com
+
+- New upstream v1.4.18 fixed step sequencer's clipboard.
+
+-------------------------------------------------------------------
+Fri Feb 2 13:01:23 UTC 2018 - jkraehemann@gmail.com
+
+- New upstream v1.4.17 various fixes to initialization code of
+ recalls in ags_channel.c.
+- Fixed playback scope and related code in ags_play_channel_run.c.
+
+-------------------------------------------------------------------
Old:
----
gsequencer-1.4.15.tar.gz
New:
----
gsequencer-1.4.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gsequencer.spec ++++++
--- /var/tmp/diff_new_pack.dUcGzC/_old 2018-02-05 10:53:54.797775139 +0100
+++ /var/tmp/diff_new_pack.dUcGzC/_new 2018-02-05 10:53:54.801774952 +0100
@@ -18,7 +18,7 @@
%define libagssonumber 1
%define libgsequencersonumber 0
Name: gsequencer
-Version: 1.4.15
+Version: 1.4.18
Release: 0
Summary: Audio processing engine
License: GPL-3.0+ AND AGPL-3.0+ AND GFDL-1.3
++++++ gsequencer-1.4.15.tar.gz -> gsequencer-1.4.18.tar.gz ++++++
++++ 1758 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ChangeLog new/gsequencer-1.4.18/ChangeLog
--- old/gsequencer-1.4.15/ChangeLog 2018-01-26 03:22:44.000000000 +0100
+++ new/gsequencer-1.4.18/ChangeLog 2018-02-02 22:37:51.000000000 +0100
@@ -1,3 +1,22 @@
+ags (1.4.18)
+
+ [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+ * fixed copy to clipboard in AgsMatrix and AgsDrum
+
+ags (1.4.17)
+
+ [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+ * fixed playback scope
+ * fixed wrong count of runs and init code in ags_channel.c
+ * minor-fixes
+
+ags (1.4.16)
+
+ [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+ * fixed potential SIGSEGV during ags_recall_dssi_run_finalize()
+ * fixed potential SIGSEGV during ags_recall_lv2_run_finalize()
+ * removed redundant code in ags_simple_file.c
+
ags (1.4.15)
[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/X/ags_machine.c new/gsequencer-1.4.18/ags/X/ags_machine.c
--- old/gsequencer-1.4.15/ags/X/ags_machine.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/X/ags_machine.c 2018-02-02 22:38:03.000000000 +0100
@@ -2115,7 +2115,7 @@
AgsMutexManager *mutex_manager;
xmlDoc *clipboard;
- xmlNode *audio_node, *notation_node;
+ xmlNode *audio_node, *notation_list_node, *notation_node;
xmlChar *buffer;
int size;
@@ -2198,9 +2198,15 @@
clipboard = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
/* create root node */
- audio_node = xmlNewNode(NULL, BAD_CAST "audio");
+ audio_node = xmlNewNode(NULL,
+ BAD_CAST "audio");
xmlDocSetRootElement(clipboard, audio_node);
+ notation_list_node = xmlNewNode(NULL,
+ BAD_CAST "notation-list");
+ xmlAddChild(audio_node,
+ notation_list_node);
+
audio = machine->audio;
mutex_manager = ags_mutex_manager_get_instance();
@@ -2234,7 +2240,8 @@
pthread_mutex_lock(current_mutex);
notation_node = ags_machine_copy_pattern_to_notation(channel);
- xmlAddChild(audio_node, notation_node);
+ xmlAddChild(notation_list_node,
+ notation_node);
channel = channel->next;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/X/ags_navigation_callbacks.c new/gsequencer-1.4.18/ags/X/ags_navigation_callbacks.c
--- old/gsequencer-1.4.15/ags/X/ags_navigation_callbacks.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/X/ags_navigation_callbacks.c 2018-01-31 18:13:52.000000000 +0100
@@ -167,7 +167,7 @@
if(((AGS_MACHINE_IS_SEQUENCER & (machine->flags)) != 0) ||
(AGS_MACHINE_IS_SYNTHESIZER & (machine->flags)) != 0){
#ifdef AGS_DEBUG
- printf("found machine to play!\n");
+ g_message("found machine to play!\n");
#endif
if(!initialized_time){
@@ -204,8 +204,10 @@
if((AGS_MACHINE_IS_SEQUENCER & (machine->flags)) != 0 ||
(AGS_MACHINE_IS_SYNTHESIZER & (machine->flags)) != 0){
- printf("found machine to stop!\n");
-
+#ifdef AGS_DEBUG
+ g_message("found machine to stop!");
+#endif
+
ags_machine_set_run_extended(machine,
FALSE,
!gtk_toggle_button_get_active((GtkToggleButton *) navigation->exclude_sequencer), TRUE);
@@ -310,8 +312,10 @@
if((AGS_MACHINE_IS_SEQUENCER & (machine->flags)) !=0 ||
(AGS_MACHINE_IS_SYNTHESIZER & (machine->flags)) != 0){
+#ifdef AGS_DEBUG
g_message("found machine to loop!\n");
-
+#endif
+
audio = machine->audio;
/* get mutex manager and application mutex */
@@ -409,8 +413,10 @@
if((AGS_MACHINE_IS_SEQUENCER & (machine->flags)) != 0 ||
(AGS_MACHINE_IS_SYNTHESIZER & (machine->flags)) != 0){
+#ifdef AGS_DEBUG
g_message("found machine to loop!\n");
-
+#endif
+
audio = machine->audio;
/* get mutex manager and application mutex */
@@ -490,8 +496,10 @@
if((AGS_MACHINE_IS_SEQUENCER & (machine->flags)) != 0 ||
(AGS_MACHINE_IS_SYNTHESIZER & (machine->flags)) != 0){
+#ifdef AGS_DEBUG
g_message("found machine to loop!\n");
-
+#endif
+
audio = machine->audio;
/* get mutex manager and application mutex */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/X/ags_notation_editor.c new/gsequencer-1.4.18/ags/X/ags_notation_editor.c
--- old/gsequencer-1.4.15/ags/X/ags_notation_editor.c 2018-01-25 23:18:29.000000000 +0100
+++ new/gsequencer-1.4.18/ags/X/ags_notation_editor.c 2018-02-02 22:36:41.000000000 +0100
@@ -1453,7 +1453,7 @@
if(audio_node->type == XML_ELEMENT_NODE){
if(!xmlStrncmp("audio", audio_node->name, 6)){
notation_node = audio_node->children;
-
+
first_x = ags_notation_editor_paste_notation(audio_node);
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/X/ags_pad_callbacks.c new/gsequencer-1.4.18/ags/X/ags_pad_callbacks.c
--- old/gsequencer-1.4.15/ags/X/ags_pad_callbacks.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/X/ags_pad_callbacks.c 2018-02-02 14:05:47.000000000 +0100
@@ -426,6 +426,7 @@
NULL);
}
+ note->rt_attack = 0;
note->rt_offset = 0;
pthread_mutex_unlock(recycling_mutex);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/X/file/ags_simple_file.c new/gsequencer-1.4.18/ags/X/file/ags_simple_file.c
--- old/gsequencer-1.4.15/ags/X/file/ags_simple_file.c 2018-01-26 03:21:40.000000000 +0100
+++ new/gsequencer-1.4.18/ags/X/file/ags_simple_file.c 2018-02-02 22:24:33.000000000 +0100
@@ -1673,8 +1673,6 @@
AgsWindow *window;
AgsMachine *gobject;
- AgsResizeAudio *resize_audio;
-
AgsConfig *config;
GObject *soundcard;
@@ -1954,16 +1952,7 @@
wait_output = TRUE;
}
- /* create task */
- resize_audio = ags_resize_audio_new(gobject->audio,
- (guint) output_pads,
- (guint) input_pads,
- (guint) audio_channels);
-
- /* append AgsResizeAudio */
- ags_gui_thread_schedule_task(ags_ui_provider_get_gui_thread(AGS_UI_PROVIDER(simple_file->application_context)),
- resize_audio);
-
+ /* dispatch */
while((wait_output && !wait_data[0]) ||
(wait_input && !wait_data[1])){
usleep(1000000 / 30);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/X/machine/ags_drum_input_line.c new/gsequencer-1.4.18/ags/X/machine/ags_drum_input_line.c
--- old/gsequencer-1.4.15/ags/X/machine/ags_drum_input_line.c 2018-01-25 23:18:29.000000000 +0100
+++ new/gsequencer-1.4.18/ags/X/machine/ags_drum_input_line.c 2018-02-02 14:05:47.000000000 +0100
@@ -446,6 +446,19 @@
source = line->channel;
+ rt_safe = TRUE;
+
+ str = ags_config_get_value(config,
+ AGS_CONFIG_GENERIC,
+ "rt-safe");
+
+ if(str != NULL &&
+ !g_ascii_strncasecmp(str,
+ "FALSE",
+ 6)){
+ rt_safe = FALSE;
+ }
+
/* lookup source mutex */
pthread_mutex_lock(application_mutex);
@@ -506,16 +519,29 @@
pthread_mutex_unlock(source_mutex);
+ if(rt_safe){
+ ags_recall_factory_create(audio,
+ NULL, NULL,
+ "ags-rt-stream",
+ audio_channel, audio_channel + 1,
+ pad, pad + 1,
+ (AGS_RECALL_FACTORY_INPUT |
+ AGS_RECALL_FACTORY_PLAY |
+ AGS_RECALL_FACTORY_RECALL |
+ AGS_RECALL_FACTORY_ADD),
+ 0);
+ }
+
/* ags-play */
ags_recall_factory_create(audio,
NULL, NULL,
- "ags-play",
- audio_channel, audio_channel + 1,
- pad, pad + 1,
- (AGS_RECALL_FACTORY_INPUT |
+ "ags-play",
+ audio_channel, audio_channel + 1,
+ pad, pad + 1,
+ (AGS_RECALL_FACTORY_INPUT |
AGS_RECALL_FACTORY_PLAY |
- AGS_RECALL_FACTORY_ADD),
- 0);
+ AGS_RECALL_FACTORY_ADD),
+ 0);
pthread_mutex_lock(source_mutex);
@@ -536,7 +562,7 @@
}
pthread_mutex_unlock(source_mutex);
-
+
/* ags-volume */
ags_recall_factory_create(audio,
NULL, NULL,
@@ -562,19 +588,6 @@
0);
/* ags-stream */
- rt_safe = TRUE;
-
- str = ags_config_get_value(config,
- AGS_CONFIG_GENERIC,
- "rt-safe");
-
- if(str != NULL &&
- !g_ascii_strncasecmp(str,
- "FALSE",
- 6)){
- rt_safe = FALSE;
- }
-
if(!rt_safe){
ags_recall_factory_create(audio,
NULL, NULL,
@@ -603,17 +616,6 @@
NULL);
pthread_mutex_unlock(source_mutex);
- }else{
- ags_recall_factory_create(audio,
- NULL, NULL,
- "ags-rt-stream",
- audio_channel, audio_channel + 1,
- pad, pad + 1,
- (AGS_RECALL_FACTORY_INPUT |
- AGS_RECALL_FACTORY_PLAY |
- AGS_RECALL_FACTORY_RECALL |
- AGS_RECALL_FACTORY_ADD),
- 0);
}
/* call parent */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/ags_audio.c new/gsequencer-1.4.18/ags/audio/ags_audio.c
--- old/gsequencer-1.4.15/ags/audio/ags_audio.c 2018-01-25 23:18:29.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/ags_audio.c 2018-02-02 22:24:33.000000000 +0100
@@ -1812,6 +1812,24 @@
/* playback domain */
if(audio->playback_domain != NULL){
+ AgsPlaybackDomain *playback_domain;
+
+ playback_domain = audio->playback_domain;
+
+ if(playback_domain->audio_thread != NULL){
+ if(playback_domain->audio_thread[0] != NULL){
+ ags_thread_stop(playback_domain->audio_thread[0]);
+ }
+
+ if(playback_domain->audio_thread[1] != NULL){
+ ags_thread_stop(playback_domain->audio_thread[1]);
+ }
+
+ if(playback_domain->audio_thread[2] != NULL){
+ ags_thread_stop(playback_domain->audio_thread[2]);
+ }
+ }
+
g_object_run_dispose(audio->playback_domain);
audio->playback_domain = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/ags_channel.c new/gsequencer-1.4.18/ags/audio/ags_channel.c
--- old/gsequencer-1.4.15/ags/audio/ags_channel.c 2018-01-25 23:18:29.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/ags_channel.c 2018-02-02 22:24:33.000000000 +0100
@@ -1434,10 +1434,20 @@
AgsPlayback *playback;
playback = channel->playback;
-
- ags_thread_stop(playback->channel_thread[0]);
- ags_thread_stop(playback->channel_thread[1]);
- ags_thread_stop(playback->channel_thread[2]);
+
+ if(playback->channel_thread != NULL){
+ if(playback->channel_thread[0] != NULL){
+ ags_thread_stop(playback->channel_thread[0]);
+ }
+
+ if(playback->channel_thread[1] != NULL){
+ ags_thread_stop(playback->channel_thread[1]);
+ }
+
+ if(playback->channel_thread[2] != NULL){
+ ags_thread_stop(playback->channel_thread[2]);
+ }
+ }
g_object_set(playback,
"source", NULL,
@@ -4812,7 +4822,7 @@
if((AGS_RECALL_TEMPLATE & (recall_flags)) == 0 &&
(AGS_RECALL_RUN_FIRST & (recall_flags)) != 0){
#ifdef AGS_DEBUG
- g_message("%s play channel %x:%d @%x -> %x", G_OBJECT_TYPE_NAME(recall), channel, channel->line, recall, recall->recall_id);
+ g_message("%s play first channel %x:%d @%x -> %x", G_OBJECT_TYPE_NAME(recall), channel, channel->line, recall, recall->recall_id);
#endif
if((AGS_RECALL_HIDE & (recall_flags)) == 0){
@@ -4925,7 +4935,7 @@
if((AGS_RECALL_TEMPLATE & (recall_flags)) == 0 &&
(AGS_RECALL_RUN_LAST & (recall_flags)) != 0){
#ifdef AGS_DEBUG
- g_message("%s play channel %x:%d @%x -> %x", G_OBJECT_TYPE_NAME(recall), channel, channel->line, recall, recall->recall_id);
+ g_message("%s play last channel %x:%d @%x -> %x", G_OBJECT_TYPE_NAME(recall), channel, channel->line, recall, recall->recall_id);
#endif
if((AGS_RECALL_HIDE & (recall_flags)) == 0){
@@ -8220,40 +8230,25 @@
NULL, FALSE, FALSE);
}
- if(duplicate_templates &&
- resolve_dependencies){
- if(stage == -1){
- ags_channel_recursive_init(channel,
- recall_id,
- -1, -1,
- TRUE, TRUE);
- }else if(stage >= 0 && stage < 4){
- ags_channel_recursive_init(channel,
- recall_id,
- ((stage == 0) ? -1: 4), stage,
- TRUE, TRUE);
- }
- }else{
- if(duplicate_templates){
- ags_channel_recursive_init(channel,
- recall_id,
- 0, 4,
- TRUE, TRUE);
- }
-
- if(resolve_dependencies){
- ags_channel_recursive_init(channel,
- recall_id,
- 1, 4,
- TRUE, TRUE);
- }
-
- if(stage == -1 || (stage >= 0 && stage < 4)){
- ags_channel_recursive_init(channel,
- recall_id,
- 2, stage,
- TRUE, TRUE);
- }
+ if(duplicate_templates){
+ ags_channel_recursive_init(channel,
+ recall_id,
+ 0, 4,
+ TRUE, TRUE);
+ }
+
+ if(resolve_dependencies){
+ ags_channel_recursive_init(channel,
+ recall_id,
+ 1, 4,
+ TRUE, TRUE);
+ }
+
+ if(stage == -1 || (stage >= 0 && stage < 4)){
+ ags_channel_recursive_init(channel,
+ recall_id,
+ 2, stage,
+ TRUE, TRUE);
}
if(stage == -1 ||
@@ -10560,27 +10555,30 @@
pthread_mutex_unlock(current_mutex);
- switch(stage){
- case 0:
- {
- ags_channel_duplicate_recall(current,
+ if(current != channel ||
+ !init_down){
+ switch(stage){
+ case 0:
+ {
+ ags_channel_duplicate_recall(current,
+ recall_id);
+ }
+ break;
+ case 1:
+ {
+ ags_channel_resolve_recall(current,
recall_id);
+ }
+ break;
+ case 2:
+ {
+ ags_channel_init_recall(current, init_stage,
+ recall_id);
+ }
+ break;
}
- break;
- case 1:
- {
- ags_channel_resolve_recall(current,
- recall_id);
- }
- break;
- case 2:
- {
- ags_channel_init_recall(current, init_stage,
- recall_id);
- }
- break;
}
-
+
/* get audio mutex */
pthread_mutex_lock(application_mutex);
@@ -10597,27 +10595,30 @@
pthread_mutex_unlock(audio_mutex);
- switch(stage){
- case 0:
- {
- ags_audio_duplicate_recall(audio,
+ if(current != channel ||
+ !init_down){
+ switch(stage){
+ case 0:
+ {
+ ags_audio_duplicate_recall(audio,
+ recall_id);
+ }
+ break;
+ case 1:
+ {
+ ags_audio_resolve_recall(audio,
recall_id);
+ }
+ break;
+ case 2:
+ {
+ ags_audio_init_recall(audio, init_stage,
+ recall_id);
+ }
+ break;
}
- break;
- case 1:
- {
- ags_audio_resolve_recall(audio,
- recall_id);
- }
- break;
- case 2:
- {
- ags_audio_init_recall(audio, init_stage,
- recall_id);
- }
- break;
}
-
+
/* get some fields */
pthread_mutex_lock(audio_mutex);
@@ -11245,10 +11246,13 @@
pthread_mutex_unlock(current_mutex);
- ags_channel_play(current,
- recall_id,
- run_stage);
-
+ if(current != channel ||
+ !run_down){
+ ags_channel_play(current,
+ recall_id,
+ run_stage);
+ }
+
/* get audio mutex */
pthread_mutex_lock(application_mutex);
@@ -11265,10 +11269,13 @@
pthread_mutex_unlock(audio_mutex);
- ags_audio_play(audio,
- recall_id,
- run_stage);
-
+ if(current != channel ||
+ !run_down){
+ ags_audio_play(audio,
+ recall_id,
+ run_stage);
+ }
+
/* get some fields */
pthread_mutex_lock(audio_mutex);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/ags_notation.c new/gsequencer-1.4.18/ags/audio/ags_notation.c
--- old/gsequencer-1.4.15/ags/audio/ags_notation.c 2018-01-26 03:21:40.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/ags_notation.c 2018-02-02 22:39:30.000000000 +0100
@@ -1913,13 +1913,13 @@
if(!xmlStrncmp("0.3.12", version, 7)){
ags_notation_insert_native_piano_from_clipboard_version_0_3_12();
- }else if(!xmlStrncmp("0.4.2", version, 7)){
+ }else if(!xmlStrncmp("0.4.2", version, 6)){
/* changes contain only for UI relevant new informations */
ags_notation_insert_native_piano_from_clipboard_version_0_3_12();
- }else if(!xmlStrncmp("1.2.0", version, 7)){
+ }else if(!xmlStrncmp("1.2.0", version, 6)){
/* changes contain only optional informations */
match_timestamp = TRUE;
-
+
if(match_channel &&
notation->audio_channel != g_ascii_strtoull(xmlGetProp(root_node,
"audio-channel"),
@@ -1927,7 +1927,7 @@
10)){
return;
}
-
+
ags_notation_insert_native_piano_from_clipboard_version_0_3_12();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/ags_recall.c new/gsequencer-1.4.18/ags/audio/ags_recall.c
--- old/gsequencer-1.4.15/ags/audio/ags_recall.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/ags_recall.c 2018-02-02 22:24:33.000000000 +0100
@@ -2017,9 +2017,9 @@
if((AGS_RECALL_DONE & (recall->flags)) != 0){
return;
}
-
- recall->flags |= AGS_RECALL_DONE;
+ recall->flags |= AGS_RECALL_DONE;
+
ags_recall_remove(recall);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/ags_recall_dssi_run.c new/gsequencer-1.4.18/ags/audio/ags_recall_dssi_run.c
--- old/gsequencer-1.4.15/ags/audio/ags_recall_dssi_run.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/ags_recall_dssi_run.c 2018-01-31 18:13:52.000000000 +0100
@@ -220,21 +220,6 @@
free(recall_dssi_run->ladspa_handle);
- if(recall_dssi_run->route_dssi_audio_run != NULL){
- GList *note;
-
- note = recall_dssi_run->note;
-
- while(note != NULL){
- //FIXME:JK: ref counting
- AGS_ROUTE_DSSI_AUDIO_RUN(recall_dssi_run->route_dssi_audio_run)->feed_midi = g_list_remove(AGS_ROUTE_DSSI_AUDIO_RUN(recall_dssi_run->route_dssi_audio_run)->feed_midi,
- note->data);
- g_object_unref(note->data);
-
- note = note->next;
- }
- }
-
g_list_free_full(recall_dssi_run->note,
g_object_unref);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/ags_recall_lv2_run.c new/gsequencer-1.4.18/ags/audio/ags_recall_lv2_run.c
--- old/gsequencer-1.4.15/ags/audio/ags_recall_lv2_run.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/ags_recall_lv2_run.c 2018-01-31 18:13:52.000000000 +0100
@@ -203,21 +203,6 @@
free(recall_lv2_run->input);
}
- if(recall_lv2_run->route_lv2_audio_run != NULL){
- GList *note;
-
- note = recall_lv2_run->note;
-
- while(note != NULL){
- //FIXME:JK: ref counting
- AGS_ROUTE_LV2_AUDIO_RUN(recall_lv2_run->route_lv2_audio_run)->feed_midi = g_list_remove(AGS_ROUTE_LV2_AUDIO_RUN(recall_lv2_run->route_lv2_audio_run)->feed_midi,
- note->data);
- g_object_unref(note->data);
-
- note = note->next;
- }
- }
-
g_list_free_full(recall_lv2_run->note,
g_object_unref);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/recall/ags_copy_audio_signal.c new/gsequencer-1.4.18/ags/audio/recall/ags_copy_audio_signal.c
--- old/gsequencer-1.4.15/ags/audio/recall/ags_copy_audio_signal.c 2018-01-19 16:12:03.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/recall/ags_copy_audio_signal.c 2018-02-02 14:05:47.000000000 +0100
@@ -384,7 +384,8 @@
stream_destination = destination->stream_current;
// attack = AGS_RECALL_AUDIO_SIGNAL(copy_audio_signal)->attack;
- if(stream_destination->next == NULL){
+ if(!recall->rt_safe &&
+ stream_destination->next == NULL){
ags_audio_signal_add_stream(destination);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gsequencer-1.4.15/ags/audio/recall/ags_play_audio_signal.c new/gsequencer-1.4.18/ags/audio/recall/ags_play_audio_signal.c
--- old/gsequencer-1.4.15/ags/audio/recall/ags_play_audio_signal.c 2017-11-06 00:08:57.000000000 +0100
+++ new/gsequencer-1.4.18/ags/audio/recall/ags_play_audio_signal.c 2018-02-02 14:05:47.000000000 +0100
@@ -19,11 +19,7 @@
#include