Hello community,

here is the log from the commit of package gsequencer for openSUSE:Factory 
checked in at 2018-05-10 15:48:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gsequencer (Old)
 and      /work/SRC/openSUSE:Factory/.gsequencer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gsequencer"

Thu May 10 15:48:38 2018 rev:12 rq:605299 version:1.4.29

Changes:
--------
--- /work/SRC/openSUSE:Factory/gsequencer/gsequencer.changes    2018-04-13 
12:51:03.068767871 +0200
+++ /work/SRC/openSUSE:Factory/.gsequencer.new/gsequencer.changes       
2018-05-10 15:48:44.482712002 +0200
@@ -1,0 +2,12 @@
+Tue May  8 07:00:47 UTC 2018 - [email protected]
+
+- new upstream v1.4.29 fixed missing timestamp check against lower
+  bounds in if statement.
+
+-------------------------------------------------------------------
+Sun May  6 21:42:42 UTC 2018 - [email protected]
+
+- New upstream v1.4.28 fixed selection of notation and automation
+  editor. Minor improvements to lv2 and editor clipboard.
+
+-------------------------------------------------------------------

Old:
----
  gsequencer-1.4.25.tar.gz

New:
----
  gsequencer-1.4.29.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gsequencer.spec ++++++
--- /var/tmp/diff_new_pack.GuzVaV/_old  2018-05-10 15:48:45.154687373 +0200
+++ /var/tmp/diff_new_pack.GuzVaV/_new  2018-05-10 15:48:45.154687373 +0200
@@ -18,7 +18,7 @@
 %define libagssonumber 1
 %define libgsequencersonumber 0
 Name:           gsequencer
-Version:        1.4.25
+Version:        1.4.29
 Release:        0
 Summary:        Audio processing engine
 License:        GPL-3.0+ AND AGPL-3.0+ AND GFDL-1.3

++++++ gsequencer-1.4.25.tar.gz -> gsequencer-1.4.29.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ChangeLog 
new/gsequencer-1.4.29/ChangeLog
--- old/gsequencer-1.4.25/ChangeLog     2018-04-09 23:22:24.000000000 +0200
+++ new/gsequencer-1.4.29/ChangeLog     2018-05-07 10:00:26.000000000 +0200
@@ -1,3 +1,31 @@
+ags (1.4.29)
+
+       [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+       * fixed timestamp offset clipboard insert
+       * fixed missing timestamp of notation
+
+ags (1.4.28)
+
+       [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+       * fixed integrity check of ags_recall_lv2_load()
+       * fixed selection of notation region
+
+ags (1.4.27)
+
+       [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+       * fixed missing timestamp information in AgsAutomation clipboard
+       * fixed if statement in 
ags_automation_find_specifier_with_type_and_line()
+       * fixed missing return in ags_automation_get_value()
+       * minor improvements
+
+ags (1.4.26)
+
+       [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
+       * fixed wrong ref count in ags_automation.c
+       * fixed wrong ref count in ags_notation.c
+       * fixed allow select all first and last acceleration of automation
+       * improved AgsExportWindow to reset backend
+
 ags (1.4.25)
 
        [ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/X/ags_export_soundcard.c 
new/gsequencer-1.4.29/ags/X/ags_export_soundcard.c
--- old/gsequencer-1.4.25/ags/X/ags_export_soundcard.c  2018-03-04 
20:27:35.000000000 +0100
+++ new/gsequencer-1.4.29/ags/X/ags_export_soundcard.c  2018-05-07 
01:53:41.000000000 +0200
@@ -202,10 +202,7 @@
   gtk_combo_box_text_append_text(export_soundcard->backend,
                                 "oss");
 #endif
-
-  gtk_combo_box_set_active(GTK_COMBO_BOX(export_soundcard->backend),
-                          0);
-  
+ 
   /* sound card */
   label = (GtkLabel *) g_object_new(GTK_TYPE_LABEL,
                                    "label", i18n("soundcard"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/X/ags_export_soundcard.h 
new/gsequencer-1.4.29/ags/X/ags_export_soundcard.h
--- old/gsequencer-1.4.25/ags/X/ags_export_soundcard.h  2018-03-04 
07:14:51.000000000 +0100
+++ new/gsequencer-1.4.29/ags/X/ags_export_soundcard.h  2018-05-07 
01:53:41.000000000 +0200
@@ -32,9 +32,9 @@
 #define AGS_IS_EXPORT_SOUNDCARD_CLASS(class)     
(G_TYPE_CHECK_CLASS_TYPE((class), AGS_TYPE_EXPORT_SOUNDCARD))
 #define AGS_EXPORT_SOUNDCARD_GET_CLASS(obj)      
(G_TYPE_INSTANCE_GET_CLASS((obj), AGS_TYPE_EXPORT_SOUNDCARD, 
AgsExportSoundcardClass))
 
-#define AGS_EXPORT_SOUNDCARD_FORMAT_WAV "wav\0"
-#define AGS_EXPORT_SOUNDCARD_FORMAT_FLAC "flac\0"
-#define AGS_EXPORT_SOUNDCARD_FORMAT_OGG "ogg\0"
+#define AGS_EXPORT_SOUNDCARD_FORMAT_WAV "wav"
+#define AGS_EXPORT_SOUNDCARD_FORMAT_FLAC "flac"
+#define AGS_EXPORT_SOUNDCARD_FORMAT_OGG "ogg"
  
 typedef struct _AgsExportSoundcard AgsExportSoundcard;
 typedef struct _AgsExportSoundcardClass AgsExportSoundcardClass;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gsequencer-1.4.25/ags/X/ags_export_window_callbacks.c 
new/gsequencer-1.4.29/ags/X/ags_export_window_callbacks.c
--- old/gsequencer-1.4.25/ags/X/ags_export_window_callbacks.c   2018-03-04 
07:14:51.000000000 +0100
+++ new/gsequencer-1.4.29/ags/X/ags_export_window_callbacks.c   2018-05-07 
01:53:41.000000000 +0200
@@ -85,6 +85,10 @@
 
   /* show all */
   gtk_widget_show_all(hbox);
+  gtk_combo_box_set_active(GTK_COMBO_BOX(export_soundcard->backend),
+                          0);
+  gtk_combo_box_set_active(GTK_COMBO_BOX(export_soundcard->card),
+                          0);
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/X/ags_notation_editor.c 
new/gsequencer-1.4.29/ags/X/ags_notation_editor.c
--- old/gsequencer-1.4.25/ags/X/ags_notation_editor.c   2018-03-04 
20:27:35.000000000 +0100
+++ new/gsequencer-1.4.29/ags/X/ags_notation_editor.c   2018-05-07 
09:44:58.000000000 +0200
@@ -647,6 +647,8 @@
       }else{
        notation = ags_notation_new(machine->audio,
                                    i);
+       notation->timestamp->timer.ags_offset.offset = 
timestamp->timer.ags_offset.offset;
+       
        machine->audio->notation = ags_notation_add(machine->audio->notation,
                                                    notation);
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_automation.c 
new/gsequencer-1.4.29/ags/audio/ags_automation.c
--- old/gsequencer-1.4.25/ags/audio/ags_automation.c    2018-04-09 
23:16:05.000000000 +0200
+++ new/gsequencer-1.4.29/ags/audio/ags_automation.c    2018-05-07 
09:59:36.000000000 +0200
@@ -1157,6 +1157,7 @@
   g_object_ref(acceleration);
   
   if(use_selection_list){
+    acceleration->flags |= AGS_ACCELERATION_IS_SELECTED;
     automation->selection = g_list_insert_sorted(automation->selection,
                                                 acceleration,
                                                 (GCompareFunc) 
ags_automation_add_acceleration_compare_function);
@@ -1365,22 +1366,20 @@
 void
 ags_automation_free_selection(AgsAutomation *automation)
 {
-  AgsAcceleration *acceleration;
   GList *list;
 
   list = automation->selection;
   
   while(list != NULL){
-    acceleration = AGS_ACCELERATION(list->data);
-    acceleration->flags &= (~AGS_ACCELERATION_IS_SELECTED);
-    g_object_unref(G_OBJECT(acceleration));
+    AGS_ACCELERATION(list->data)->flags &= (~AGS_ACCELERATION_IS_SELECTED);
     
     list = list->next;
   }
 
-  list = automation->selection;
+  g_list_free_full(automation->selection,
+                  g_object_unref);
+  
   automation->selection = NULL;
-  g_list_free(list);
 }
 
 /**
@@ -1412,12 +1411,12 @@
     }
   }else{
     /* add to or replace selection */
-    acceleration->flags |= AGS_ACCELERATION_IS_SELECTED;
-    g_object_ref(acceleration);
-
     if(replace_current_selection){
       GList *list;
 
+      acceleration->flags |= AGS_ACCELERATION_IS_SELECTED;
+      g_object_ref(acceleration);
+      
       list = g_list_alloc();
       list->data = acceleration;
       
@@ -1449,7 +1448,7 @@
 
   acceleration = ags_automation_find_point(automation,
                                           x, y,
-                                          FALSE);
+                                          TRUE);
 
   if(acceleration != NULL){
     acceleration->flags &= (~AGS_ACCELERATION_IS_SELECTED);
@@ -1481,8 +1480,9 @@
     list = region;
 
     while(list != NULL){
-      AGS_ACCELERATION(list->data)->flags |= AGS_ACCELERATION_IS_SELECTED;
-      g_object_ref(G_OBJECT(list->data));
+      ags_automation_add_acceleration(automation,
+                                     list->data,
+                                     TRUE);
 
       list = list->next;
     }
@@ -1493,8 +1493,6 @@
       acceleration = AGS_ACCELERATION(region->data);
 
       if(!ags_automation_is_acceleration_selected(automation, acceleration)){
-       acceleration->flags |= AGS_ACCELERATION_IS_SELECTED;
-       g_object_ref(G_OBJECT(acceleration));
        ags_automation_add_acceleration(automation,
                                        acceleration,
                                        TRUE);
@@ -1556,9 +1554,8 @@
   }
   
   acceleration = automation->acceleration;
-  acceleration = acceleration->next;
   
-  while(acceleration->next != NULL){
+  while(acceleration != NULL){
     AGS_ACCELERATION(acceleration->data)->flags |= 
AGS_ACCELERATION_IS_SELECTED;
     
     acceleration = acceleration->next;
@@ -1581,6 +1578,7 @@
   AgsAcceleration *acceleration;
 
   xmlNode *automation_node, *current_acceleration;
+  xmlNode *timestamp_node;
 
   GList *selection;
 
@@ -1599,6 +1597,19 @@
   xmlNewProp(automation_node, "control-name", automation->control_name);
   xmlNewProp(automation_node, "line", g_strdup_printf("%u", automation->line));
 
+  /* timestamp */
+  if(automation->timestamp != NULL){
+    timestamp_node = xmlNewNode(NULL,
+                               BAD_CAST "timestamp");
+    xmlAddChild(automation_node,
+               timestamp_node);
+
+    xmlNewProp(timestamp_node,
+              BAD_CAST "offset",
+              BAD_CAST (g_strdup_printf("%u", 
AGS_TIMESTAMP(automation->timestamp)->timer.ags_offset.offset)));
+  }
+
+  /* selection */
   selection = automation->selection;
 
   if(selection != NULL){
@@ -1844,7 +1855,8 @@
        
        /* add acceleration */
        if(!match_timestamp ||
-          x_val < automation->timestamp->timer.ags_offset.offset + 
AGS_AUTOMATION_DEFAULT_OFFSET){
+          (x_val >= automation->timestamp->timer.ags_offset.offset &&
+           x_val < automation->timestamp->timer.ags_offset.offset + 
AGS_AUTOMATION_DEFAULT_OFFSET)){
          acceleration = ags_acceleration_new();
          
          acceleration->x = x_val;
@@ -2242,7 +2254,7 @@
        !g_ascii_strcasecmp(AGS_AUTOMATION(automation->data)->control_name,
                           specifier) &&
        AGS_AUTOMATION(automation->data)->channel_type == channel_type &&
-       AGS_AUTOMATION(automation->data)->line == 
AGS_AUTOMATION(automation->data)->line){
+       AGS_AUTOMATION(automation->data)->line == line){
 
       break;
     }
@@ -2309,6 +2321,8 @@
     }
     
     ret_x = AGS_ACCELERATION(acceleration->data)->x;
+  }else{
+    return(G_MAXUINT);
   }
   
   if(!port->port_value_is_pointer){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_notation.c 
new/gsequencer-1.4.29/ags/audio/ags_notation.c
--- old/gsequencer-1.4.25/ags/audio/ags_notation.c      2018-04-09 
23:16:05.000000000 +0200
+++ new/gsequencer-1.4.29/ags/audio/ags_notation.c      2018-05-07 
09:57:26.000000000 +0200
@@ -943,6 +943,7 @@
   g_object_ref(note);
   
   if(use_selection_list){
+    note->flags |= AGS_NOTE_IS_SELECTED;
     notation->selection = g_list_insert_sorted(notation->selection,
                                               note,
                                               (GCompareFunc) 
ags_note_sort_func);
@@ -1276,6 +1277,16 @@
 void
 ags_notation_free_selection(AgsNotation *notation)
 {
+  GList *list;
+
+  list = notation->selection;
+
+  while(list != NULL){
+    AGS_NOTE(list->data)->flags &= (~AGS_NOTE_IS_SELECTED);
+
+    list = list->next;
+  }
+  
   g_list_free_full(notation->selection,
                   g_object_unref);
   
@@ -1300,13 +1311,12 @@
   list = notation->notes;
   
   while(list != NULL){
-    AGS_NOTE(list->data)->flags |= AGS_NOTE_IS_SELECTED;
-    g_object_ref(G_OBJECT(list->data));
+    ags_notation_add_note(notation,
+                         list->data,
+                         TRUE);
     
     list = list->next;
   }
-
-  notation->selection = g_list_copy(notation->notes);
 }
 
 /**
@@ -1338,12 +1348,12 @@
     }
   }else{
     /* add to or replace selection */
-    note->flags |= AGS_NOTE_IS_SELECTED;
-    g_object_ref(note);
-
     if(replace_current_selection){
       GList *list;
 
+      note->flags |= AGS_NOTE_IS_SELECTED;
+      g_object_ref(note);
+
       list = g_list_alloc();
       list->data = note;
       
@@ -1421,9 +1431,10 @@
     list = region;
 
     while(list != NULL){
-      AGS_NOTE(list->data)->flags |= AGS_NOTE_IS_SELECTED;
-      g_object_ref(G_OBJECT(list->data));
-
+      ags_notation_add_note(notation,
+                           list->data,
+                           TRUE);
+      
       list = list->next;
     }
 
@@ -1433,8 +1444,6 @@
       note = AGS_NOTE(region->data);
 
       if(!ags_notation_is_note_selected(notation, note)){
-       note->flags |= AGS_NOTE_IS_SELECTED;
-       g_object_ref(G_OBJECT(note));
        ags_notation_add_note(notation,
                              note,
                              TRUE);
@@ -1882,7 +1891,8 @@
          
          /* add note */
          if(!match_timestamp ||
-            x0_val < notation->timestamp->timer.ags_offset.offset + 
AGS_NOTATION_DEFAULT_OFFSET){
+            (x0_val >= notation->timestamp->timer.ags_offset.offset &&
+             x0_val < notation->timestamp->timer.ags_offset.offset + 
AGS_NOTATION_DEFAULT_OFFSET)){
            note = ags_note_new();
 
            note->x[0] = x0_val;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_notation.h 
new/gsequencer-1.4.29/ags/audio/ags_notation.h
--- old/gsequencer-1.4.25/ags/audio/ags_notation.h      2018-04-09 
23:16:05.000000000 +0200
+++ new/gsequencer-1.4.29/ags/audio/ags_notation.h      2018-05-07 
09:44:00.000000000 +0200
@@ -45,7 +45,7 @@
 #define AGS_NOTATION_DEFAULT_LENGTH (65535.0 / AGS_NOTATION_TICS_PER_BEAT - 
AGS_NOTATION_MAXIMUM_NOTE_LENGTH)
 #define AGS_NOTATION_DEFAULT_JIFFIE (60.0 / AGS_NOTATION_DEFAULT_BPM / 
AGS_NOTATION_TICS_PER_BEAT)
 #define AGS_NOTATION_DEFAULT_DURATION (AGS_NOTATION_DEFAULT_LENGTH * 
AGS_NOTATION_DEFAULT_JIFFIE * AGS_MICROSECONDS_PER_SECOND)
-#define AGS_NOTATION_DEFAULT_OFFSET (64 * (1 / 
AGS_NOTATION_MINIMUM_NOTE_LENGTH))
+#define AGS_NOTATION_DEFAULT_OFFSET (64 * (1.0 / 
AGS_NOTATION_MINIMUM_NOTE_LENGTH))
 
 #define AGS_NOTATION_CLIPBOARD_VERSION "1.2.0"
 #define AGS_NOTATION_CLIPBOARD_TYPE "AgsNotationClipboardXml"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_recall_dssi.c 
new/gsequencer-1.4.29/ags/audio/ags_recall_dssi.c
--- old/gsequencer-1.4.25/ags/audio/ags_recall_dssi.c   2018-03-04 
20:27:35.000000000 +0100
+++ new/gsequencer-1.4.29/ags/audio/ags_recall_dssi.c   2018-05-07 
01:53:42.000000000 +0200
@@ -564,6 +564,10 @@
   DSSI_Descriptor_Function dssi_descriptor;
   DSSI_Descriptor *plugin_descriptor;
 
+  if(!AGS_IS_RECALL_DSSI(recall_dssi)){
+    return;
+  }
+
   /*  */
   dssi_plugin = 
ags_dssi_manager_find_dssi_plugin(ags_dssi_manager_get_instance(),
                                                  recall_dssi->filename, 
recall_dssi->effect);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_recall_ladspa.c 
new/gsequencer-1.4.29/ags/audio/ags_recall_ladspa.c
--- old/gsequencer-1.4.25/ags/audio/ags_recall_ladspa.c 2018-03-04 
07:14:51.000000000 +0100
+++ new/gsequencer-1.4.29/ags/audio/ags_recall_ladspa.c 2018-05-07 
01:53:42.000000000 +0200
@@ -574,6 +574,10 @@
   LADSPA_Descriptor_Function ladspa_descriptor;
   LADSPA_Descriptor *plugin_descriptor;
 
+  if(!AGS_IS_RECALL_LADSPA(recall_ladspa)){
+    return;
+  }
+
   /*  */
   ladspa_plugin = 
ags_ladspa_manager_find_ladspa_plugin(ags_ladspa_manager_get_instance(),
                                                        
recall_ladspa->filename, recall_ladspa->effect);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_recall_lv2.c 
new/gsequencer-1.4.29/ags/audio/ags_recall_lv2.c
--- old/gsequencer-1.4.25/ags/audio/ags_recall_lv2.c    2018-03-04 
20:27:35.000000000 +0100
+++ new/gsequencer-1.4.29/ags/audio/ags_recall_lv2.c    2018-05-07 
01:53:42.000000000 +0200
@@ -697,8 +697,7 @@
   LV2_Descriptor_Function lv2_descriptor;
   LV2_Descriptor *plugin_descriptor;
 
-  if(recall_lv2 == NULL ||
-     !AGS_RECALL_LV2(recall_lv2)){
+  if(!AGS_IS_RECALL_LV2(recall_lv2)){
     return;
   }
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/ags_recycling.c 
new/gsequencer-1.4.29/ags/audio/ags_recycling.c
--- old/gsequencer-1.4.25/ags/audio/ags_recycling.c     2018-04-09 
23:16:05.000000000 +0200
+++ new/gsequencer-1.4.29/ags/audio/ags_recycling.c     2018-05-07 
01:53:42.000000000 +0200
@@ -675,6 +675,9 @@
                   g_object_unref);
 
   recycling->audio_signal = NULL;
+
+  /* call parent */
+  G_OBJECT_CLASS(ags_recycling_parent_class)->dispose(gobject);
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/pulse/ags_pulse_client.c 
new/gsequencer-1.4.29/ags/audio/pulse/ags_pulse_client.c
--- old/gsequencer-1.4.25/ags/audio/pulse/ags_pulse_client.c    2018-04-09 
23:16:05.000000000 +0200
+++ new/gsequencer-1.4.29/ags/audio/pulse/ags_pulse_client.c    2018-05-07 
01:53:42.000000000 +0200
@@ -757,8 +757,10 @@
   if(pulse_client->context == NULL){
     return;
   }
-
+  
+#ifdef AGS_WITH_PULSE
   pa_context_disconnect(pulse_client->context);
+#endif
   
   pulse_client->flags &= (~AGS_PULSE_CLIENT_ACTIVATED);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gsequencer-1.4.25/ags/audio/recall/ags_envelope_audio_signal.c 
new/gsequencer-1.4.29/ags/audio/recall/ags_envelope_audio_signal.c
--- old/gsequencer-1.4.25/ags/audio/recall/ags_envelope_audio_signal.c  
2018-03-04 20:27:35.000000000 +0100
+++ new/gsequencer-1.4.29/ags/audio/recall/ags_envelope_audio_signal.c  
2018-05-07 01:53:42.000000000 +0200
@@ -513,7 +513,8 @@
                                       current_buffer_size,
                                       current_volume,
                                       current_ratio);
-
+       g_message("--- %f %f", current_volume, current_ratio);
+       
        current_frame += current_buffer_size;
       }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/audio/task/ags_export_output.c 
new/gsequencer-1.4.29/ags/audio/task/ags_export_output.c
--- old/gsequencer-1.4.25/ags/audio/task/ags_export_output.c    2018-03-04 
20:27:35.000000000 +0100
+++ new/gsequencer-1.4.29/ags/audio/task/ags_export_output.c    2018-05-07 
01:53:42.000000000 +0200
@@ -494,6 +494,10 @@
   
   tic = export_output->tic;
 
+  if(soundcard == NULL){
+    return;
+  }  
+  
   /* get soundcard mutex */
   pthread_mutex_lock(application_mutex);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/gsequencer_main.c 
new/gsequencer-1.4.29/ags/gsequencer_main.c
--- old/gsequencer-1.4.25/ags/gsequencer_main.c 2018-04-09 23:16:05.000000000 
+0200
+++ new/gsequencer-1.4.29/ags/gsequencer_main.c 2018-05-07 01:53:42.000000000 
+0200
@@ -379,6 +379,9 @@
 #endif
   
 #if 0
+  g_log_set_fatal_mask("GLib", // "Gtk" , // 
+                      G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL); // 
G_LOG_LEVEL_WARNING
+  
   g_log_set_fatal_mask("GLib-GObject", // "Gtk" , // 
                       G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL); // 
G_LOG_LEVEL_WARNING
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ags/plugin/ags_lv2_plugin.c 
new/gsequencer-1.4.29/ags/plugin/ags_lv2_plugin.c
--- old/gsequencer-1.4.25/ags/plugin/ags_lv2_plugin.c   2018-03-07 
11:51:25.000000000 +0100
+++ new/gsequencer-1.4.29/ags/plugin/ags_lv2_plugin.c   2018-05-07 
01:53:42.000000000 +0200
@@ -2010,7 +2010,8 @@
   }
 
   while(lv2_plugin != NULL){
-    if(!g_ascii_strcasecmp(pname,
+    if(AGS_LV2_PLUGIN(lv2_plugin->data)->pname != NULL &&
+       !g_ascii_strcasecmp(pname,
                           AGS_LV2_PLUGIN(lv2_plugin->data)->pname)){
       return(lv2_plugin);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/configure 
new/gsequencer-1.4.29/configure
--- old/gsequencer-1.4.25/configure     2018-04-09 23:19:07.000000000 +0200
+++ new/gsequencer-1.4.29/configure     2018-05-07 10:01:00.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gsequencer 1.4.25.
+# Generated by GNU Autoconf 2.69 for gsequencer 1.4.29.
 #
 # Report bugs to <[email protected]>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='gsequencer'
 PACKAGE_TARNAME='gsequencer'
-PACKAGE_VERSION='1.4.25'
-PACKAGE_STRING='gsequencer 1.4.25'
+PACKAGE_VERSION='1.4.29'
+PACKAGE_STRING='gsequencer 1.4.29'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1473,7 +1473,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gsequencer 1.4.25 to adapt to many kinds of systems.
+\`configure' configures gsequencer 1.4.29 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1548,7 +1548,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gsequencer 1.4.25:";;
+     short | recursive ) echo "Configuration of gsequencer 1.4.29:";;
    esac
   cat <<\_ACEOF
 
@@ -1741,7 +1741,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gsequencer configure 1.4.25
+gsequencer configure 1.4.29
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2218,7 +2218,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gsequencer $as_me 1.4.25, which was
+It was created by gsequencer $as_me 1.4.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3085,7 +3085,7 @@
 
 # Define the identity of the package.
  PACKAGE='gsequencer'
- VERSION='1.4.25'
+ VERSION='1.4.29'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -19597,7 +19597,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gsequencer $as_me 1.4.25, which was
+This file was extended by gsequencer $as_me 1.4.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19663,7 +19663,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gsequencer config.status 1.4.25
+gsequencer config.status 1.4.29
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/configure.ac 
new/gsequencer-1.4.29/configure.ac
--- old/gsequencer-1.4.25/configure.ac  2018-04-09 23:16:17.000000000 +0200
+++ new/gsequencer-1.4.29/configure.ac  2018-05-07 10:00:43.000000000 +0200
@@ -6,7 +6,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.69])
-AC_INIT([gsequencer],[1.4.25],[[email protected]])
+AC_INIT([gsequencer],[1.4.29],[[email protected]])
 AM_INIT_AUTOMAKE([subdir-objects])
 AC_CONFIG_SRCDIR([ags/config.h.in])
 AC_CONFIG_HEADERS([ags/config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/ltmain.sh 
new/gsequencer-1.4.29/ltmain.sh
--- old/gsequencer-1.4.25/ltmain.sh     2018-04-09 23:19:03.000000000 +0200
+++ new/gsequencer-1.4.29/ltmain.sh     2018-05-07 10:00:57.000000000 +0200
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-2"
+VERSION="2.4.6 Debian-2.4.6-2.1"
 package_revision=2.4.6
 
 
@@ -64,7 +64,7 @@
 # libraries, which are installed to $pkgauxdir.
 
 # Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2015-10-12.13; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
@@ -580,16 +580,16 @@
   {
     $debug_cmd
 
-    func_quote_for_eval "$2"
-    eval "$1+=\\ \$func_quote_for_eval_result"
+    func_quote_arg pretty "$2"
+    eval "$1+=\\ \$func_quote_arg_result"
   }'
 else
   func_append_quoted ()
   {
     $debug_cmd
 
-    func_quote_for_eval "$2"
-    eval "$1=\$$1\\ \$func_quote_for_eval_result"
+    func_quote_arg pretty "$2"
+    eval "$1=\$$1\\ \$func_quote_arg_result"
   }
 fi
 
@@ -1091,85 +1091,181 @@
 }
 
 
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-#   i) func_quote_for_eval_result
-#      double-quoted, suitable for a subsequent eval
-#  ii) func_quote_for_eval_unquoted_result
-#      has all characters that are still active within double
-#      quotes backslashified.
-func_quote_for_eval ()
+# func_quote_portable EVAL ARG
+# ----------------------------
+# Internal function to portably implement func_quote_arg.  Note that we still
+# keep attention to performance here so we as much as possible try to avoid
+# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
+func_quote_portable ()
 {
     $debug_cmd
 
-    func_quote_for_eval_unquoted_result=
-    func_quote_for_eval_result=
-    while test 0 -lt $#; do
-      case $1 in
-        *[\\\`\"\$]*)
-         _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
-        *)
-          _G_unquoted_arg=$1 ;;
-      esac
-      if test -n "$func_quote_for_eval_unquoted_result"; then
-       func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
-      else
-        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+    func_quote_portable_result=$2
+
+    # one-time-loop (easy break)
+    while true
+    do
+      if $1; then
+        func_quote_portable_result=`$ECHO "$2" | $SED \
+          -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
+        break
       fi
 
-      case $_G_unquoted_arg in
-        # Double-quote args containing shell metacharacters to delay
-        # word splitting, command substitution and variable expansion
-        # for a subsequent eval.
-        # Many Bourne shells cannot handle close brackets correctly
-        # in scan sets, so we specify it separately.
-        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \  ]*|*]*|"")
-          _G_quoted_arg=\"$_G_unquoted_arg\"
+      # Quote for eval.
+      case $func_quote_portable_result in
+        *[\\\`\"\$]*)
+          case $func_quote_portable_result in
+            *[\[\*\?]*)
+              func_quote_portable_result=`$ECHO "$func_quote_portable_result" 
| $SED "$sed_quote_subst"`
+              break
+              ;;
+          esac
+
+          func_quote_portable_old_IFS=$IFS
+          for _G_char in '\' '`' '"' '$'
+          do
+            # STATE($1) PREV($2) SEPARATOR($3)
+            set start "" ""
+            
func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
+            IFS=$_G_char
+            for _G_part in $func_quote_portable_result
+            do
+              case $1 in
+              quote)
+                func_append func_quote_portable_result "$3$2"
+                set quote "$_G_part" "\\$_G_char"
+                ;;
+              start)
+                set first "" ""
+                func_quote_portable_result=
+                ;;
+              first)
+                set quote "$_G_part" ""
+                ;;
+              esac
+            done
+          done
+          IFS=$func_quote_portable_old_IFS
           ;;
-        *)
-          _G_quoted_arg=$_G_unquoted_arg
-         ;;
+        *) ;;
       esac
-
-      if test -n "$func_quote_for_eval_result"; then
-       func_append func_quote_for_eval_result " $_G_quoted_arg"
-      else
-        func_append func_quote_for_eval_result "$_G_quoted_arg"
-      fi
-      shift
+      break
     done
+
+    func_quote_portable_unquoted_result=$func_quote_portable_result
+    case $func_quote_portable_result in
+      # double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and variable expansion
+      # for a subsequent eval.
+      # many bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        func_quote_portable_result=\"$func_quote_portable_result\"
+        ;;
+    esac
 }
 
 
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    $debug_cmd
+# func_quotefast_eval ARG
+# -----------------------
+# Quote one ARG (internal).  This is equivalent to 'func_quote_arg eval ARG',
+# but optimized for speed.  Result is stored in $func_quotefast_eval.
+if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
+  func_quotefast_eval ()
+  {
+    printf -v func_quotefast_eval_result %q "$1"
+  }
+else
+  func_quotefast_eval ()
+  {
+    func_quote_portable false "$1"
+    func_quotefast_eval_result=$func_quote_portable_result
+  }
+fi
 
-    case $1 in
-      *[\\\`\"]*)
-       _G_arg=`$ECHO "$1" | $SED \
-           -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        _G_arg=$1 ;;
+
+# func_quote_arg MODEs ARG
+# ------------------------
+# Quote one ARG to be evaled later.  MODEs argument may contain zero ore more
+# specifiers listed below separated by ',' character.  This function returns 
two
+# values:
+#   i) func_quote_arg_result
+#      double-quoted (when needed), suitable for a subsequent eval
+#  ii) func_quote_arg_unquoted_result
+#      has all characters that are still active within double
+#      quotes backslashified.  Available only if 'unquoted' is specified.
+#
+# Available modes:
+# ----------------
+# 'eval' (default)
+#       - escape shell special characters
+# 'expand'
+#       - the same as 'eval';  but do not quote variable references
+# 'pretty'
+#       - request aesthetic output, i.e. '"a b"' instead of 'a\ b'.  This might
+#         later used in func_quote to get output like: 'echo "a b"' instead of
+#         'echo a\ b'.  This is slower than default on some shells.
+# 'unquoted'
+#       - produce also $func_quote_arg_unquoted_result which does not contain
+#         wrapping double-quotes.
+#
+# Examples for 'func_quote_arg pretty,unquoted string':
+#
+#   string      | *_result              | *_unquoted_result
+#   ------------+-----------------------+-------------------
+#   "           | \"                    | \"
+#   a b         | "a b"                 | a b
+#   "a b"       | "\"a b\""             | \"a b\"
+#   *           | "*"                   | *
+#   z="${x-$y}" | "z=\"\${x-\$y}\""     | z=\"\${x-\$y}\"
+#
+# Examples for 'func_quote_arg pretty,unquoted,expand string':
+#
+#   string        |   *_result          |  *_unquoted_result
+#   --------------+---------------------+--------------------
+#   z="${x-$y}"   | "z=\"${x-$y}\""     | z=\"${x-$y}\"
+func_quote_arg ()
+{
+    _G_quote_expand=false
+    case ,$1, in
+      *,expand,*)
+        _G_quote_expand=:
+        ;;
     esac
 
-    case $_G_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        _G_arg=\"$_G_arg\"
+    case ,$1, in
+      *,pretty,*|*,expand,*|*,unquoted,*)
+        func_quote_portable $_G_quote_expand "$2"
+        func_quote_arg_result=$func_quote_portable_result
+        func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
+        ;;
+      *)
+        # Faster quote-for-eval for some shells.
+        func_quotefast_eval "$2"
+        func_quote_arg_result=$func_quotefast_eval_result
         ;;
     esac
+}
+
 
-    func_quote_for_expand_result=$_G_arg
+# func_quote MODEs ARGs...
+# ------------------------
+# Quote all ARGs to be evaled later and join them into single command.  See
+# func_quote_arg's description for more info.
+func_quote ()
+{
+    $debug_cmd
+    _G_func_quote_mode=$1 ; shift
+    func_quote_result=
+    while test 0 -lt $#; do
+      func_quote_arg "$_G_func_quote_mode" "$1"
+      if test -n "$func_quote_result"; then
+        func_append func_quote_result " $func_quote_arg_result"
+      else
+        func_append func_quote_result "$func_quote_arg_result"
+      fi
+      shift
+    done
 }
 
 
@@ -1215,8 +1311,8 @@
     _G_cmd=$1
     _G_fail_exp=${2-':'}
 
-    func_quote_for_expand "$_G_cmd"
-    eval "func_notquiet $func_quote_for_expand_result"
+    func_quote_arg pretty,expand "$_G_cmd"
+    eval "func_notquiet $func_quote_arg_result"
 
     $opt_dry_run || {
       eval "$_G_cmd"
@@ -1241,8 +1337,8 @@
     _G_fail_exp=${2-':'}
 
     $opt_quiet || {
-      func_quote_for_expand "$_G_cmd"
-      eval "func_echo $func_quote_for_expand_result"
+      func_quote_arg expand,pretty "$_G_cmd"
+      eval "func_echo $func_quote_arg_result"
     }
 
     $opt_dry_run || {
@@ -1370,7 +1466,7 @@
 #! /bin/sh
 
 # Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
+scriptversion=2015-10-12.13; # UTC
 
 # A portable, pluggable option parser for Bourne shell.
 # Written by Gary V. Vaughan, 2010
@@ -1530,6 +1626,8 @@
 {
     $debug_cmd
 
+    _G_rc_run_hooks=false
+
     case " $hookable_fns " in
       *" $1 "*) ;;
       *) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -1538,16 +1636,16 @@
     eval _G_hook_fns=\$$1_hooks; shift
 
     for _G_hook in $_G_hook_fns; do
-      eval $_G_hook '"$@"'
-
-      # store returned options list back into positional
-      # parameters for next 'cmd' execution.
-      eval _G_hook_result=\$${_G_hook}_result
-      eval set dummy "$_G_hook_result"; shift
+      if eval $_G_hook '"$@"'; then
+        # store returned options list back into positional
+        # parameters for next 'cmd' execution.
+        eval _G_hook_result=\$${_G_hook}_result
+        eval set dummy "$_G_hook_result"; shift
+        _G_rc_run_hooks=:
+      fi
     done
 
-    func_quote_for_eval ${1+"$@"}
-    func_run_hooks_result=$func_quote_for_eval_result
+    $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
 }
 
 
@@ -1557,10 +1655,16 @@
 ## --------------- ##
 
 # In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
+# full positional parameter list in your hook function, you may remove/edit
+# any options that you action, and then pass back the remaining unprocessed
 # options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'.  Like this:
+# 'eval'.  In this case you also must return $EXIT_SUCCESS to let the
+# hook's caller know that it should pay attention to
+# '<hooked_function_name>_result'.  Returning $EXIT_FAILURE signalizes that
+# arguments are left untouched by the hook and therefore caller will ignore the
+# result variable.
+#
+# Like this:
 #
 #    my_options_prep ()
 #    {
@@ -1570,9 +1674,11 @@
 #        usage_message=$usage_message'
 #      -s, --silent       don'\''t print informational messages
 #    '
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_options_prep_result=$func_quote_for_eval_result
+#        # No change in '$@' (ignored completely by this hook).  There is
+#        # no need to do the equivalent (but slower) action:
+#        # func_quote eval ${1+"$@"}
+#        # my_options_prep_result=$func_quote_result
+#        false
 #    }
 #    func_add_hook func_options_prep my_options_prep
 #
@@ -1581,25 +1687,37 @@
 #    {
 #        $debug_cmd
 #
+#        args_changed=false
+#
 #        # Note that for efficiency, we parse as many options as we can
 #        # recognise in a loop before passing the remainder back to the
 #        # caller on the first unrecognised argument we encounter.
 #        while test $# -gt 0; do
 #          opt=$1; shift
 #          case $opt in
-#            --silent|-s) opt_silent=: ;;
+#            --silent|-s) opt_silent=:
+#                         args_changed=:
+#                         ;;
 #            # Separate non-argument short options:
 #            -s*)         func_split_short_opt "$_G_opt"
 #                         set dummy "$func_split_short_opt_name" \
 #                             "-$func_split_short_opt_arg" ${1+"$@"}
 #                         shift
+#                         args_changed=:
 #                         ;;
-#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+#            *)           # Make sure the first unrecognised option "$_G_opt"
+#                         # is added back to "$@", we could need that later
+#                         # if $args_changed is true.
+#                         set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
 #          esac
 #        done
 #
-#        func_quote_for_eval ${1+"$@"}
-#        my_silent_option_result=$func_quote_for_eval_result
+#        if $args_changed; then
+#          func_quote eval ${1+"$@"}
+#          my_silent_option_result=$func_quote_result
+#        fi
+#
+#        $args_changed
 #    }
 #    func_add_hook func_parse_options my_silent_option
 #
@@ -1611,16 +1729,32 @@
 #        $opt_silent && $opt_verbose && func_fatal_help "\
 #    '--silent' and '--verbose' options are mutually exclusive."
 #
-#        func_quote_for_eval ${1+"$@"}
-#        my_option_validation_result=$func_quote_for_eval_result
+#        false
 #    }
 #    func_add_hook func_validate_options my_option_validation
 #
-# You'll alse need to manually amend $usage_message to reflect the extra
+# You'll also need to manually amend $usage_message to reflect the extra
 # options you parse.  It's preferable to append if you can, so that
 # multiple option parsing hooks can be added safely.
 
 
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+    $debug_cmd
+
+    _G_func_options_finish_exit=false
+    if func_run_hooks func_options ${1+"$@"}; then
+      func_options_finish_result=$func_run_hooks_result
+      _G_func_options_finish_exit=:
+    fi
+
+    $_G_func_options_finish_exit
+}
+
+
 # func_options [ARG]...
 # ---------------------
 # All the functions called inside func_options are hookable. See the
@@ -1630,17 +1764,28 @@
 {
     $debug_cmd
 
-    func_options_prep ${1+"$@"}
-    eval func_parse_options \
-        ${func_options_prep_result+"$func_options_prep_result"}
-    eval func_validate_options \
-        ${func_parse_options_result+"$func_parse_options_result"}
+    _G_rc_options=false
 
-    eval func_run_hooks func_options \
-        ${func_validate_options_result+"$func_validate_options_result"}
+    for my_func in options_prep parse_options validate_options options_finish
+    do
+      if eval func_$my_func '${1+"$@"}'; then
+        eval _G_res_var='$'"func_${my_func}_result"
+        eval set dummy "$_G_res_var" ; shift
+        _G_rc_options=:
+      fi
+    done
+
+    # Save modified positional parameters for caller.  As a top-level
+    # options-parser function we always need to set the 'func_options_result'
+    # variable (regardless the $_G_rc_options value).
+    if $_G_rc_options; then
+      func_options_result=$_G_res_var
+    else
+      func_quote eval ${1+"$@"}
+      func_options_result=$func_quote_result
+    fi
 
-    # save modified positional parameters for caller
-    func_options_result=$func_run_hooks_result
+    $_G_rc_options
 }
 
 
@@ -1649,9 +1794,9 @@
 # All initialisations required before starting the option parse loop.
 # Note that when calling hook functions, we pass through the list of
 # positional parameters.  If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
+# needs to propagate that back to rest of this script, then the complete
 # modified list must be put in 'func_run_hooks_result' before
-# returning.
+# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
 func_hookable func_options_prep
 func_options_prep ()
 {
@@ -1661,10 +1806,14 @@
     opt_verbose=false
     opt_warning_types=
 
-    func_run_hooks func_options_prep ${1+"$@"}
+    _G_rc_options_prep=false
+    if func_run_hooks func_options_prep ${1+"$@"}; then
+      _G_rc_options_prep=:
+      # save modified positional parameters for caller
+      func_options_prep_result=$func_run_hooks_result
+    fi
 
-    # save modified positional parameters for caller
-    func_options_prep_result=$func_run_hooks_result
+    $_G_rc_options_prep
 }
 
 
@@ -1678,18 +1827,20 @@
 
     func_parse_options_result=
 
+    _G_rc_parse_options=false
     # this just eases exit handling
     while test $# -gt 0; do
       # Defer to hook functions for initial option parsing, so they
       # get priority in the event of reusing an option name.
-      func_run_hooks func_parse_options ${1+"$@"}
-
-      # Adjust func_parse_options positional parameters to match
-      eval set dummy "$func_run_hooks_result"; shift
+      if func_run_hooks func_parse_options ${1+"$@"}; then
+        eval set dummy "$func_run_hooks_result"; shift
+        _G_rc_parse_options=:
+      fi
 
       # Break out of the loop if we already parsed every option.
       test $# -gt 0 || break
 
+      _G_match_parse_options=:
       _G_opt=$1
       shift
       case $_G_opt in
@@ -1704,7 +1855,10 @@
                      ;;
 
         --warnings|--warning|-W)
-                      test $# = 0 && func_missing_arg $_G_opt && break
+                      if test $# = 0 && func_missing_arg $_G_opt; then
+                        _G_rc_parse_options=:
+                        break
+                      fi
                       case " $warning_categories $1" in
                         *" $1 "*)
                           # trailing space prevents matching last $1 above
@@ -1757,15 +1911,25 @@
                       shift
                       ;;
 
-        --)           break ;;
+        --)           _G_rc_parse_options=: ; break ;;
         -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
-        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift
+                      _G_match_parse_options=false
+                      break
+                      ;;
       esac
+
+      $_G_match_parse_options && _G_rc_parse_options=:
     done
 
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    func_parse_options_result=$func_quote_for_eval_result
+
+    if $_G_rc_parse_options; then
+      # save modified positional parameters for caller
+      func_quote eval ${1+"$@"}
+      func_parse_options_result=$func_quote_result
+    fi
+
+    $_G_rc_parse_options
 }
 
 
@@ -1778,16 +1942,21 @@
 {
     $debug_cmd
 
+    _G_rc_validate_options=false
+
     # Display all warnings if -W was not given.
     test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
 
-    func_run_hooks func_validate_options ${1+"$@"}
+    if func_run_hooks func_validate_options ${1+"$@"}; then
+      # save modified positional parameters for caller
+      func_validate_options_result=$func_run_hooks_result
+      _G_rc_validate_options=:
+    fi
 
     # Bail if the options were screwed!
     $exit_cmd $EXIT_FAILURE
 
-    # save modified positional parameters for caller
-    func_validate_options_result=$func_run_hooks_result
+    $_G_rc_validate_options
 }
 
 
@@ -2068,7 +2237,7 @@
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname $scriptversion Debian-2.4.6-2
+       version:        $progname $scriptversion Debian-2.4.6-2.1
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
@@ -2270,6 +2439,8 @@
     nonopt=
     preserve_args=
 
+    _G_rc_lt_options_prep=:
+
     # Shorthand for --mode=foo, only valid as the first argument
     case $1 in
     clean|clea|cle|cl)
@@ -2293,11 +2464,18 @@
     uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
       shift; set dummy --mode uninstall ${1+"$@"}; shift
       ;;
+    *)
+      _G_rc_lt_options_prep=false
+      ;;
     esac
 
-    # Pass back the list of options.
-    func_quote_for_eval ${1+"$@"}
-    libtool_options_prep_result=$func_quote_for_eval_result
+    if $_G_rc_lt_options_prep; then
+      # Pass back the list of options.
+      func_quote eval ${1+"$@"}
+      libtool_options_prep_result=$func_quote_result
+    fi
+
+    $_G_rc_lt_options_prep
 }
 func_add_hook func_options_prep libtool_options_prep
 
@@ -2309,9 +2487,12 @@
 {
     $debug_cmd
 
+    _G_rc_lt_parse_options=false
+
     # Perform our own loop to consume as many options as possible in
     # each iteration.
     while test $# -gt 0; do
+      _G_match_lt_parse_options=:
       _G_opt=$1
       shift
       case $_G_opt in
@@ -2386,15 +2567,22 @@
                         func_append preserve_args " $_G_opt"
                         ;;
 
-       # An option not handled by this hook function:
-        *)             set dummy "$_G_opt" ${1+"$@"};  shift; break  ;;
+        # An option not handled by this hook function:
+        *)              set dummy "$_G_opt" ${1+"$@"} ; shift
+                        _G_match_lt_parse_options=false
+                        break
+                        ;;
       esac
+      $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
     done
 
+    if $_G_rc_lt_parse_options; then
+      # save modified positional parameters for caller
+      func_quote eval ${1+"$@"}
+      libtool_parse_options_result=$func_quote_result
+    fi
 
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    libtool_parse_options_result=$func_quote_for_eval_result
+    $_G_rc_lt_parse_options
 }
 func_add_hook func_parse_options libtool_parse_options
 
@@ -2451,8 +2639,8 @@
     }
 
     # Pass back the unparsed argument list
-    func_quote_for_eval ${1+"$@"}
-    libtool_validate_options_result=$func_quote_for_eval_result
+    func_quote eval ${1+"$@"}
+    libtool_validate_options_result=$func_quote_result
 }
 func_add_hook func_validate_options libtool_validate_options
 
@@ -3418,8 +3606,8 @@
       esac
     done
 
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
+    func_quote_arg pretty "$libobj"
+    test "X$libobj" != "X$func_quote_arg_result" \
       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
       && func_warning "libobj name '$libobj' may not contain shell special 
characters."
     func_dirname_and_basename "$obj" "/" ""
@@ -3492,8 +3680,8 @@
 
     func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
     srcfile=$func_to_tool_file_result
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
+    func_quote_arg pretty "$srcfile"
+    qsrcfile=$func_quote_arg_result
 
     # Only build a PIC object if we are building libtool libraries.
     if test yes = "$build_libtool_libs"; then
@@ -4096,8 +4284,8 @@
        case $nonopt in *shtool*) :;; *) false;; esac
     then
       # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
+      func_quote_arg pretty "$nonopt"
+      install_prog="$func_quote_arg_result "
       arg=$1
       shift
     else
@@ -4107,8 +4295,8 @@
 
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    func_append install_prog "$func_quote_for_eval_result"
+    func_quote_arg pretty "$arg"
+    func_append install_prog "$func_quote_arg_result"
     install_shared_prog=$install_prog
     case " $install_prog " in
       *[\\\ /]cp\ *) install_cp=: ;;
@@ -4165,12 +4353,12 @@
       esac
 
       # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      func_append install_prog " $func_quote_for_eval_result"
+      func_quote_arg pretty "$arg"
+      func_append install_prog " $func_quote_arg_result"
       if test -n "$arg2"; then
-       func_quote_for_eval "$arg2"
+       func_quote_arg pretty "$arg2"
       fi
-      func_append install_shared_prog " $func_quote_for_eval_result"
+      func_append install_shared_prog " $func_quote_arg_result"
     done
 
     test -z "$install_prog" && \
@@ -4181,8 +4369,8 @@
 
     if test -n "$install_override_mode" && $no_mode; then
       if $install_cp; then :; else
-       func_quote_for_eval "$install_override_mode"
-       func_append install_shared_prog " -m $func_quote_for_eval_result"
+       func_quote_arg pretty "$install_override_mode"
+       func_append install_shared_prog " -m $func_quote_arg_result"
       fi
     fi
 
@@ -4478,8 +4666,8 @@
                relink_command=`$ECHO "$relink_command" | $SED 
's%@OUTPUT@%'"$outputname"'%g'`
 
                $opt_quiet || {
-                 func_quote_for_expand "$relink_command"
-                 eval "func_echo $func_quote_for_expand_result"
+                 func_quote_arg expand,pretty "$relink_command"
+                 eval "func_echo $func_quote_arg_result"
                }
                if eval "$relink_command"; then :
                  else
@@ -5258,7 +5446,8 @@
   if test \"\$libtool_execute_magic\" != \"$magic\"; then
     file=\"\$0\""
 
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    func_quote_arg pretty "$ECHO"
+    qECHO=$func_quote_arg_result
     $ECHO "\
 
 # A function that is used when there is no print builtin or printf.
@@ -5268,7 +5457,7 @@
 \$1
 _LTECHO_EOF'
 }
-    ECHO=\"$qECHO\"
+    ECHO=$qECHO
   fi
 
 # Very basic option parsing. These options are (a) specific to
@@ -6611,9 +6800,9 @@
     while test "$#" -gt 0; do
       arg=$1
       shift
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
+      func_quote_arg pretty,unquoted "$arg"
+      qarg=$func_quote_arg_unquoted_result
+      func_append libtool_args " $func_quote_arg_result"
 
       # If the previous option needs an argument, assign it.
       if test -n "$prev"; then
@@ -7211,9 +7400,9 @@
        save_ifs=$IFS; IFS=,
        for flag in $args; do
          IFS=$save_ifs
-          func_quote_for_eval "$flag"
-         func_append arg " $func_quote_for_eval_result"
-         func_append compiler_flags " $func_quote_for_eval_result"
+          func_quote_arg pretty "$flag"
+         func_append arg " $func_quote_arg_result"
+         func_append compiler_flags " $func_quote_arg_result"
        done
        IFS=$save_ifs
        func_stripname ' ' '' "$arg"
@@ -7227,10 +7416,10 @@
        save_ifs=$IFS; IFS=,
        for flag in $args; do
          IFS=$save_ifs
-          func_quote_for_eval "$flag"
-         func_append arg " $wl$func_quote_for_eval_result"
-         func_append compiler_flags " $wl$func_quote_for_eval_result"
-         func_append linker_flags " $func_quote_for_eval_result"
+          func_quote_arg pretty "$flag"
+         func_append arg " $wl$func_quote_arg_result"
+         func_append compiler_flags " $wl$func_quote_arg_result"
+         func_append linker_flags " $func_quote_arg_result"
        done
        IFS=$save_ifs
        func_stripname ' ' '' "$arg"
@@ -7254,8 +7443,8 @@
 
       # -msg_* for osf cc
       -msg_*)
-       func_quote_for_eval "$arg"
-       arg=$func_quote_for_eval_result
+       func_quote_arg pretty "$arg"
+       arg=$func_quote_arg_result
        ;;
 
       # Flags to be passed through unchanged, with rationale:
@@ -7279,8 +7468,8 @@
       
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
       
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
       -specs=*|-fsanitize=*)
-        func_quote_for_eval "$arg"
-       arg=$func_quote_for_eval_result
+        func_quote_arg pretty "$arg"
+       arg=$func_quote_arg_result
         func_append compile_command " $arg"
         func_append finalize_command " $arg"
         func_append compiler_flags " $arg"
@@ -7301,15 +7490,15 @@
          continue
         else
          # Otherwise treat like 'Some other compiler flag' below
-         func_quote_for_eval "$arg"
-         arg=$func_quote_for_eval_result
+         func_quote_arg pretty "$arg"
+         arg=$func_quote_arg_result
         fi
        ;;
 
       # Some other compiler flag.
       -* | +*)
-        func_quote_for_eval "$arg"
-       arg=$func_quote_for_eval_result
+        func_quote_arg pretty "$arg"
+       arg=$func_quote_arg_result
        ;;
 
       *.$objext)
@@ -7429,8 +7618,8 @@
       *)
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
-       func_quote_for_eval "$arg"
-       arg=$func_quote_for_eval_result
+       func_quote_arg pretty "$arg"
+       arg=$func_quote_arg_result
        ;;
       esac # arg
 
@@ -9942,8 +10131,8 @@
            for cmd in $concat_cmds; do
              IFS=$save_ifs
              $opt_quiet || {
-                 func_quote_for_expand "$cmd"
-                 eval "func_echo $func_quote_for_expand_result"
+                 func_quote_arg expand,pretty "$cmd"
+                 eval "func_echo $func_quote_arg_result"
              }
              $opt_dry_run || eval "$cmd" || {
                lt_exit=$?
@@ -10036,8 +10225,8 @@
          eval cmd=\"$cmd\"
          IFS=$save_ifs
          $opt_quiet || {
-           func_quote_for_expand "$cmd"
-           eval "func_echo $func_quote_for_expand_result"
+           func_quote_arg expand,pretty "$cmd"
+           eval "func_echo $func_quote_arg_result"
          }
          $opt_dry_run || eval "$cmd" || {
            lt_exit=$?
@@ -10511,12 +10700,12 @@
          elif eval var_value=\$$var; test -z "$var_value"; then
            relink_command="$var=; export $var; $relink_command"
          else
-           func_quote_for_eval "$var_value"
-           relink_command="$var=$func_quote_for_eval_result; export $var; 
$relink_command"
+           func_quote_arg pretty "$var_value"
+           relink_command="$var=$func_quote_arg_result; export $var; 
$relink_command"
          fi
        done
-       relink_command="(cd `pwd`; $relink_command)"
-       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+       func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)"
+       relink_command=$func_quote_arg_unquoted_result
       fi
 
       # Only actually do things if not in dry run mode.
@@ -10756,13 +10945,14 @@
        elif eval var_value=\$$var; test -z "$var_value"; then
          relink_command="$var=; export $var; $relink_command"
        else
-         func_quote_for_eval "$var_value"
-         relink_command="$var=$func_quote_for_eval_result; export $var; 
$relink_command"
+         func_quote_arg pretty,unquoted "$var_value"
+         relink_command="$var=$func_quote_arg_unquoted_result; export $var; 
$relink_command"
        fi
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args 
--mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      func_quote_arg pretty,unquoted "$relink_command"
+      relink_command=$func_quote_arg_unquoted_result
       if test yes = "$hardcode_automatic"; then
        relink_command=
       fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gsequencer-1.4.25/po/gsequencer.pot 
new/gsequencer-1.4.29/po/gsequencer.pot
--- old/gsequencer-1.4.25/po/gsequencer.pot     2018-04-09 23:29:03.000000000 
+0200
+++ new/gsequencer-1.4.29/po/gsequencer.pot     2018-05-07 10:01:31.000000000 
+0200
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gsequencer 1.4.25\n"
+"Project-Id-Version: gsequencer 1.4.29\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2018-04-09 23:29+0200\n"
+"POT-Creation-Date: 2018-05-07 10:01+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <[email protected]>\n"
@@ -187,20 +187,20 @@
 msgid "backend"
 msgstr ""
 
-#: ags/X/ags_export_soundcard.c:211 ags/X/ags_output_collection_editor.c:240
+#: ags/X/ags_export_soundcard.c:208 ags/X/ags_output_collection_editor.c:240
 #: ags/X/ags_soundcard_editor.c:201
 msgid "soundcard"
 msgstr ""
 
-#: ags/X/ags_export_soundcard.c:231
+#: ags/X/ags_export_soundcard.c:228
 msgid "file"
 msgstr ""
 
-#: ags/X/ags_export_soundcard.c:259
+#: ags/X/ags_export_soundcard.c:256
 msgid "open"
 msgstr ""
 
-#: ags/X/ags_export_soundcard.c:266
+#: ags/X/ags_export_soundcard.c:263
 msgid "output format"
 msgstr ""
 


Reply via email to