[SCM] gsequencer/upstream: fixed dead-lock while soundcard is busy
jkraehemann-guest at users.alioth.debian.org
jkraehemann-guest at users.alioth.debian.org
Sun Jun 14 16:07:02 UTC 2015
The following commit has been merged in the upstream branch:
commit 741ec5b71fcf693805c6ff8535d52b267eb17a89
Author: Joël Krähemann <weedlight at gmail.com>
Date: Tue Apr 21 08:53:27 2015 +0000
fixed dead-lock while soundcard is busy
diff --git a/.deps/ags-ags_drum_callbacks.Po b/.deps/ags-ags_drum_callbacks.Po
index 03638f2..1771b48 100644
--- a/.deps/ags-ags_drum_callbacks.Po
+++ b/.deps/ags-ags_drum_callbacks.Po
@@ -561,17 +561,17 @@ ags-ags_drum_callbacks.o: src/ags/X/machine/ags_drum_callbacks.c \
src/ags/X/machine/ags_drum_input_pad.h src/ags/X/ags_pad.h \
src/ags/widget/ags_expander_set.h src/ags/X/ags_line.h \
src/ags/widget/ags_expander.h src/ags/X/ags_machine_callbacks.h \
- src/ags/audio/ags_task.h src/ags/main.h src/ags/lib/ags_log.h \
- src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
- src/ags/thread/ags_async_queue.h /usr/include/linux/futex.h \
- /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
- /usr/include/asm/bitsperlong.h /usr/include/asm-generic/bitsperlong.h \
- /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \
- /usr/include/asm/posix_types.h /usr/include/asm/posix_types_64.h \
- /usr/include/asm-generic/posix_types.h /usr/include/sys/time.h \
- src/ags/object/ags_stackable.h src/ags/server/ags_server.h \
- /usr/include/netinet/in.h \
+ src/ags/thread/ags_task_completion.h src/ags/audio/ags_task.h \
+ src/ags/main.h src/ags/lib/ags_log.h src/ags/thread/ags_thread_pool.h \
+ src/ags/object/ags_main_loop.h src/ags/thread/ags_async_queue.h \
+ /usr/include/linux/futex.h /usr/include/linux/types.h \
+ /usr/include/asm/types.h /usr/include/asm-generic/types.h \
+ /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
+ /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
+ /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
+ /usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
+ /usr/include/sys/time.h src/ags/object/ags_stackable.h \
+ src/ags/server/ags_server.h /usr/include/netinet/in.h \
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/sys/socket.h /usr/include/sys/uio.h /usr/include/bits/uio.h \
@@ -1958,6 +1958,8 @@ src/ags/widget/ags_expander.h:
src/ags/X/ags_machine_callbacks.h:
+src/ags/thread/ags_task_completion.h:
+
src/ags/audio/ags_task.h:
src/ags/main.h:
diff --git a/.deps/ags-ags_ffplayer_callbacks.Po b/.deps/ags-ags_ffplayer_callbacks.Po
index 1c9a291..534ef9f 100644
--- a/.deps/ags-ags_ffplayer_callbacks.Po
+++ b/.deps/ags-ags_ffplayer_callbacks.Po
@@ -666,7 +666,8 @@ ags-ags_ffplayer_callbacks.o: src/ags/X/machine/ags_ffplayer_callbacks.c \
src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
src/ags/audio/ags_task.h src/ags/thread/ags_devout_thread.h \
src/ags/thread/ags_iterator_thread.h src/ags/X/ags_machine_callbacks.h \
- src/ags/main.h src/ags/lib/ags_log.h src/ags/server/ags_server.h \
+ src/ags/thread/ags_task_completion.h src/ags/main.h \
+ src/ags/lib/ags_log.h src/ags/server/ags_server.h \
/usr/include/netinet/in.h \
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
@@ -2283,6 +2284,8 @@ src/ags/thread/ags_iterator_thread.h:
src/ags/X/ags_machine_callbacks.h:
+src/ags/thread/ags_task_completion.h:
+
src/ags/main.h:
src/ags/lib/ags_log.h:
diff --git a/.deps/ags-ags_gui_thread.Po b/.deps/ags-ags_gui_thread.Po
index 26c1a34..3ef64fd 100644
--- a/.deps/ags-ags_gui_thread.Po
+++ b/.deps/ags-ags_gui_thread.Po
@@ -107,16 +107,6 @@ ags-ags_gui_thread.o: src/ags/thread/ags_gui_thread.c \
src/ags/thread/ags_thread-posix.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/getopt.h \
- src/ags/thread/ags_gui_task_thread.h src/ags/thread/ags_task_thread.h \
- src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
- src/ags/thread/ags_async_queue.h /usr/include/linux/futex.h \
- /usr/include/linux/types.h /usr/include/asm/types.h \
- /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
- /usr/include/asm/bitsperlong.h /usr/include/asm-generic/bitsperlong.h \
- /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \
- /usr/include/asm/posix_types.h /usr/include/asm/posix_types_64.h \
- /usr/include/asm-generic/posix_types.h /usr/include/sys/time.h \
- src/ags/object/ags_stackable.h src/ags/audio/ags_task.h \
src/ags-lib/object/ags_connectable.h /usr/include/libxml2/libxml/tree.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h /usr/include/bits/stdio_lim.h \
@@ -140,7 +130,16 @@ ags-ags_gui_thread.o: src/ags/thread/ags_gui_thread.c \
/usr/include/bits/waitstatus.h /usr/include/alloca.h \
/usr/include/bits/stdlib-float.h /usr/include/libxml2/libxml/xlink.h \
/usr/include/libxml2/libxml/SAX2.h src/ags/main.h src/ags/lib/ags_log.h \
- src/ags/server/ags_server.h /usr/include/netinet/in.h \
+ src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
+ src/ags/thread/ags_async_queue.h /usr/include/linux/futex.h \
+ /usr/include/linux/types.h /usr/include/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/asm/bitsperlong.h /usr/include/asm-generic/bitsperlong.h \
+ /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \
+ /usr/include/asm/posix_types.h /usr/include/asm/posix_types_64.h \
+ /usr/include/asm-generic/posix_types.h /usr/include/sys/time.h \
+ src/ags/object/ags_stackable.h src/ags/server/ags_server.h \
+ /usr/include/netinet/in.h \
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/sys/socket.h /usr/include/sys/uio.h /usr/include/bits/uio.h \
@@ -588,6 +587,7 @@ ags-ags_gui_thread.o: src/ags/thread/ags_gui_thread.c \
/usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \
/usr/include/bits/inf.h /usr/include/bits/nan.h \
/usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
+ src/ags/thread/ags_task_thread.h src/ags/audio/ags_task.h \
src/ags/thread/ags_devout_thread.h src/ags/thread/ags_iterator_thread.h \
src/ags/audio/ags_channel.h src/ags/audio/ags_recall_id.h \
src/ags/audio/ags_recycling.h src/ags/audio/ags_audio_signal.h \
@@ -604,7 +604,7 @@ ags-ags_gui_thread.o: src/ags/thread/ags_gui_thread.c \
src/ags/X/ags_preferences.h src/ags/X/ags_generic_preferences.h \
src/ags/X/ags_audio_preferences.h \
src/ags/X/ags_performance_preferences.h \
- src/ags/X/ags_server_preferences.h
+ src/ags/X/ags_server_preferences.h src/ags/thread/ags_task_completion.h
/usr/include/stdc-predef.h:
@@ -898,46 +898,6 @@ src/ags/thread/ags_thread-posix.h:
/usr/include/getopt.h:
-src/ags/thread/ags_gui_task_thread.h:
-
-src/ags/thread/ags_task_thread.h:
-
-src/ags/thread/ags_thread_pool.h:
-
-src/ags/object/ags_main_loop.h:
-
-src/ags/thread/ags_async_queue.h:
-
-/usr/include/linux/futex.h:
-
-/usr/include/linux/types.h:
-
-/usr/include/asm/types.h:
-
-/usr/include/asm-generic/types.h:
-
-/usr/include/asm-generic/int-ll64.h:
-
-/usr/include/asm/bitsperlong.h:
-
-/usr/include/asm-generic/bitsperlong.h:
-
-/usr/include/linux/posix_types.h:
-
-/usr/include/linux/stddef.h:
-
-/usr/include/asm/posix_types.h:
-
-/usr/include/asm/posix_types_64.h:
-
-/usr/include/asm-generic/posix_types.h:
-
-/usr/include/sys/time.h:
-
-src/ags/object/ags_stackable.h:
-
-src/ags/audio/ags_task.h:
-
src/ags-lib/object/ags_connectable.h:
/usr/include/libxml2/libxml/tree.h:
@@ -1010,6 +970,40 @@ src/ags/main.h:
src/ags/lib/ags_log.h:
+src/ags/thread/ags_thread_pool.h:
+
+src/ags/object/ags_main_loop.h:
+
+src/ags/thread/ags_async_queue.h:
+
+/usr/include/linux/futex.h:
+
+/usr/include/linux/types.h:
+
+/usr/include/asm/types.h:
+
+/usr/include/asm-generic/types.h:
+
+/usr/include/asm-generic/int-ll64.h:
+
+/usr/include/asm/bitsperlong.h:
+
+/usr/include/asm-generic/bitsperlong.h:
+
+/usr/include/linux/posix_types.h:
+
+/usr/include/linux/stddef.h:
+
+/usr/include/asm/posix_types.h:
+
+/usr/include/asm/posix_types_64.h:
+
+/usr/include/asm-generic/posix_types.h:
+
+/usr/include/sys/time.h:
+
+src/ags/object/ags_stackable.h:
+
src/ags/server/ags_server.h:
/usr/include/netinet/in.h:
@@ -2046,6 +2040,10 @@ src/ags/thread/ags_audio_loop.h:
/usr/include/bits/mathcalls.h:
+src/ags/thread/ags_task_thread.h:
+
+src/ags/audio/ags_task.h:
+
src/ags/thread/ags_devout_thread.h:
src/ags/thread/ags_iterator_thread.h:
@@ -2111,3 +2109,5 @@ src/ags/X/ags_audio_preferences.h:
src/ags/X/ags_performance_preferences.h:
src/ags/X/ags_server_preferences.h:
+
+src/ags/thread/ags_task_completion.h:
diff --git a/.deps/ags-ags_machine.Po b/.deps/ags-ags_machine.Po
index f80f8ea..a1cd22a 100644
--- a/.deps/ags-ags_machine.Po
+++ b/.deps/ags-ags_machine.Po
@@ -554,8 +554,9 @@ ags-ags_machine.o: src/ags/X/ags_machine.c /usr/include/stdc-predef.h \
/usr/include/libxml2/libxml/SAX2.h src/ags/thread/ags_timestamp_thread.h \
src/ags/thread/ags_thread-posix.h src/ags/audio/ags_timestamp.h \
src/ags/audio/ags_note.h src/ags/X/ags_machine_callbacks.h \
- src/ags/audio/ags_task.h src/ags-lib/object/ags_connectable.h \
- src/ags/main.h src/ags/lib/ags_log.h src/ags/thread/ags_thread_pool.h \
+ src/ags/thread/ags_task_completion.h src/ags/audio/ags_task.h \
+ src/ags-lib/object/ags_connectable.h src/ags/main.h \
+ src/ags/lib/ags_log.h src/ags/thread/ags_thread_pool.h \
src/ags/object/ags_main_loop.h src/ags/thread/ags_async_queue.h \
/usr/include/linux/futex.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
@@ -605,15 +606,15 @@ ags-ags_machine.o: src/ags/X/ags_machine.c /usr/include/stdc-predef.h \
src/ags/X/ags_audio_preferences.h \
src/ags/X/ags_performance_preferences.h \
src/ags/X/ags_server_preferences.h src/ags/object/ags_marshal.h \
- src/ags/object/ags_plugin.h src/ags/file/ags_file_stock.h \
- src/ags/widget/ags_led.h src/ags/widget/ags_vindicator.h \
- src/ags/widget/ags_indicator.h src/ags/widget/ags_hindicator.h \
- src/ags/widget/ags_waveform.h src/ags/widget/ags_dial.h \
- src/ags/widget/ags_cartesian.h src/ags/file/ags_file_id_ref.h \
- src/ags/audio/ags_output.h src/ags/audio/ags_input.h \
- /usr/include/glib-2.0/glib/gstdio.h /usr/include/glib-2.0/glib/gprintf.h \
- /usr/include/sys/stat.h src/ags/audio/file/ags_audio_file.h \
- src/ags/audio/task/ags_init_audio.h \
+ src/ags/object/ags_plugin.h src/ags/thread/ags_gui_thread.h \
+ src/ags/file/ags_file_stock.h src/ags/widget/ags_led.h \
+ src/ags/widget/ags_vindicator.h src/ags/widget/ags_indicator.h \
+ src/ags/widget/ags_hindicator.h src/ags/widget/ags_waveform.h \
+ src/ags/widget/ags_dial.h src/ags/widget/ags_cartesian.h \
+ src/ags/file/ags_file_id_ref.h src/ags/audio/ags_output.h \
+ src/ags/audio/ags_input.h /usr/include/glib-2.0/glib/gstdio.h \
+ /usr/include/glib-2.0/glib/gprintf.h /usr/include/sys/stat.h \
+ src/ags/audio/file/ags_audio_file.h src/ags/audio/task/ags_init_audio.h \
src/ags/audio/task/ags_append_audio.h \
src/ags/audio/task/ags_start_devout.h \
src/ags/audio/task/ags_cancel_audio.h src/ags/audio/task/ags_open_file.h \
@@ -1920,6 +1921,8 @@ src/ags/audio/ags_note.h:
src/ags/X/ags_machine_callbacks.h:
+src/ags/thread/ags_task_completion.h:
+
src/ags/audio/ags_task.h:
src/ags-lib/object/ags_connectable.h:
@@ -2128,6 +2131,8 @@ src/ags/object/ags_marshal.h:
src/ags/object/ags_plugin.h:
+src/ags/thread/ags_gui_thread.h:
+
src/ags/file/ags_file_stock.h:
src/ags/widget/ags_led.h:
diff --git a/.deps/ags-ags_machine_callbacks.Po b/.deps/ags-ags_machine_callbacks.Po
index f30e4fc..897fbbb 100644
--- a/.deps/ags-ags_machine_callbacks.Po
+++ b/.deps/ags-ags_machine_callbacks.Po
@@ -526,13 +526,15 @@ ags-ags_machine_callbacks.o: src/ags/X/ags_machine_callbacks.c \
/usr/include/gtk-2.0/gtk/gtkoldeditable.h \
/usr/include/gtk-2.0/gtk/gtkoptionmenu.h \
/usr/include/gtk-2.0/gtk/gtkpreview.h \
- /usr/include/gtk-2.0/gtk/gtktipsquery.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/audio/ags_channel.h \
- src/ags/audio/ags_recall_id.h src/ags/audio/ags_recycling.h \
- src/ags/audio/ags_audio_signal.h src/ags/audio/ags_recycling_container.h \
- src/ags/audio/ags_recall.h src/ags/audio/ags_port.h \
- /usr/include/ladspa.h src/ags/audio/ags_recall_dependency.h \
- src/ags/audio/ags_notation.h /usr/include/libxml2/libxml/tree.h \
+ /usr/include/gtk-2.0/gtk/gtktipsquery.h \
+ src/ags/thread/ags_task_completion.h src/ags/audio/ags_task.h \
+ src/ags/X/ags_machine.h src/ags/audio/ags_audio.h \
+ src/ags/audio/ags_channel.h src/ags/audio/ags_recall_id.h \
+ src/ags/audio/ags_recycling.h src/ags/audio/ags_audio_signal.h \
+ src/ags/audio/ags_recycling_container.h src/ags/audio/ags_recall.h \
+ src/ags/audio/ags_port.h /usr/include/ladspa.h \
+ src/ags/audio/ags_recall_dependency.h src/ags/audio/ags_notation.h \
+ /usr/include/libxml2/libxml/tree.h \
/usr/include/libxml2/libxml/xmlversion.h \
/usr/include/libxml2/libxml/xmlexports.h \
/usr/include/libxml2/libxml/xmlstring.h \
@@ -554,17 +556,17 @@ ags-ags_machine_callbacks.o: src/ags/X/ags_machine_callbacks.c \
/usr/include/bits/stdlib-float.h /usr/include/libxml2/libxml/xlink.h \
/usr/include/libxml2/libxml/SAX2.h src/ags/thread/ags_timestamp_thread.h \
src/ags/thread/ags_thread-posix.h src/ags/audio/ags_timestamp.h \
- src/ags/audio/ags_note.h src/ags/audio/ags_task.h src/ags/main.h \
- src/ags/lib/ags_log.h src/ags/thread/ags_thread_pool.h \
- src/ags/object/ags_main_loop.h src/ags/thread/ags_async_queue.h \
- /usr/include/linux/futex.h /usr/include/linux/types.h \
- /usr/include/asm/types.h /usr/include/asm-generic/types.h \
- /usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
- /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
- /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
- /usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
- /usr/include/sys/time.h src/ags/object/ags_stackable.h \
- src/ags/server/ags_server.h /usr/include/netinet/in.h \
+ src/ags/audio/ags_note.h src/ags/main.h src/ags/lib/ags_log.h \
+ src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
+ src/ags/thread/ags_async_queue.h /usr/include/linux/futex.h \
+ /usr/include/linux/types.h /usr/include/asm/types.h \
+ /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
+ /usr/include/asm/bitsperlong.h /usr/include/asm-generic/bitsperlong.h \
+ /usr/include/linux/posix_types.h /usr/include/linux/stddef.h \
+ /usr/include/asm/posix_types.h /usr/include/asm/posix_types_64.h \
+ /usr/include/asm-generic/posix_types.h /usr/include/sys/time.h \
+ src/ags/object/ags_stackable.h src/ags/server/ags_server.h \
+ /usr/include/netinet/in.h \
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/sys/socket.h /usr/include/sys/uio.h /usr/include/bits/uio.h \
@@ -1827,6 +1829,10 @@ src/ags/X/ags_machine_callbacks.h:
/usr/include/gtk-2.0/gtk/gtktipsquery.h:
+src/ags/thread/ags_task_completion.h:
+
+src/ags/audio/ags_task.h:
+
src/ags/X/ags_machine.h:
src/ags/audio/ags_audio.h:
@@ -1913,8 +1919,6 @@ src/ags/audio/ags_timestamp.h:
src/ags/audio/ags_note.h:
-src/ags/audio/ags_task.h:
-
src/ags/main.h:
src/ags/lib/ags_log.h:
diff --git a/.deps/ags-ags_mutex_manager.Po b/.deps/ags-ags_task_completion.Po
similarity index 98%
copy from .deps/ags-ags_mutex_manager.Po
copy to .deps/ags-ags_task_completion.Po
index dd2252c..8d97b08 100644
--- a/.deps/ags-ags_mutex_manager.Po
+++ b/.deps/ags-ags_task_completion.Po
@@ -1,5 +1,5 @@
-ags-ags_mutex_manager.o: src/ags/thread/ags_mutex_manager.c \
- /usr/include/stdc-predef.h src/ags/thread/ags_mutex_manager.h \
+ags-ags_task_completion.o: src/ags/thread/ags_task_completion.c \
+ /usr/include/stdc-predef.h src/ags/thread/ags_task_completion.h \
/usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
/usr/include/glib-2.0/glib/gtypes.h \
/usr/lib/glib-2.0/include/glibconfig.h \
@@ -126,11 +126,11 @@ ags-ags_mutex_manager.o: src/ags/thread/ags_mutex_manager.c \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/alloca.h \
/usr/include/bits/stdlib-float.h /usr/include/libxml2/libxml/xlink.h \
- /usr/include/libxml2/libxml/SAX2.h
+ /usr/include/libxml2/libxml/SAX2.h src/ags/audio/ags_task.h
/usr/include/stdc-predef.h:
-src/ags/thread/ags_mutex_manager.h:
+src/ags/thread/ags_task_completion.h:
/usr/include/glib-2.0/glib.h:
@@ -475,3 +475,5 @@ src/ags-lib/object/ags_connectable.h:
/usr/include/libxml2/libxml/xlink.h:
/usr/include/libxml2/libxml/SAX2.h:
+
+src/ags/audio/ags_task.h:
diff --git a/Makefile b/Makefile
index 160a361..b4f0349 100644
--- a/Makefile
+++ b/Makefile
@@ -330,6 +330,7 @@ am_ags_OBJECTS = ags-ags_combo_box_text.$(OBJEXT) \
ags-ags_file_launch.$(OBJEXT) ags-ags_file_gui.$(OBJEXT) \
ags-ags_file.$(OBJEXT) ags-ags_record_thread.$(OBJEXT) \
ags-ags_mutex_manager.$(OBJEXT) \
+ ags-ags_task_completion.$(OBJEXT) \
ags-ags_returnable_thread.$(OBJEXT) \
ags-ags_autosave_thread.$(OBJEXT) \
ags-ags_devout_thread.$(OBJEXT) ags-ags_thread_pool.$(OBJEXT) \
@@ -1164,6 +1165,8 @@ ags_SOURCES = src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c \
src/ags/thread/ags_task_thread.h \
src/ags/thread/ags_audio_loop.h \
src/ags/thread/ags_gui_task_thread.h \
+ src/ags/thread/ags_task_completion.h \
+ src/ags/thread/ags_task_completion.c \
src/ags/thread/ags_recycling_thread.h \
src/ags/thread/ags_autosave_thread.h \
src/ags/thread/ags_returnable_thread.c \
@@ -1610,6 +1613,7 @@ include ./$(DEPDIR)/ags-ags_synths.Po
include ./$(DEPDIR)/ags-ags_table.Po
include ./$(DEPDIR)/ags-ags_tactable.Po
include ./$(DEPDIR)/ags-ags_task.Po
+include ./$(DEPDIR)/ags-ags_task_completion.Po
include ./$(DEPDIR)/ags-ags_task_thread.Po
include ./$(DEPDIR)/ags-ags_thread-posix.Po
include ./$(DEPDIR)/ags-ags_thread_pool.Po
@@ -5778,6 +5782,20 @@ ags-ags_mutex_manager.obj: src/ags/thread/ags_mutex_manager.c
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_mutex_manager.obj `if test -f 'src/ags/thread/ags_mutex_manager.c'; then $(CYGPATH_W) 'src/ags/thread/ags_mutex_manager.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/thread/ags_mutex_manager.c'; fi`
+ags-ags_task_completion.o: src/ags/thread/ags_task_completion.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -MT ags-ags_task_completion.o -MD -MP -MF $(DEPDIR)/ags-ags_task_completion.Tpo -c -o ags-ags_task_completion.o `test -f 'src/ags/thread/ags_task_completion.c' || echo '$(srcdir)/'`src/ags/thread/ags_task_completion.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/ags-ags_task_completion.Tpo $(DEPDIR)/ags-ags_task_completion.Po
+# $(AM_V_CC)source='src/ags/thread/ags_task_completion.c' object='ags-ags_task_completion.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_task_completion.o `test -f 'src/ags/thread/ags_task_completion.c' || echo '$(srcdir)/'`src/ags/thread/ags_task_completion.c
+
+ags-ags_task_completion.obj: src/ags/thread/ags_task_completion.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -MT ags-ags_task_completion.obj -MD -MP -MF $(DEPDIR)/ags-ags_task_completion.Tpo -c -o ags-ags_task_completion.obj `if test -f 'src/ags/thread/ags_task_completion.c'; then $(CYGPATH_W) 'src/ags/thread/ags_task_completion.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/thread/ags_task_completion.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/ags-ags_task_completion.Tpo $(DEPDIR)/ags-ags_task_completion.Po
+# $(AM_V_CC)source='src/ags/thread/ags_task_completion.c' object='ags-ags_task_completion.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_task_completion.obj `if test -f 'src/ags/thread/ags_task_completion.c'; then $(CYGPATH_W) 'src/ags/thread/ags_task_completion.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/thread/ags_task_completion.c'; fi`
+
ags-ags_returnable_thread.o: src/ags/thread/ags_returnable_thread.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -MT ags-ags_returnable_thread.o -MD -MP -MF $(DEPDIR)/ags-ags_returnable_thread.Tpo -c -o ags-ags_returnable_thread.o `test -f 'src/ags/thread/ags_returnable_thread.c' || echo '$(srcdir)/'`src/ags/thread/ags_returnable_thread.c
$(AM_V_at)$(am__mv) $(DEPDIR)/ags-ags_returnable_thread.Tpo $(DEPDIR)/ags-ags_returnable_thread.Po
diff --git a/Makefile.am b/Makefile.am
index 7d9020c..8624b20 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,4 +20,4 @@ ags_CFLAGS=$(CFLAGS) $(UUID_CFLAGS) $(LIBASOUND2_CFLAGS) $(LIBAO_CFLAGS) $(LIBXM
ags_LDFLAGS=-ldl $(LDFLAGS) $(UUID_LIBS) $(LIBASOUND2_LIBS) $(LIBAO_LIBS) $(LIBXML2_LIBS) $(OPENSSL_LIBS) $(SNDFILE_LIBS) $(LIBINSTPATCH_LIBS) $(GOBJECT_LIBS) $(GDKPIXBUF_LIBS) $(CAIRO_LIBS) $(GTK_LIBS) $(XMLRPC_LIBS) $(XMLRPC_UTIL_LIBS) $(XMLRPC_SERVER_ABYSS_LIBS) $(XMLRPC_SERVER_CGI_LIBS) $(XMLRPC_SERVER_LIBS) -lm -lrt -lX11 -pthread
ags_LDADD=libags.a
-ags_SOURCES = src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c src/ags/lib/ags_container.c src/ags/lib/ags_parameter.h src/ags/lib/ags_list.h src/ags/lib/ags_log.c src/ags/lib/ags_container.h src/ags/lib/ags_combo_box_text.h src/ags/lib/ags_log.h src/ags/lib/ags_parameter.c src/ags/X/editor/ags_notebook_callbacks.c src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_machine_radio_button.h src/ags/X/editor/ags_file_selection_callbacks.h src/ags/X/editor/ags_notebook_callbacks.h src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_meter_callbacks.c src/ags/X/editor/ags_notebook.h src/ags/X/editor/ags_sf2_chooser.h src/ags/X/editor/ags_toolbar_mode_stock.h src/ags/X/editor/ags_meter_callbacks.h src/ags/X/editor/ags_toolbar_callbacks.c src/ags/X/editor/ags_machine_selector.c src/ags/X/editor/ags_machine_selector_callbacks.c src/ags/X/editor/ags_machine_radio_button.c src/ags/X/editor/ags_sf2_chooser.c src/ags/X/editor/ags_machine_selector_callbacks.h src/ags/X/editor/ags_sf2_chooser_callbacks.c src/ags/X/editor/ags_notebook.c src/ags/X/editor/ags_note_edit_callbacks.c src/ags/X/editor/ags_file_selection_callbacks.c src/ags/X/editor/ags_machine_selection.c src/ags/X/editor/ags_inline_player_callbacks.h src/ags/X/editor/ags_inline_player.c src/ags/X/editor/ags_meter.c src/ags/X/editor/ags_file_selection.h src/ags/X/editor/ags_inline_player.h src/ags/X/editor/ags_sf2_chooser_callbacks.h src/ags/X/editor/ags_file_selection.c src/ags/X/editor/ags_machine_selector.h src/ags/X/editor/ags_note_edit_callbacks.h src/ags/X/editor/ags_note_edit.c src/ags/X/editor/ags_inline_player_callbacks.c src/ags/X/editor/ags_toolbar_callbacks.h src/ags/X/editor/ags_machine_selection.h src/ags/X/editor/ags_toolbar.c src/ags/X/ags_line_callbacks.h src/ags/X/ags_plugin_preferences.c src/ags/X/ags_link_editor.c src/ags/X/ags_pad_callbacks.h src/ags/X/ags_machine_callbacks.c src/ags/X/ags_server_preferences_callbacks.h src/ags/X/ags_listing_editor_callbacks.c src/ags/X/ags_link_collection_editor_callbacks.c src/ags/X/ags_generic_preferences_callbacks.c src/ags/X/ags_property_collection_editor_callbacks.c src/ags/X/ags_property_collection_editor.h src/ags/X/ags_resize_editor.h src/ags/X/ags_property_editor.h src/ags/X/ags_window_callbacks.h src/ags/X/ags_property_editor_callbacks.c src/ags/X/machine/ags_synth_callbacks.h src/ags/X/machine/ags_synth.c src/ags/X/machine/ags_mixer.c src/ags/X/machine/ags_matrix_callbacks.c src/ags/X/machine/ags_panel_input_line.c src/ags/X/machine/ags_synth_input_line.c src/ags/X/machine/ags_drum_callbacks.h src/ags/X/machine/ags_mixer_callbacks.c src/ags/X/machine/ags_synth_callbacks.c src/ags/X/machine/ags_ffplayer_callbacks.h src/ags/X/machine/ags_drum_input_line.h src/ags/X/machine/ags_matrix.h src/ags/X/machine/ags_mixer_input_line.c src/ags/X/machine/ags_oscillator.c src/ags/X/machine/ags_oscillator.h src/ags/X/machine/ags_oscillator_callbacks.h src/ags/X/machine/ags_mixer.h src/ags/X/machine/ags_panel_input_pad.h src/ags/X/machine/ags_panel_input_pad.c src/ags/X/machine/ags_matrix.c src/ags/X/machine/ags_panel.h src/ags/X/machine/ags_drum_output_line_callbacks.c src/ags/X/machine/ags_ffplayer.h src/ags/X/machine/ags_panel_callbacks.c src/ags/X/machine/ags_mixer_input_pad.c src/ags/X/machine/ags_panel.c src/ags/X/machine/ags_drum.c src/ags/X/machine/ags_matrix_callbacks.h src/ags/X/machine/ags_drum_output_line.h src/ags/X/machine/ags_drum_output_pad.h src/ags/X/machine/ags_synth_input_pad.h src/ags/X/machine/ags_panel_callbacks.h src/ags/X/machine/ags_ffplayer.c src/ags/X/machine/ags_drum_output_line_callbacks.h src/ags/X/machine/ags_drum_output_pad_callbacks.c src/ags/X/machine/ags_drum_output_pad_callbacks.h src/ags/X/machine/ags_drum_input_pad_callbacks.h src/ags/X/machine/ags_oscillator_callbacks.c src/ags/X/machine/ags_drum_callbacks.c src/ags/X/machine/ags_synth_input_line.h src/ags/X/machine/ags_drum_input_pad_callbacks.c src/ags/X/machine/ags_drum_input_pad.c src/ags/X/machine/ags_panel_input_line.h src/ags/X/machine/ags_drum_input_line_callbacks.h src/ags/X/machine/ags_drum_output_line.c src/ags/X/machine/ags_mixer_callbacks.h src/ags/X/machine/ags_synth.h src/ags/X/machine/ags_mixer_input_line.h src/ags/X/machine/ags_drum.h src/ags/X/machine/ags_drum_input_line.c src/ags/X/machine/ags_ffplayer_callbacks.c src/ags/X/machine/ags_drum_output_pad.c src/ags/X/machine/ags_drum_input_pad.h src/ags/X/machine/ags_drum_input_line_callbacks.c src/ags/X/machine/ags_mixer_input_pad.h src/ags/X/machine/ags_synth_input_pad.c src/ags/X/ags_server_preferences.h src/ags/X/ags_line_editor_callbacks.h src/ags/X/ags_pad_editor_callbacks.c src/ags/X/ags_listing_editor_callbacks.h src/ags/X/ags_line_member_callbacks.c src/ags/X/ags_editor.h src/ags/X/ags_machine_editor.h src/ags/X/ags_plugin_preferences_callbacks.h src/ags/X/ags_export_window_callbacks.h src/ags/X/ags_editor_callbacks.c src/ags/X/ags_pad_editor.h src/ags/X/ags_server_preferences.c src/ags/X/ags_line_editor.c src/ags/X/ags_ladspa_browser.h src/ags/X/ags_audio_preferences.c src/ags/X/ags_pad.c src/ags/X/ags_line.c src/ags/X/ags_menu_bar_callbacks.c src/ags/X/ags_generic_preferences_callbacks.h src/ags/X/ags_pad.h src/ags/X/ags_audio_preferences_callbacks.h src/ags/X/ags_generic_preferences.c src/ags/X/ags_window.c src/ags/X/ags_machine_editor_callbacks.h src/ags/X/ags_editor_callbacks.h src/ags/X/ags_menu_bar_callbacks.h src/ags/X/ags_line_member_editor.h src/ags/X/ags_property_collection_editor_callbacks.h src/ags/X/ags_line_editor_callbacks.c src/ags/X/ags_property_editor.c src/ags/X/ags_link_editor_callbacks.c src/ags/X/ags_server_preferences_callbacks.c src/ags/X/ags_pad_callbacks.c src/ags/X/ags_line_member.h src/ags/X/ags_audio_preferences_callbacks.c src/ags/X/ags_performance_preferences.h src/ags/X/ags_property_collection_editor.c src/ags/X/ags_performance_preferences_callbacks.h src/ags/X/ags_line.h src/ags/X/ags_machine.c src/ags/X/ags_preferences_callbacks.c src/ags/X/ags_export_window.c src/ags/X/ags_menu_bar.c src/ags/X/ags_plugin_preferences_callbacks.c src/ags/X/ags_line_member_callbacks.h src/ags/X/ags_preferences.c src/ags/X/ags_export_window.h src/ags/X/ags_pad_editor_callbacks.h src/ags/X/ags_window.h src/ags/X/ags_machine_callbacks.h src/ags/X/ags_machine.h src/ags/X/ags_line_callbacks.c src/ags/X/ags_link_editor_callbacks.h src/ags/X/ags_navigation_callbacks.h src/ags/X/ags_pad_editor.c src/ags/X/ags_ladspa_browser.c src/ags/X/ags_editor.c src/ags/X/ags_resize_editor.c src/ags/X/ags_property_listing_editor.c src/ags/X/ags_property_editor_callbacks.h src/ags/X/ags_line_member_editor_callbacks.h src/ags/X/ags_window_callbacks.c src/ags/X/ags_audio_preferences.h src/ags/X/ags_navigation_callbacks.c src/ags/X/ags_plugin_preferences.h src/ags/X/ags_performance_preferences_callbacks.c src/ags/X/ags_line_member.c src/ags/X/ags_preferences.h src/ags/X/ags_generic_preferences.h src/ags/X/ags_navigation.h src/ags/X/ags_listing_editor.h src/ags/X/ags_performance_preferences.c src/ags/X/ags_link_editor.h src/ags/X/ags_ladspa_browser_callbacks.c src/ags/X/ags_link_collection_editor.c src/ags/X/ags_preferences_callbacks.h src/ags/X/ags_machine_editor_callbacks.c src/ags/X/ags_menu_bar.h src/ags/X/ags_export_window_callbacks.c src/ags/X/ags_line_member_editor_callbacks.c src/ags/X/ags_link_collection_editor.h src/ags/X/ags_link_collection_editor_callbacks.h src/ags/X/ags_property_listing_editor.h src/ags/X/ags_navigation.c src/ags/X/ags_machine_editor.c src/ags/X/ags_line_member_editor.c src/ags/X/ags_ladspa_browser_callbacks.h src/ags/X/ags_line_editor.h src/ags/X/ags_listing_editor.c src/ags/object/ags_applicable.c src/ags/object/ags_seekable.h src/ags/object/ags_packable.c src/ags/object/ags_persistable.h src/ags/object/ags_packable.h src/ags/object/ags_applicable.h src/ags/object/ags_main_loop.c src/ags/object/ags_soundcard.c src/ags/object/ags_marshal.c src/ags/object/ags_mutable.h src/ags/object/ags_plugin.h src/ags/object/ags_stackable.h src/ags/object/ags_runnable.c src/ags/object/ags_tactable.h src/ags/object/ags_mutable.c src/ags/object/ags_runnable.h src/ags/object/ags_effect.c src/ags/object/ags_playable.c src/ags/object/ags_dynamic_connectable.c src/ags/object/ags_seekable.c src/ags/object/ags_countable.c src/ags/object/ags_plugin.c src/ags/object/ags_tree_iterator.h src/ags/object/ags_playable.h src/ags/object/ags_effect.h src/ags/object/ags_soundcard.h src/ags/object/ags_countable.h src/ags/object/ags_marshal.h src/ags/object/ags_portlet.h src/ags/object/ags_dynamic_connectable.h src/ags/object/ags_tactable.c src/ags/object/ags_tree_iterator.c src/ags/object/ags_persistable.c src/ags/object/ags_main_loop.h src/ags/object/ags_stackable.c src/ags/object/ags_portlet.c src/ags/util/ags_id_generator.c src/ags/util/ags_id_generator.h src/ags/widget/ags_led.h src/ags/widget/ags_expander_set.c src/ags/widget/ags_expander_set.h src/ags/widget/ags_menu.c src/ags/widget/ags_hindicator.h src/ags/widget/ags_menu.h src/ags/widget/ags_timebar.c src/ags/widget/ags_dial.c src/ags/widget/ags_ruler.h src/ags/widget/ags_dial.h src/ags/widget/ags_segment.c src/ags/widget/ags_htimebar.c src/ags/widget/ags_option_menu.h src/ags/widget/ags_indicator.c src/ags/widget/ags_htimebar.h src/ags/widget/ags_option_menu.c src/ags/widget/ags_expander.h src/ags/widget/ags_menu_item.h src/ags/widget/ags_hindicator.c src/ags/widget/ags_cartesian.h src/ags/widget/ags_indicator.h src/ags/widget/ags_cartesian.c src/ags/widget/ags_menu_item.c src/ags/widget/ags_waveform.c src/ags/widget/ags_ruler.c src/ags/widget/ags_expander.c src/ags/widget/ags_vindicator.c src/ags/widget/ags_timebar.h src/ags/widget/ags_led.c src/ags/widget/ags_waveform.h src/ags/widget/ags_table.c src/ags/widget/ags_table.h src/ags/widget/ags_vindicator.h src/ags/widget/ags_segment.h src/ags/main.c src/ags/audio/task/ags_export_output.h src/ags/audio/task/ags_set_output_device.c src/ags/audio/task/ags_add_audio.h src/ags/audio/task/ags_set_samplerate.c src/ags/audio/task/ags_remove_point_from_selection.c src/ags/audio/task/ags_save_file.h src/ags/audio/task/ags_set_buffer_size.h src/ags/audio/task/ags_link_channel.c src/ags/audio/task/ags_save_file.c src/ags/audio/task/ags_append_audio_threaded.h src/ags/audio/task/ags_cancel_channel.h src/ags/audio/task/ags_apply_synth.h src/ags/audio/task/ags_append_recall.h src/ags/audio/task/ags_add_audio_signal.c src/ags/audio/task/ags_unref_audio_signal.c src/ags/audio/task/ags_remove_region_from_selection.c src/ags/audio/task/ags_change_indicator.h src/ags/audio/task/ags_remove_point_from_selection.h src/ags/audio/task/ags_set_audio_channels.h src/ags/audio/task/ags_scroll_on_play.h src/ags/audio/task/ags_remove_audio.h src/ags/audio/task/ags_remove_recall_container.c src/ags/audio/task/ags_remove_recall.c src/ags/audio/task/ags_append_recall.c src/ags/audio/task/ags_free_selection.h src/ags/audio/task/ags_add_recall_container.c src/ags/audio/task/ags_add_recall.c src/ags/audio/task/ags_export_output.c src/ags/audio/task/ags_init_channel.h src/ags/audio/task/ags_remove_note.c src/ags/audio/task/ags_apply_wavetable.h src/ags/audio/task/ags_add_audio_signal.h src/ags/audio/task/ags_cancel_recall.h src/ags/audio/task/ags_set_audio_channels.c src/ags/audio/task/ags_cancel_audio.c src/ags/audio/task/ags_unref_audio_signal.h src/ags/audio/task/ags_add_region_to_selection.c src/ags/audio/task/ags_change_tact.h src/ags/audio/task/ags_init_audio.c src/ags/audio/task/ags_channel_set_recycling.c src/ags/audio/task/ags_display_tact.c src/ags/audio/task/ags_add_point_to_selection.h src/ags/audio/task/ags_toggle_pattern_bit.h src/ags/audio/task/ags_append_channel.c src/ags/audio/task/ags_change_indicator.c src/ags/audio/task/ags_add_note.c src/ags/audio/task/ags_channel_set_recycling.h src/ags/audio/task/ags_cancel_audio.h src/ags/audio/task/recall/ags_set_muted.c src/ags/audio/task/recall/ags_set_muted.h src/ags/audio/task/recall/ags_apply_sequencer_length.c src/ags/audio/task/recall/ags_apply_bpm.h src/ags/audio/task/recall/ags_apply_tact.c src/ags/audio/task/recall/ags_apply_bpm.c src/ags/audio/task/recall/ags_apply_sequencer_length.h src/ags/audio/task/recall/ags_apply_tact.h src/ags/audio/task/ags_remove_region_from_selection.h src/ags/audio/task/ags_cancel_channel.c src/ags/audio/task/ags_add_recall_container.h src/ags/audio/task/ags_add_recall.h src/ags/audio/task/ags_add_note.h src/ags/audio/task/ags_start_devout.c src/ags/audio/task/ags_append_audio_threaded.c src/ags/audio/task/ags_append_audio.c src/ags/audio/task/ags_init_channel.c src/ags/audio/task/ags_remove_audio_signal.h src/ags/audio/task/ags_toggle_led.c src/ags/audio/task/ags_set_buffer_size.c src/ags/audio/task/ags_add_region_to_selection.h src/ags/audio/task/ags_audio_set_recycling.h src/ags/audio/task/ags_toggle_led.h src/ags/audio/task/ags_resize_audio.h src/ags/audio/task/ags_free_selection.c src/ags/audio/task/ags_add_audio.c src/ags/audio/task/ags_set_samplerate.h src/ags/audio/task/ags_apply_synth.c src/ags/audio/task/ags_open_single_file.h src/ags/audio/task/ags_remove_audio.c src/ags/audio/task/ags_cancel_recall.c src/ags/audio/task/ags_init_audio.h src/ags/audio/task/ags_remove_note.h src/ags/audio/task/ags_remove_audio_signal.c src/ags/audio/task/ags_audio_set_recycling.c src/ags/audio/task/ags_add_point_to_selection.c src/ags/audio/task/ags_scroll_on_play.c src/ags/audio/task/ags_set_devout_play_flags.c src/ags/audio/task/ags_apply_wavetable.c src/ags/audio/task/ags_add_line_member.c src/ags/audio/task/ags_open_file.h src/ags/audio/task/ags_set_output_device.h src/ags/audio/task/ags_toggle_pattern_bit.c src/ags/audio/task/ags_open_file.c src/ags/audio/task/ags_open_single_file.c src/ags/audio/task/ags_append_audio.h src/ags/audio/task/ags_start_devout.h src/ags/audio/task/ags_display_tact.h src/ags/audio/task/ags_remove_recall_container.h src/ags/audio/task/ags_remove_recall.h src/ags/audio/task/ags_change_tact.c src/ags/audio/task/ags_append_channel.h src/ags/audio/task/ags_resize_audio.c src/ags/audio/task/ags_link_channel.h src/ags/audio/task/ags_add_line_member.h src/ags/audio/task/ags_set_devout_play_flags.h src/ags/audio/ags_devout.c src/ags/audio/ags_recall_channel.h src/ags/audio/ags_timestamp_factory.h src/ags/audio/ags_garbage_collector.c src/ags/audio/ags_garbage_collector.h src/ags/audio/ags_recall_container.c src/ags/audio/ags_timestamp.c src/ags/audio/ags_channel_iter.h src/ags/audio/ags_recall_channel_run.c src/ags/audio/ags_audio.h src/ags/audio/ags_port.c src/ags/audio/ags_notation.c src/ags/audio/ags_recall_dependency.h src/ags/audio/ags_recycling.c src/ags/audio/ags_recall_audio_signal.h src/ags/audio/ags_input.c src/ags/audio/ags_synths.c src/ags/audio/ags_input.h src/ags/audio/ags_recycling_container.h src/ags/audio/ags_recall_id.h src/ags/audio/ags_note.c src/ags/audio/ags_timestamp_factory.c src/ags/audio/ags_channel.c src/ags/audio/ags_recall_audio.c src/ags/audio/ags_audio_signal.c src/ags/audio/ags_output.h src/ags/audio/ags_libao.c src/ags/audio/file/ags_ipatch_sf2_reader.c src/ags/audio/file/ags_audio_file_xml.h src/ags/audio/file/ags_ipatch.c src/ags/audio/file/ags_audio_file.c src/ags/audio/file/ags_sndfile.h src/ags/audio/file/ags_ipatch.h src/ags/audio/file/ags_audio_file.h src/ags/audio/file/ags_ipatch_sf2_reader.h src/ags/audio/file/ags_audio_file_xml.c src/ags/audio/file/ags_sndfile.c src/ags/audio/ags_devout.h src/ags/audio/ags_port.h src/ags/audio/ags_note.h src/ags/audio/ags_timestamp.h src/ags/audio/ags_notation.h src/ags/audio/ags_recall_audio_run.c src/ags/audio/ags_recycling_container.c src/ags/audio/ags_audio_signal.h src/ags/audio/ags_recall_recycling.h src/ags/audio/recall/ags_mute_audio.h src/ags/audio/recall/ags_clone_channel.c src/ags/audio/recall/ags_copy_channel.c src/ags/audio/recall/ags_copy_pattern_channel.c src/ags/audio/recall/ags_copy_recycling.c src/ags/audio/recall/ags_volume_audio_signal.h src/ags/audio/recall/ags_play_channel.h src/ags/audio/recall/ags_play_notation_audio_run.c src/ags/audio/recall/ags_buffer_audio_signal.c src/ags/audio/recall/ags_play_channel_run.c src/ags/audio/recall/ags_stream_channel_run.c src/ags/audio/recall/ags_copy_notation_audio_run.c src/ags/audio/recall/ags_mute_channel.c src/ags/audio/recall/ags_count_beats_audio.h src/ags/audio/recall/ags_copy_pattern_audio.c src/ags/audio/recall/ags_copy_pattern_audio_run.c src/ags/audio/recall/ags_clone_channel_run.h src/ags/audio/recall/ags_delay_audio.h src/ags/audio/recall/ags_copy_notation_audio_run.h src/ags/audio/recall/ags_stream.c src/ags/audio/recall/ags_play_audio_file.h src/ags/audio/recall/ags_loop_channel_run.c src/ags/audio/recall/ags_play_pattern.c src/ags/audio/recall/ags_stream_channel_run.h src/ags/audio/recall/ags_amplifier.h src/ags/audio/recall/ags_echo.c src/ags/audio/recall/ags_play_note.c src/ags/audio/recall/ags_buffer_channel.c src/ags/audio/recall/ags_clone_channel_run.c src/ags/audio/recall/ags_peak_channel.h src/ags/audio/recall/ags_play_recycling.h src/ags/audio/recall/ags_stream_channel.h src/ags/audio/recall/ags_amplifier.c src/ags/audio/recall/ags_mute_audio_signal.h src/ags/audio/recall/ags_copy_notation_audio.c src/ags/audio/recall/ags_buffer_channel_run.h src/ags/audio/recall/ags_copy_recycling.h src/ags/audio/recall/ags_down_mix.h src/ags/audio/recall/ags_volume_recycling.h src/ags/audio/recall/ags_volume_channel_run.h src/ags/audio/recall/ags_stream_channel.c src/ags/audio/recall/ags_echo.h src/ags/audio/recall/ags_delay_audio_run.h src/ags/audio/recall/ags_stream_audio_signal.h src/ags/audio/recall/ags_mute_recycling.c src/ags/audio/recall/ags_play_pattern.h src/ags/audio/recall/ags_delay_audio.c src/ags/audio/recall/ags_buffer_recycling.c src/ags/audio/recall/ags_stream_recycling.h src/ags/audio/recall/ags_play_audio_signal.c src/ags/audio/recall/ags_play_channel_run_master.h src/ags/audio/recall/ags_volume_recycling.c src/ags/audio/recall/ags_loop_channel.c src/ags/audio/recall/ags_buffer_recycling.h src/ags/audio/recall/ags_copy_pattern_channel_run.h src/ags/audio/recall/ags_peak_channel_run.c src/ags/audio/recall/ags_loop_channel.h src/ags/audio/recall/ags_play_audio.h src/ags/audio/recall/ags_copy_audio_signal.c src/ags/audio/recall/ags_mute_channel_run.h src/ags/audio/recall/ags_copy_channel.h src/ags/audio/recall/ags_play_notation_audio.h src/ags/audio/recall/ags_play_note.h src/ags/audio/recall/ags_synths.h src/ags/audio/recall/ags_play_recycling.c src/ags/audio/recall/ags_mute_channel_run.c src/ags/audio/recall/ags_buffer_channel.h src/ags/audio/recall/ags_play_notation_audio_run.h src/ags/audio/recall/ags_volume_channel_run.c src/ags/audio/recall/ags_play_channel_run_master.c src/ags/audio/recall/ags_stream.h src/ags/audio/recall/ags_copy_pattern_channel.h src/ags/audio/recall/ags_play_channel_run.h src/ags/audio/recall/ags_mute_channel.h src/ags/audio/recall/ags_mute_audio.c src/ags/audio/recall/ags_volume_channel.h src/ags/audio/recall/ags_volume_audio_signal.c src/ags/audio/recall/ags_stream_audio_signal.c src/ags/audio/recall/ags_count_beats_audio_run.h src/ags/audio/recall/ags_copy_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.c src/ags/audio/recall/ags_delay_audio_run.c src/ags/audio/recall/ags_mute_audio_signal.c src/ags/audio/recall/ags_copy_notation_audio.h src/ags/audio/recall/ags_clone_channel.h src/ags/audio/recall/ags_buffer_channel_run.c src/ags/audio/recall/ags_play_audio.c src/ags/audio/recall/ags_copy_pattern_audio.h src/ags/audio/recall/ags_count_beats_audio.c src/ags/audio/recall/ags_play_channel.c src/ags/audio/recall/ags_count_beats_audio_run.c src/ags/audio/recall/ags_copy_pattern_audio_run.h src/ags/audio/recall/ags_stream_recycling.c src/ags/audio/recall/ags_play_audio_file.c src/ags/audio/recall/ags_play_notation_audio.c src/ags/audio/recall/ags_loop_channel_run.h src/ags/audio/recall/ags_mute_recycling.h src/ags/audio/recall/ags_peak_channel.c src/ags/audio/recall/ags_buffer_audio_signal.h src/ags/audio/recall/ags_peak_channel_run.h src/ags/audio/recall/ags_volume_channel.c src/ags/audio/recall/ags_play_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.h src/ags/audio/recall/ags_copy_pattern_channel_run.c src/ags/audio/ags_recall_ladspa.h src/ags/audio/ags_recall_recycling.c src/ags/audio/ags_recall.h src/ags/audio/ags_recall_channel_run.h src/ags/audio/ags_recall_audio.h src/ags/audio/ags_channel.h src/ags/audio/ags_pattern.c src/ags/audio/ags_synths.h src/ags/audio/ags_recall_factory.h src/ags/audio/ags_recall_audio_signal.c src/ags/audio/ags_config.h src/ags/audio/ags_effect.h src/ags/audio/ags_pattern.h src/ags/audio/ags_output.c src/ags/audio/ags_recall_channel_run_dummy.c src/ags/audio/ags_recall_dependency.c src/ags/audio/ags_channel_iter.c src/ags/audio/ags_recall_channel_run_dummy.h src/ags/audio/ags_recall.c src/ags/audio/ags_recall_ladspa_run.h src/ags/audio/ags_recall_recycling_dummy.h src/ags/audio/ags_libao.h src/ags/audio/ags_task.h src/ags/audio/ags_config.c src/ags/audio/ags_recall_channel.c src/ags/audio/ags_audio.c src/ags/audio/ags_recall_ladspa_run.c src/ags/audio/ags_recall_audio_run.h src/ags/audio/ags_recall_id.c src/ags/audio/ags_task.c src/ags/audio/ags_recall_ladspa.c src/ags/audio/ags_recall_factory.c src/ags/audio/ags_recall_container.h src/ags/audio/ags_recycling.h src/ags/audio/ags_recall_recycling_dummy.c src/ags/file/ags_file_util.h src/ags/file/ags_file_sound.h src/ags/file/ags_file_thread.h src/ags/file/ags_file_gui.h src/ags/file/ags_file_lookup.h src/ags/file/ags_file_id_ref.c src/ags/file/ags_file.h src/ags/file/ags_file_link.c src/ags/file/ags_file_write.h src/ags/file/ags_file_read.h src/ags/file/ags_file_id_ref.h src/ags/file/ags_file_sound.c src/ags/file/ags_file_thread.c src/ags/file/ags_file_util.c src/ags/file/ags_file_lookup.c src/ags/file/ags_file_launch.c src/ags/file/ags_file_stock.h src/ags/file/ags_file_gui.c src/ags/file/ags_file.c src/ags/file/ags_file_launch.h src/ags/file/ags_file_link.h src/ags/thread/ags_record_thread.c src/ags/thread/ags_thread_pool.h src/ags/thread/ags_timestamp_thread.h src/ags/thread/ags_mutex_manager.h src/ags/thread/ags_mutex_manager.c src/ags/thread/ags_task_thread.h src/ags/thread/ags_audio_loop.h src/ags/thread/ags_gui_task_thread.h src/ags/thread/ags_recycling_thread.h src/ags/thread/ags_autosave_thread.h src/ags/thread/ags_returnable_thread.c src/ags/thread/ags_autosave_thread.c src/ags/thread/ags_export_thread.h src/ags/thread/ags_history.h src/ags/thread/ags_iterator_thread.h src/ags/thread/ags_devout_thread.c src/ags/thread/ags_thread_pool.c src/ags/thread/ags_gui_task_thread.c src/ags/thread/ags_gui_thread.h src/ags/thread/ags_task_thread.c src/ags/thread/ags_timestamp_thread.c src/ags/thread/ags_thread-posix.h src/ags/thread/ags_async_queue.h src/ags/thread/ags_record_thread.h src/ags/thread/ags_recycling_thread_callbacks.c src/ags/thread/ags_recycling_thread_callbacks.h src/ags/thread/ags_iterator_thread.c src/ags/thread/ags_async_queue.c src/ags/thread/ags_export_thread.c src/ags/thread/ags_audio_loop.c src/ags/thread/ags_returnable_thread.h src/ags/thread/ags_recycling_thread.c src/ags/thread/ags_devout_thread.h src/ags/thread/ags_single_thread.h src/ags/thread/ags_thread-posix.c src/ags/thread/ags_history.c src/ags/thread/ags_gui_thread.c src/ags/thread/ags_single_thread.c src/ags/server/ags_registry.c src/ags/server/ags_registry.h src/ags/server/ags_server.h src/ags/server/ags_remote_task.h src/ags/server/ags_remote_task.c src/ags/server/ags_server.c src/ags/plugin/ags_plugin_stock.h src/ags/plugin/ags_plugin_factory.h src/ags/plugin/ags_ladspa_manager.h src/ags/plugin/ags_plugin_factory.c src/ags/plugin/ags_ladspa_manager.c src/ags/main.h
+ags_SOURCES = src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c src/ags/lib/ags_container.c src/ags/lib/ags_parameter.h src/ags/lib/ags_list.h src/ags/lib/ags_log.c src/ags/lib/ags_container.h src/ags/lib/ags_combo_box_text.h src/ags/lib/ags_log.h src/ags/lib/ags_parameter.c src/ags/X/editor/ags_notebook_callbacks.c src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_machine_radio_button.h src/ags/X/editor/ags_file_selection_callbacks.h src/ags/X/editor/ags_notebook_callbacks.h src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_meter_callbacks.c src/ags/X/editor/ags_notebook.h src/ags/X/editor/ags_sf2_chooser.h src/ags/X/editor/ags_toolbar_mode_stock.h src/ags/X/editor/ags_meter_callbacks.h src/ags/X/editor/ags_toolbar_callbacks.c src/ags/X/editor/ags_machine_selector.c src/ags/X/editor/ags_machine_selector_callbacks.c src/ags/X/editor/ags_machine_radio_button.c src/ags/X/editor/ags_sf2_chooser.c src/ags/X/editor/ags_machine_selector_callbacks.h src/ags/X/editor/ags_sf2_chooser_callbacks.c src/ags/X/editor/ags_notebook.c src/ags/X/editor/ags_note_edit_callbacks.c src/ags/X/editor/ags_file_selection_callbacks.c src/ags/X/editor/ags_machine_selection.c src/ags/X/editor/ags_inline_player_callbacks.h src/ags/X/editor/ags_inline_player.c src/ags/X/editor/ags_meter.c src/ags/X/editor/ags_file_selection.h src/ags/X/editor/ags_inline_player.h src/ags/X/editor/ags_sf2_chooser_callbacks.h src/ags/X/editor/ags_file_selection.c src/ags/X/editor/ags_machine_selector.h src/ags/X/editor/ags_note_edit_callbacks.h src/ags/X/editor/ags_note_edit.c src/ags/X/editor/ags_inline_player_callbacks.c src/ags/X/editor/ags_toolbar_callbacks.h src/ags/X/editor/ags_machine_selection.h src/ags/X/editor/ags_toolbar.c src/ags/X/ags_line_callbacks.h src/ags/X/ags_plugin_preferences.c src/ags/X/ags_link_editor.c src/ags/X/ags_pad_callbacks.h src/ags/X/ags_machine_callbacks.c src/ags/X/ags_server_preferences_callbacks.h src/ags/X/ags_listing_editor_callbacks.c src/ags/X/ags_link_collection_editor_callbacks.c src/ags/X/ags_generic_preferences_callbacks.c src/ags/X/ags_property_collection_editor_callbacks.c src/ags/X/ags_property_collection_editor.h src/ags/X/ags_resize_editor.h src/ags/X/ags_property_editor.h src/ags/X/ags_window_callbacks.h src/ags/X/ags_property_editor_callbacks.c src/ags/X/machine/ags_synth_callbacks.h src/ags/X/machine/ags_synth.c src/ags/X/machine/ags_mixer.c src/ags/X/machine/ags_matrix_callbacks.c src/ags/X/machine/ags_panel_input_line.c src/ags/X/machine/ags_synth_input_line.c src/ags/X/machine/ags_drum_callbacks.h src/ags/X/machine/ags_mixer_callbacks.c src/ags/X/machine/ags_synth_callbacks.c src/ags/X/machine/ags_ffplayer_callbacks.h src/ags/X/machine/ags_drum_input_line.h src/ags/X/machine/ags_matrix.h src/ags/X/machine/ags_mixer_input_line.c src/ags/X/machine/ags_oscillator.c src/ags/X/machine/ags_oscillator.h src/ags/X/machine/ags_oscillator_callbacks.h src/ags/X/machine/ags_mixer.h src/ags/X/machine/ags_panel_input_pad.h src/ags/X/machine/ags_panel_input_pad.c src/ags/X/machine/ags_matrix.c src/ags/X/machine/ags_panel.h src/ags/X/machine/ags_drum_output_line_callbacks.c src/ags/X/machine/ags_ffplayer.h src/ags/X/machine/ags_panel_callbacks.c src/ags/X/machine/ags_mixer_input_pad.c src/ags/X/machine/ags_panel.c src/ags/X/machine/ags_drum.c src/ags/X/machine/ags_matrix_callbacks.h src/ags/X/machine/ags_drum_output_line.h src/ags/X/machine/ags_drum_output_pad.h src/ags/X/machine/ags_synth_input_pad.h src/ags/X/machine/ags_panel_callbacks.h src/ags/X/machine/ags_ffplayer.c src/ags/X/machine/ags_drum_output_line_callbacks.h src/ags/X/machine/ags_drum_output_pad_callbacks.c src/ags/X/machine/ags_drum_output_pad_callbacks.h src/ags/X/machine/ags_drum_input_pad_callbacks.h src/ags/X/machine/ags_oscillator_callbacks.c src/ags/X/machine/ags_drum_callbacks.c src/ags/X/machine/ags_synth_input_line.h src/ags/X/machine/ags_drum_input_pad_callbacks.c src/ags/X/machine/ags_drum_input_pad.c src/ags/X/machine/ags_panel_input_line.h src/ags/X/machine/ags_drum_input_line_callbacks.h src/ags/X/machine/ags_drum_output_line.c src/ags/X/machine/ags_mixer_callbacks.h src/ags/X/machine/ags_synth.h src/ags/X/machine/ags_mixer_input_line.h src/ags/X/machine/ags_drum.h src/ags/X/machine/ags_drum_input_line.c src/ags/X/machine/ags_ffplayer_callbacks.c src/ags/X/machine/ags_drum_output_pad.c src/ags/X/machine/ags_drum_input_pad.h src/ags/X/machine/ags_drum_input_line_callbacks.c src/ags/X/machine/ags_mixer_input_pad.h src/ags/X/machine/ags_synth_input_pad.c src/ags/X/ags_server_preferences.h src/ags/X/ags_line_editor_callbacks.h src/ags/X/ags_pad_editor_callbacks.c src/ags/X/ags_listing_editor_callbacks.h src/ags/X/ags_line_member_callbacks.c src/ags/X/ags_editor.h src/ags/X/ags_machine_editor.h src/ags/X/ags_plugin_preferences_callbacks.h src/ags/X/ags_export_window_callbacks.h src/ags/X/ags_editor_callbacks.c src/ags/X/ags_pad_editor.h src/ags/X/ags_server_preferences.c src/ags/X/ags_line_editor.c src/ags/X/ags_ladspa_browser.h src/ags/X/ags_audio_preferences.c src/ags/X/ags_pad.c src/ags/X/ags_line.c src/ags/X/ags_menu_bar_callbacks.c src/ags/X/ags_generic_preferences_callbacks.h src/ags/X/ags_pad.h src/ags/X/ags_audio_preferences_callbacks.h src/ags/X/ags_generic_preferences.c src/ags/X/ags_window.c src/ags/X/ags_machine_editor_callbacks.h src/ags/X/ags_editor_callbacks.h src/ags/X/ags_menu_bar_callbacks.h src/ags/X/ags_line_member_editor.h src/ags/X/ags_property_collection_editor_callbacks.h src/ags/X/ags_line_editor_callbacks.c src/ags/X/ags_property_editor.c src/ags/X/ags_link_editor_callbacks.c src/ags/X/ags_server_preferences_callbacks.c src/ags/X/ags_pad_callbacks.c src/ags/X/ags_line_member.h src/ags/X/ags_audio_preferences_callbacks.c src/ags/X/ags_performance_preferences.h src/ags/X/ags_property_collection_editor.c src/ags/X/ags_performance_preferences_callbacks.h src/ags/X/ags_line.h src/ags/X/ags_machine.c src/ags/X/ags_preferences_callbacks.c src/ags/X/ags_export_window.c src/ags/X/ags_menu_bar.c src/ags/X/ags_plugin_preferences_callbacks.c src/ags/X/ags_line_member_callbacks.h src/ags/X/ags_preferences.c src/ags/X/ags_export_window.h src/ags/X/ags_pad_editor_callbacks.h src/ags/X/ags_window.h src/ags/X/ags_machine_callbacks.h src/ags/X/ags_machine.h src/ags/X/ags_line_callbacks.c src/ags/X/ags_link_editor_callbacks.h src/ags/X/ags_navigation_callbacks.h src/ags/X/ags_pad_editor.c src/ags/X/ags_ladspa_browser.c src/ags/X/ags_editor.c src/ags/X/ags_resize_editor.c src/ags/X/ags_property_listing_editor.c src/ags/X/ags_property_editor_callbacks.h src/ags/X/ags_line_member_editor_callbacks.h src/ags/X/ags_window_callbacks.c src/ags/X/ags_audio_preferences.h src/ags/X/ags_navigation_callbacks.c src/ags/X/ags_plugin_preferences.h src/ags/X/ags_performance_preferences_callbacks.c src/ags/X/ags_line_member.c src/ags/X/ags_preferences.h src/ags/X/ags_generic_preferences.h src/ags/X/ags_navigation.h src/ags/X/ags_listing_editor.h src/ags/X/ags_performance_preferences.c src/ags/X/ags_link_editor.h src/ags/X/ags_ladspa_browser_callbacks.c src/ags/X/ags_link_collection_editor.c src/ags/X/ags_preferences_callbacks.h src/ags/X/ags_machine_editor_callbacks.c src/ags/X/ags_menu_bar.h src/ags/X/ags_export_window_callbacks.c src/ags/X/ags_line_member_editor_callbacks.c src/ags/X/ags_link_collection_editor.h src/ags/X/ags_link_collection_editor_callbacks.h src/ags/X/ags_property_listing_editor.h src/ags/X/ags_navigation.c src/ags/X/ags_machine_editor.c src/ags/X/ags_line_member_editor.c src/ags/X/ags_ladspa_browser_callbacks.h src/ags/X/ags_line_editor.h src/ags/X/ags_listing_editor.c src/ags/object/ags_applicable.c src/ags/object/ags_seekable.h src/ags/object/ags_packable.c src/ags/object/ags_persistable.h src/ags/object/ags_packable.h src/ags/object/ags_applicable.h src/ags/object/ags_main_loop.c src/ags/object/ags_soundcard.c src/ags/object/ags_marshal.c src/ags/object/ags_mutable.h src/ags/object/ags_plugin.h src/ags/object/ags_stackable.h src/ags/object/ags_runnable.c src/ags/object/ags_tactable.h src/ags/object/ags_mutable.c src/ags/object/ags_runnable.h src/ags/object/ags_effect.c src/ags/object/ags_playable.c src/ags/object/ags_dynamic_connectable.c src/ags/object/ags_seekable.c src/ags/object/ags_countable.c src/ags/object/ags_plugin.c src/ags/object/ags_tree_iterator.h src/ags/object/ags_playable.h src/ags/object/ags_effect.h src/ags/object/ags_soundcard.h src/ags/object/ags_countable.h src/ags/object/ags_marshal.h src/ags/object/ags_portlet.h src/ags/object/ags_dynamic_connectable.h src/ags/object/ags_tactable.c src/ags/object/ags_tree_iterator.c src/ags/object/ags_persistable.c src/ags/object/ags_main_loop.h src/ags/object/ags_stackable.c src/ags/object/ags_portlet.c src/ags/util/ags_id_generator.c src/ags/util/ags_id_generator.h src/ags/widget/ags_led.h src/ags/widget/ags_expander_set.c src/ags/widget/ags_expander_set.h src/ags/widget/ags_menu.c src/ags/widget/ags_hindicator.h src/ags/widget/ags_menu.h src/ags/widget/ags_timebar.c src/ags/widget/ags_dial.c src/ags/widget/ags_ruler.h src/ags/widget/ags_dial.h src/ags/widget/ags_segment.c src/ags/widget/ags_htimebar.c src/ags/widget/ags_option_menu.h src/ags/widget/ags_indicator.c src/ags/widget/ags_htimebar.h src/ags/widget/ags_option_menu.c src/ags/widget/ags_expander.h src/ags/widget/ags_menu_item.h src/ags/widget/ags_hindicator.c src/ags/widget/ags_cartesian.h src/ags/widget/ags_indicator.h src/ags/widget/ags_cartesian.c src/ags/widget/ags_menu_item.c src/ags/widget/ags_waveform.c src/ags/widget/ags_ruler.c src/ags/widget/ags_expander.c src/ags/widget/ags_vindicator.c src/ags/widget/ags_timebar.h src/ags/widget/ags_led.c src/ags/widget/ags_waveform.h src/ags/widget/ags_table.c src/ags/widget/ags_table.h src/ags/widget/ags_vindicator.h src/ags/widget/ags_segment.h src/ags/main.c src/ags/audio/task/ags_export_output.h src/ags/audio/task/ags_set_output_device.c src/ags/audio/task/ags_add_audio.h src/ags/audio/task/ags_set_samplerate.c src/ags/audio/task/ags_remove_point_from_selection.c src/ags/audio/task/ags_save_file.h src/ags/audio/task/ags_set_buffer_size.h src/ags/audio/task/ags_link_channel.c src/ags/audio/task/ags_save_file.c src/ags/audio/task/ags_append_audio_threaded.h src/ags/audio/task/ags_cancel_channel.h src/ags/audio/task/ags_apply_synth.h src/ags/audio/task/ags_append_recall.h src/ags/audio/task/ags_add_audio_signal.c src/ags/audio/task/ags_unref_audio_signal.c src/ags/audio/task/ags_remove_region_from_selection.c src/ags/audio/task/ags_change_indicator.h src/ags/audio/task/ags_remove_point_from_selection.h src/ags/audio/task/ags_set_audio_channels.h src/ags/audio/task/ags_scroll_on_play.h src/ags/audio/task/ags_remove_audio.h src/ags/audio/task/ags_remove_recall_container.c src/ags/audio/task/ags_remove_recall.c src/ags/audio/task/ags_append_recall.c src/ags/audio/task/ags_free_selection.h src/ags/audio/task/ags_add_recall_container.c src/ags/audio/task/ags_add_recall.c src/ags/audio/task/ags_export_output.c src/ags/audio/task/ags_init_channel.h src/ags/audio/task/ags_remove_note.c src/ags/audio/task/ags_apply_wavetable.h src/ags/audio/task/ags_add_audio_signal.h src/ags/audio/task/ags_cancel_recall.h src/ags/audio/task/ags_set_audio_channels.c src/ags/audio/task/ags_cancel_audio.c src/ags/audio/task/ags_unref_audio_signal.h src/ags/audio/task/ags_add_region_to_selection.c src/ags/audio/task/ags_change_tact.h src/ags/audio/task/ags_init_audio.c src/ags/audio/task/ags_channel_set_recycling.c src/ags/audio/task/ags_display_tact.c src/ags/audio/task/ags_add_point_to_selection.h src/ags/audio/task/ags_toggle_pattern_bit.h src/ags/audio/task/ags_append_channel.c src/ags/audio/task/ags_change_indicator.c src/ags/audio/task/ags_add_note.c src/ags/audio/task/ags_channel_set_recycling.h src/ags/audio/task/ags_cancel_audio.h src/ags/audio/task/recall/ags_set_muted.c src/ags/audio/task/recall/ags_set_muted.h src/ags/audio/task/recall/ags_apply_sequencer_length.c src/ags/audio/task/recall/ags_apply_bpm.h src/ags/audio/task/recall/ags_apply_tact.c src/ags/audio/task/recall/ags_apply_bpm.c src/ags/audio/task/recall/ags_apply_sequencer_length.h src/ags/audio/task/recall/ags_apply_tact.h src/ags/audio/task/ags_remove_region_from_selection.h src/ags/audio/task/ags_cancel_channel.c src/ags/audio/task/ags_add_recall_container.h src/ags/audio/task/ags_add_recall.h src/ags/audio/task/ags_add_note.h src/ags/audio/task/ags_start_devout.c src/ags/audio/task/ags_append_audio_threaded.c src/ags/audio/task/ags_append_audio.c src/ags/audio/task/ags_init_channel.c src/ags/audio/task/ags_remove_audio_signal.h src/ags/audio/task/ags_toggle_led.c src/ags/audio/task/ags_set_buffer_size.c src/ags/audio/task/ags_add_region_to_selection.h src/ags/audio/task/ags_audio_set_recycling.h src/ags/audio/task/ags_toggle_led.h src/ags/audio/task/ags_resize_audio.h src/ags/audio/task/ags_free_selection.c src/ags/audio/task/ags_add_audio.c src/ags/audio/task/ags_set_samplerate.h src/ags/audio/task/ags_apply_synth.c src/ags/audio/task/ags_open_single_file.h src/ags/audio/task/ags_remove_audio.c src/ags/audio/task/ags_cancel_recall.c src/ags/audio/task/ags_init_audio.h src/ags/audio/task/ags_remove_note.h src/ags/audio/task/ags_remove_audio_signal.c src/ags/audio/task/ags_audio_set_recycling.c src/ags/audio/task/ags_add_point_to_selection.c src/ags/audio/task/ags_scroll_on_play.c src/ags/audio/task/ags_set_devout_play_flags.c src/ags/audio/task/ags_apply_wavetable.c src/ags/audio/task/ags_add_line_member.c src/ags/audio/task/ags_open_file.h src/ags/audio/task/ags_set_output_device.h src/ags/audio/task/ags_toggle_pattern_bit.c src/ags/audio/task/ags_open_file.c src/ags/audio/task/ags_open_single_file.c src/ags/audio/task/ags_append_audio.h src/ags/audio/task/ags_start_devout.h src/ags/audio/task/ags_display_tact.h src/ags/audio/task/ags_remove_recall_container.h src/ags/audio/task/ags_remove_recall.h src/ags/audio/task/ags_change_tact.c src/ags/audio/task/ags_append_channel.h src/ags/audio/task/ags_resize_audio.c src/ags/audio/task/ags_link_channel.h src/ags/audio/task/ags_add_line_member.h src/ags/audio/task/ags_set_devout_play_flags.h src/ags/audio/ags_devout.c src/ags/audio/ags_recall_channel.h src/ags/audio/ags_timestamp_factory.h src/ags/audio/ags_garbage_collector.c src/ags/audio/ags_garbage_collector.h src/ags/audio/ags_recall_container.c src/ags/audio/ags_timestamp.c src/ags/audio/ags_channel_iter.h src/ags/audio/ags_recall_channel_run.c src/ags/audio/ags_audio.h src/ags/audio/ags_port.c src/ags/audio/ags_notation.c src/ags/audio/ags_recall_dependency.h src/ags/audio/ags_recycling.c src/ags/audio/ags_recall_audio_signal.h src/ags/audio/ags_input.c src/ags/audio/ags_synths.c src/ags/audio/ags_input.h src/ags/audio/ags_recycling_container.h src/ags/audio/ags_recall_id.h src/ags/audio/ags_note.c src/ags/audio/ags_timestamp_factory.c src/ags/audio/ags_channel.c src/ags/audio/ags_recall_audio.c src/ags/audio/ags_audio_signal.c src/ags/audio/ags_output.h src/ags/audio/ags_libao.c src/ags/audio/file/ags_ipatch_sf2_reader.c src/ags/audio/file/ags_audio_file_xml.h src/ags/audio/file/ags_ipatch.c src/ags/audio/file/ags_audio_file.c src/ags/audio/file/ags_sndfile.h src/ags/audio/file/ags_ipatch.h src/ags/audio/file/ags_audio_file.h src/ags/audio/file/ags_ipatch_sf2_reader.h src/ags/audio/file/ags_audio_file_xml.c src/ags/audio/file/ags_sndfile.c src/ags/audio/ags_devout.h src/ags/audio/ags_port.h src/ags/audio/ags_note.h src/ags/audio/ags_timestamp.h src/ags/audio/ags_notation.h src/ags/audio/ags_recall_audio_run.c src/ags/audio/ags_recycling_container.c src/ags/audio/ags_audio_signal.h src/ags/audio/ags_recall_recycling.h src/ags/audio/recall/ags_mute_audio.h src/ags/audio/recall/ags_clone_channel.c src/ags/audio/recall/ags_copy_channel.c src/ags/audio/recall/ags_copy_pattern_channel.c src/ags/audio/recall/ags_copy_recycling.c src/ags/audio/recall/ags_volume_audio_signal.h src/ags/audio/recall/ags_play_channel.h src/ags/audio/recall/ags_play_notation_audio_run.c src/ags/audio/recall/ags_buffer_audio_signal.c src/ags/audio/recall/ags_play_channel_run.c src/ags/audio/recall/ags_stream_channel_run.c src/ags/audio/recall/ags_copy_notation_audio_run.c src/ags/audio/recall/ags_mute_channel.c src/ags/audio/recall/ags_count_beats_audio.h src/ags/audio/recall/ags_copy_pattern_audio.c src/ags/audio/recall/ags_copy_pattern_audio_run.c src/ags/audio/recall/ags_clone_channel_run.h src/ags/audio/recall/ags_delay_audio.h src/ags/audio/recall/ags_copy_notation_audio_run.h src/ags/audio/recall/ags_stream.c src/ags/audio/recall/ags_play_audio_file.h src/ags/audio/recall/ags_loop_channel_run.c src/ags/audio/recall/ags_play_pattern.c src/ags/audio/recall/ags_stream_channel_run.h src/ags/audio/recall/ags_amplifier.h src/ags/audio/recall/ags_echo.c src/ags/audio/recall/ags_play_note.c src/ags/audio/recall/ags_buffer_channel.c src/ags/audio/recall/ags_clone_channel_run.c src/ags/audio/recall/ags_peak_channel.h src/ags/audio/recall/ags_play_recycling.h src/ags/audio/recall/ags_stream_channel.h src/ags/audio/recall/ags_amplifier.c src/ags/audio/recall/ags_mute_audio_signal.h src/ags/audio/recall/ags_copy_notation_audio.c src/ags/audio/recall/ags_buffer_channel_run.h src/ags/audio/recall/ags_copy_recycling.h src/ags/audio/recall/ags_down_mix.h src/ags/audio/recall/ags_volume_recycling.h src/ags/audio/recall/ags_volume_channel_run.h src/ags/audio/recall/ags_stream_channel.c src/ags/audio/recall/ags_echo.h src/ags/audio/recall/ags_delay_audio_run.h src/ags/audio/recall/ags_stream_audio_signal.h src/ags/audio/recall/ags_mute_recycling.c src/ags/audio/recall/ags_play_pattern.h src/ags/audio/recall/ags_delay_audio.c src/ags/audio/recall/ags_buffer_recycling.c src/ags/audio/recall/ags_stream_recycling.h src/ags/audio/recall/ags_play_audio_signal.c src/ags/audio/recall/ags_play_channel_run_master.h src/ags/audio/recall/ags_volume_recycling.c src/ags/audio/recall/ags_loop_channel.c src/ags/audio/recall/ags_buffer_recycling.h src/ags/audio/recall/ags_copy_pattern_channel_run.h src/ags/audio/recall/ags_peak_channel_run.c src/ags/audio/recall/ags_loop_channel.h src/ags/audio/recall/ags_play_audio.h src/ags/audio/recall/ags_copy_audio_signal.c src/ags/audio/recall/ags_mute_channel_run.h src/ags/audio/recall/ags_copy_channel.h src/ags/audio/recall/ags_play_notation_audio.h src/ags/audio/recall/ags_play_note.h src/ags/audio/recall/ags_synths.h src/ags/audio/recall/ags_play_recycling.c src/ags/audio/recall/ags_mute_channel_run.c src/ags/audio/recall/ags_buffer_channel.h src/ags/audio/recall/ags_play_notation_audio_run.h src/ags/audio/recall/ags_volume_channel_run.c src/ags/audio/recall/ags_play_channel_run_master.c src/ags/audio/recall/ags_stream.h src/ags/audio/recall/ags_copy_pattern_channel.h src/ags/audio/recall/ags_play_channel_run.h src/ags/audio/recall/ags_mute_channel.h src/ags/audio/recall/ags_mute_audio.c src/ags/audio/recall/ags_volume_channel.h src/ags/audio/recall/ags_volume_audio_signal.c src/ags/audio/recall/ags_stream_audio_signal.c src/ags/audio/recall/ags_count_beats_audio_run.h src/ags/audio/recall/ags_copy_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.c src/ags/audio/recall/ags_delay_audio_run.c src/ags/audio/recall/ags_mute_audio_signal.c src/ags/audio/recall/ags_copy_notation_audio.h src/ags/audio/recall/ags_clone_channel.h src/ags/audio/recall/ags_buffer_channel_run.c src/ags/audio/recall/ags_play_audio.c src/ags/audio/recall/ags_copy_pattern_audio.h src/ags/audio/recall/ags_count_beats_audio.c src/ags/audio/recall/ags_play_channel.c src/ags/audio/recall/ags_count_beats_audio_run.c src/ags/audio/recall/ags_copy_pattern_audio_run.h src/ags/audio/recall/ags_stream_recycling.c src/ags/audio/recall/ags_play_audio_file.c src/ags/audio/recall/ags_play_notation_audio.c src/ags/audio/recall/ags_loop_channel_run.h src/ags/audio/recall/ags_mute_recycling.h src/ags/audio/recall/ags_peak_channel.c src/ags/audio/recall/ags_buffer_audio_signal.h src/ags/audio/recall/ags_peak_channel_run.h src/ags/audio/recall/ags_volume_channel.c src/ags/audio/recall/ags_play_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.h src/ags/audio/recall/ags_copy_pattern_channel_run.c src/ags/audio/ags_recall_ladspa.h src/ags/audio/ags_recall_recycling.c src/ags/audio/ags_recall.h src/ags/audio/ags_recall_channel_run.h src/ags/audio/ags_recall_audio.h src/ags/audio/ags_channel.h src/ags/audio/ags_pattern.c src/ags/audio/ags_synths.h src/ags/audio/ags_recall_factory.h src/ags/audio/ags_recall_audio_signal.c src/ags/audio/ags_config.h src/ags/audio/ags_effect.h src/ags/audio/ags_pattern.h src/ags/audio/ags_output.c src/ags/audio/ags_recall_channel_run_dummy.c src/ags/audio/ags_recall_dependency.c src/ags/audio/ags_channel_iter.c src/ags/audio/ags_recall_channel_run_dummy.h src/ags/audio/ags_recall.c src/ags/audio/ags_recall_ladspa_run.h src/ags/audio/ags_recall_recycling_dummy.h src/ags/audio/ags_libao.h src/ags/audio/ags_task.h src/ags/audio/ags_config.c src/ags/audio/ags_recall_channel.c src/ags/audio/ags_audio.c src/ags/audio/ags_recall_ladspa_run.c src/ags/audio/ags_recall_audio_run.h src/ags/audio/ags_recall_id.c src/ags/audio/ags_task.c src/ags/audio/ags_recall_ladspa.c src/ags/audio/ags_recall_factory.c src/ags/audio/ags_recall_container.h src/ags/audio/ags_recycling.h src/ags/audio/ags_recall_recycling_dummy.c src/ags/file/ags_file_util.h src/ags/file/ags_file_sound.h src/ags/file/ags_file_thread.h src/ags/file/ags_file_gui.h src/ags/file/ags_file_lookup.h src/ags/file/ags_file_id_ref.c src/ags/file/ags_file.h src/ags/file/ags_file_link.c src/ags/file/ags_file_write.h src/ags/file/ags_file_read.h src/ags/file/ags_file_id_ref.h src/ags/file/ags_file_sound.c src/ags/file/ags_file_thread.c src/ags/file/ags_file_util.c src/ags/file/ags_file_lookup.c src/ags/file/ags_file_launch.c src/ags/file/ags_file_stock.h src/ags/file/ags_file_gui.c src/ags/file/ags_file.c src/ags/file/ags_file_launch.h src/ags/file/ags_file_link.h src/ags/thread/ags_record_thread.c src/ags/thread/ags_thread_pool.h src/ags/thread/ags_timestamp_thread.h src/ags/thread/ags_mutex_manager.h src/ags/thread/ags_mutex_manager.c src/ags/thread/ags_task_thread.h src/ags/thread/ags_audio_loop.h src/ags/thread/ags_gui_task_thread.h src/ags/thread/ags_task_completion.h src/ags/thread/ags_task_completion.c src/ags/thread/ags_recycling_thread.h src/ags/thread/ags_autosave_thread.h src/ags/thread/ags_returnable_thread.c src/ags/thread/ags_autosave_thread.c src/ags/thread/ags_export_thread.h src/ags/thread/ags_history.h src/ags/thread/ags_iterator_thread.h src/ags/thread/ags_devout_thread.c src/ags/thread/ags_thread_pool.c src/ags/thread/ags_gui_task_thread.c src/ags/thread/ags_gui_thread.h src/ags/thread/ags_task_thread.c src/ags/thread/ags_timestamp_thread.c src/ags/thread/ags_thread-posix.h src/ags/thread/ags_async_queue.h src/ags/thread/ags_record_thread.h src/ags/thread/ags_recycling_thread_callbacks.c src/ags/thread/ags_recycling_thread_callbacks.h src/ags/thread/ags_iterator_thread.c src/ags/thread/ags_async_queue.c src/ags/thread/ags_export_thread.c src/ags/thread/ags_audio_loop.c src/ags/thread/ags_returnable_thread.h src/ags/thread/ags_recycling_thread.c src/ags/thread/ags_devout_thread.h src/ags/thread/ags_single_thread.h src/ags/thread/ags_thread-posix.c src/ags/thread/ags_history.c src/ags/thread/ags_gui_thread.c src/ags/thread/ags_single_thread.c src/ags/server/ags_registry.c src/ags/server/ags_registry.h src/ags/server/ags_server.h src/ags/server/ags_remote_task.h src/ags/server/ags_remote_task.c src/ags/server/ags_server.c src/ags/plugin/ags_plugin_stock.h src/ags/plugin/ags_plugin_factory.h src/ags/plugin/ags_ladspa_manager.h src/ags/plugin/ags_plugin_factory.c src/ags/plugin/ags_ladspa_manager.c src/ags/main.h
diff --git a/Makefile.in b/Makefile.in
index e64baf5..e39cc48 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -330,6 +330,7 @@ am_ags_OBJECTS = ags-ags_combo_box_text.$(OBJEXT) \
ags-ags_file_launch.$(OBJEXT) ags-ags_file_gui.$(OBJEXT) \
ags-ags_file.$(OBJEXT) ags-ags_record_thread.$(OBJEXT) \
ags-ags_mutex_manager.$(OBJEXT) \
+ ags-ags_task_completion.$(OBJEXT) \
ags-ags_returnable_thread.$(OBJEXT) \
ags-ags_autosave_thread.$(OBJEXT) \
ags-ags_devout_thread.$(OBJEXT) ags-ags_thread_pool.$(OBJEXT) \
@@ -1164,6 +1165,8 @@ ags_SOURCES = src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c \
src/ags/thread/ags_task_thread.h \
src/ags/thread/ags_audio_loop.h \
src/ags/thread/ags_gui_task_thread.h \
+ src/ags/thread/ags_task_completion.h \
+ src/ags/thread/ags_task_completion.c \
src/ags/thread/ags_recycling_thread.h \
src/ags/thread/ags_autosave_thread.h \
src/ags/thread/ags_returnable_thread.c \
@@ -1610,6 +1613,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_table.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_tactable.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_task.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_task_completion.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_task_thread.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_thread-posix.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_thread_pool.Po at am__quote@
@@ -5778,6 +5782,20 @@ ags-ags_mutex_manager.obj: src/ags/thread/ags_mutex_manager.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_mutex_manager.obj `if test -f 'src/ags/thread/ags_mutex_manager.c'; then $(CYGPATH_W) 'src/ags/thread/ags_mutex_manager.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/thread/ags_mutex_manager.c'; fi`
+ags-ags_task_completion.o: src/ags/thread/ags_task_completion.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -MT ags-ags_task_completion.o -MD -MP -MF $(DEPDIR)/ags-ags_task_completion.Tpo -c -o ags-ags_task_completion.o `test -f 'src/ags/thread/ags_task_completion.c' || echo '$(srcdir)/'`src/ags/thread/ags_task_completion.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ags-ags_task_completion.Tpo $(DEPDIR)/ags-ags_task_completion.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ags/thread/ags_task_completion.c' object='ags-ags_task_completion.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_task_completion.o `test -f 'src/ags/thread/ags_task_completion.c' || echo '$(srcdir)/'`src/ags/thread/ags_task_completion.c
+
+ags-ags_task_completion.obj: src/ags/thread/ags_task_completion.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -MT ags-ags_task_completion.obj -MD -MP -MF $(DEPDIR)/ags-ags_task_completion.Tpo -c -o ags-ags_task_completion.obj `if test -f 'src/ags/thread/ags_task_completion.c'; then $(CYGPATH_W) 'src/ags/thread/ags_task_completion.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/thread/ags_task_completion.c'; fi`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ags-ags_task_completion.Tpo $(DEPDIR)/ags-ags_task_completion.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ags/thread/ags_task_completion.c' object='ags-ags_task_completion.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_task_completion.obj `if test -f 'src/ags/thread/ags_task_completion.c'; then $(CYGPATH_W) 'src/ags/thread/ags_task_completion.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/thread/ags_task_completion.c'; fi`
+
ags-ags_returnable_thread.o: src/ags/thread/ags_returnable_thread.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -MT ags-ags_returnable_thread.o -MD -MP -MF $(DEPDIR)/ags-ags_returnable_thread.Tpo -c -o ags-ags_returnable_thread.o `test -f 'src/ags/thread/ags_returnable_thread.c' || echo '$(srcdir)/'`src/ags/thread/ags_returnable_thread.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ags-ags_returnable_thread.Tpo $(DEPDIR)/ags-ags_returnable_thread.Po
diff --git a/autom4te.cache/requests b/autom4te.cache/requests
index e8b164b..da75eae 100644
--- a/autom4te.cache/requests
+++ b/autom4te.cache/requests
@@ -63,106 +63,106 @@
'configure.ac'
],
{
- 'gl_VISIBILITY' => 1,
- 'AC_LIB_ARG_WITH' => 1,
- 'AC_LIB_RPATH' => 1,
- 'AM_PROG_INSTALL_STRIP' => 1,
- 'AM_GNU_GETTEXT_NEED' => 1,
- 'gl_FCNTL_O_FLAGS' => 1,
- 'AM_XGETTEXT_OPTION' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'm4_include' => 1,
- 'gt_INTL_SUBDIR_CORE' => 1,
+ 'AM_INTL_SUBDIR' => 1,
+ 'gl_THREADLIB_EARLY_BODY' => 1,
+ 'gt_PRINTF_POSIX' => 1,
+ 'AM_AUX_DIR_EXPAND' => 1,
+ 'AM_ICONV_LINK' => 1,
'AM_LANGINFO_CODESET' => 1,
- '_AM_AUTOCONF_VERSION' => 1,
- 'AC_LIB_PROG_LD_GNU' => 1,
- 'AM_SUBST_NOTMAKE' => 1,
+ 'AM_CONDITIONAL' => 1,
'AM_SILENT_RULES' => 1,
- 'gl_THREADLIB' => 1,
- 'PKG_CHECK_MODULES' => 1,
- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'gl_THREADLIB_EARLY' => 1,
- 'AM_AUX_DIR_EXPAND' => 1,
- 'AC_LIB_LINKFLAGS' => 1,
- 'AM_ICONV' => 1,
- 'AC_LIB_LINKFLAGS_FROM_LIBS' => 1,
- 'gt_LC_MESSAGES' => 1,
- 'AM_GNU_GETTEXT_VERSION' => 1,
- 'AU_DEFUN' => 1,
- 'AM_PROG_INSTALL_SH' => 1,
- 'AC_TYPE_UNSIGNED_LONG_LONG_INT' => 1,
- 'gl_LOCK' => 1,
- 'gt_INTTYPES_PRI' => 1,
- 'AM_MAKE_INCLUDE' => 1,
'gl_DISABLE_THREADS' => 1,
+ 'gt_CHECK_DECL' => 1,
'PKG_CHECK_EXISTS' => 1,
- 'm4_pattern_forbid' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
'AM_PATH_PROG_WITH_TEST' => 1,
- 'AM_MISSING_PROG' => 1,
- 'include' => 1,
- 'AC_TYPE_LONG_LONG_INT' => 1,
- 'gt_CHECK_DECL' => 1,
- 'AM_XGETTEXT_OPTION_INIT' => 1,
- 'gl_AC_TYPE_UINTMAX_T' => 1,
- '_AM_SET_OPTIONS' => 1,
- 'gl_GLIBC21' => 1,
+ '_PKG_SHORT_ERRORS_SUPPORTED' => 1,
+ 'gt_TYPE_WCHAR_T' => 1,
+ 'AC_LIB_FROMPACKAGE' => 1,
+ 'gl_XSIZE' => 1,
+ 'AM_NLS' => 1,
+ 'AM_SET_LEADING_DOT' => 1,
+ 'AM_SANITY_CHECK' => 1,
+ 'AM_GNU_GETTEXT_NEED' => 1,
+ 'gt_INTL_SUBDIR_CORE' => 1,
'_AM_DEPENDENCIES' => 1,
+ 'AM_GNU_GETTEXT_VERSION' => 1,
+ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ '_AM_MANGLE_OPTION' => 1,
+ 'AC_LIB_PROG_LD_GNU' => 1,
'AC_LIB_PROG_LD' => 1,
- 'gl_SIZE_MAX' => 1,
- 'gl_XSIZE' => 1,
- '_AC_AM_CONFIG_HEADER_HOOK' => 1,
- '_AM_IF_OPTION' => 1,
+ 'AC_DEFUN_ONCE' => 1,
+ 'AM_DEP_TRACK' => 1,
+ 'gt_LC_MESSAGES' => 1,
'AC_LIB_PREFIX' => 1,
- 'AM_SANITY_CHECK' => 1,
- 'AM_CONDITIONAL' => 1,
- 'gl_THREADLIB_EARLY_BODY' => 1,
- 'AC_LIB_PREPARE_MULTILIB' => 1,
'AM_POSTPROCESS_PO_MAKEFILE' => 1,
- 'AM_INTL_SUBDIR' => 1,
- 'gl_THREADLIB_BODY' => 1,
- '_m4_warn' => 1,
- '_AM_SET_OPTION' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'AM_SET_LEADING_DOT' => 1,
+ 'AC_TYPE_UNSIGNED_LONG_LONG_INT' => 1,
+ 'AM_MISSING_HAS_RUN' => 1,
+ 'gl_GLIBC21' => 1,
+ 'AC_LIB_RPATH' => 1,
+ 'gt_INTTYPES_PRI' => 1,
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ '_AM_SET_OPTIONS' => 1,
'AC_COMPUTE_INT' => 1,
- 'gt_TYPE_WCHAR_T' => 1,
- 'gt_GLIBC2' => 1,
+ '_AM_SET_OPTION' => 1,
+ 'AM_PO_SUBDIRS' => 1,
'm4_pattern_allow' => 1,
- 'AM_ICONV_LINKFLAGS_BODY' => 1,
- 'PKG_PROG_PKG_CONFIG' => 1,
- 'AC_' => 1,
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
- 'AM_DEP_TRACK' => 1,
- 'AC_DEFUN_ONCE' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AC_LIB_LINKFLAGS_BODY' => 1,
- 'gl_AC_HEADER_STDINT_H' => 1,
- 'gt_PRINTF_POSIX' => 1,
- 'AM_PROG_MKDIR_P' => 1,
+ 'gt_GLIBC2' => 1,
'_AC_TYPE_LONG_LONG_SNIPPET' => 1,
- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_LIB_FROMPACKAGE' => 1,
- 'AM_PO_SUBDIRS' => 1,
- 'gt_INTDIV0' => 1,
+ 'AM_PROG_MKDIR_P' => 1,
+ 'AC_LIB_WITH_FINAL_PREFIX' => 1,
+ 'PKG_PROG_PKG_CONFIG' => 1,
+ 'gt_TYPE_INTMAX_T' => 1,
+ 'AC_LIB_PREPARE_PREFIX' => 1,
+ 'gl_FCNTL_O_FLAGS' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ '_m4_warn' => 1,
+ 'include' => 1,
+ 'AC_LIB_LINKFLAGS_FROM_LIBS' => 1,
+ 'AC_LIB_ARG_WITH' => 1,
+ 'AC_LIB_APPENDTOVAR' => 1,
+ 'PKG_CHECK_MODULES' => 1,
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ 'gl_PREREQ_LOCK' => 1,
+ 'AC_LIB_PREPARE_MULTILIB' => 1,
+ 'AM_ICONV_LINKFLAGS_BODY' => 1,
+ 'gl_THREADLIB' => 1,
+ 'AC_LIB_LINKFLAGS' => 1,
+ 'AC_LIB_HAVE_LINKFLAGS' => 1,
+ 'AM_MAKE_INCLUDE' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'gl_THREADLIB_EARLY' => 1,
'AM_RUN_LOG' => 1,
- 'AM_ICONV_LINK' => 1,
+ 'AU_DEFUN' => 1,
+ '_AM_AUTOCONF_VERSION' => 1,
+ 'gl_LOCK' => 1,
'AC_DEFUN' => 1,
- '_PKG_SHORT_ERRORS_SUPPORTED' => 1,
+ 'gl_AC_HEADER_STDINT_H' => 1,
+ 'AC_TYPE_LONG_LONG_INT' => 1,
'AM_SET_DEPDIR' => 1,
- 'AM_NLS' => 1,
- 'gl_AC_HEADER_INTTYPES_H' => 1,
- 'AM_MISSING_HAS_RUN' => 1,
- 'gl_PREREQ_LOCK' => 1,
'gt_INTL_MACOSX' => 1,
- 'AM_GNU_GETTEXT' => 1,
- '_AM_MANGLE_OPTION' => 1,
'gt_TYPE_WINT_T' => 1,
- 'AC_LIB_HAVE_LINKFLAGS' => 1,
- 'AC_LIB_PREPARE_PREFIX' => 1,
- 'AC_LIB_WITH_FINAL_PREFIX' => 1,
- 'AC_LIB_APPENDTOVAR' => 1,
- 'gt_TYPE_INTMAX_T' => 1,
- '_AM_PROG_TAR' => 1
+ 'gl_SIZE_MAX' => 1,
+ 'm4_include' => 1,
+ 'gl_AC_HEADER_INTTYPES_H' => 1,
+ 'gt_INTDIV0' => 1,
+ 'gl_VISIBILITY' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AC_' => 1,
+ 'AM_XGETTEXT_OPTION' => 1,
+ 'AM_XGETTEXT_OPTION_INIT' => 1,
+ '_AM_PROG_TAR' => 1,
+ '_AM_IF_OPTION' => 1,
+ 'AM_PROG_INSTALL_STRIP' => 1,
+ 'AM_SUBST_NOTMAKE' => 1,
+ 'AM_PROG_INSTALL_SH' => 1,
+ 'AM_ICONV' => 1,
+ 'gl_AC_TYPE_UINTMAX_T' => 1,
+ 'gl_THREADLIB_BODY' => 1,
+ 'AC_LIB_LINKFLAGS_BODY' => 1,
+ 'm4_pattern_forbid' => 1,
+ 'AM_MISSING_PROG' => 1
}
], 'Autom4te::Request' ),
bless( [
@@ -177,65 +177,65 @@
'configure.ac'
],
{
- 'AM_GNU_GETTEXT' => 1,
+ 'AM_PROG_F77_C_O' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ 'AM_NLS' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AH_OUTPUT' => 1,
'_LT_AC_TAGCONFIG' => 1,
- 'AC_LIBSOURCE' => 1,
- 'AC_CONFIG_HEADERS' => 1,
- 'AM_PROG_CXX_C_O' => 1,
- 'AC_INIT' => 1,
- 'LT_INIT' => 1,
+ 'AC_SUBST' => 1,
+ 'AC_CONFIG_FILES' => 1,
'AM_CONDITIONAL' => 1,
- 'AM_ENABLE_MULTILIB' => 1,
- '_AM_MAKEFILE_INCLUDE' => 1,
- 'AM_PROG_AR' => 1,
- 'AM_NLS' => 1,
'AC_CANONICAL_HOST' => 1,
- 'AC_FC_PP_SRCEXT' => 1,
- 'AM_MAKEFILE_INCLUDE' => 1,
+ '_AM_COND_IF' => 1,
+ 'AM_SILENT_RULES' => 1,
'AM_PROG_FC_C_O' => 1,
- 'AC_CANONICAL_TARGET' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
- 'LT_SUPPORTED_TAG' => 1,
- 'AC_FC_FREEFORM' => 1,
- 'm4_pattern_forbid' => 1,
- 'include' => 1,
- 'm4_sinclude' => 1,
+ 'AC_SUBST_TRACE' => 1,
+ 'AC_FC_PP_SRCEXT' => 1,
+ '_AM_MAKEFILE_INCLUDE' => 1,
'AM_PROG_CC_C_O' => 1,
- '_AM_COND_IF' => 1,
- 'AC_CONFIG_LINKS' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
- 'AM_PROG_F77_C_O' => 1,
- '_AM_COND_ELSE' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AC_SUBST_TRACE' => 1,
- 'AM_PROG_MKDIR_P' => 1,
- 'AC_PROG_LIBTOOL' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AM_PROG_CXX_C_O' => 1,
+ 'AM_EXTRA_RECURSIVE_TARGETS' => 1,
+ 'AM_PROG_MOC' => 1,
+ 'AC_REQUIRE_AUX_FILE' => 1,
+ '_AM_COND_ENDIF' => 1,
+ 'AM_GNU_GETTEXT' => 1,
'AC_FC_SRCEXT' => 1,
'm4_pattern_allow' => 1,
- 'AC_CONFIG_LIBOBJ_DIR' => 1,
- 'AM_PATH_GUILE' => 1,
- 'AC_SUBST' => 1,
- 'AM_PROG_MOC' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
- 'AH_OUTPUT' => 1,
- 'AC_CONFIG_SUBDIRS' => 1,
- 'AM_EXTRA_RECURSIVE_TARGETS' => 1,
- '_AM_COND_ENDIF' => 1,
- 'AC_FC_PP_DEFINE' => 1,
+ 'm4_include' => 1,
+ 'AC_CONFIG_LINKS' => 1,
'AC_CANONICAL_BUILD' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'AM_POT_TOOLS' => 1,
- 'AC_REQUIRE_AUX_FILE' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AC_FC_FREEFORM' => 1,
+ 'AM_PROG_AR' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
+ 'LT_INIT' => 1,
'sinclude' => 1,
- 'AM_SILENT_RULES' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
- 'AC_CONFIG_FILES' => 1,
- 'AC_DEFINE_TRACE_LITERAL' => 1,
+ '_AM_COND_ELSE' => 1,
'AM_MAINTAINER_MODE' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
+ 'include' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'm4_pattern_forbid' => 1,
+ '_m4_warn' => 1,
+ 'AM_ENABLE_MULTILIB' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'm4_sinclude' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
+ 'AM_MAKEFILE_INCLUDE' => 1,
+ 'AM_PROG_MKDIR_P' => 1,
+ 'AM_PATH_GUILE' => 1,
'AM_XGETTEXT_OPTION' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'm4_include' => 1,
- '_m4_warn' => 1
+ 'AM_POT_TOOLS' => 1,
+ 'AC_FC_PP_DEFINE' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AC_INIT' => 1
}
], 'Autom4te::Request' ),
bless( [
@@ -301,114 +301,114 @@
'configure.ac'
],
{
- 'AM_SUBST_NOTMAKE' => 1,
- 'AM_SILENT_RULES' => 1,
- 'AC_LIB_PROG_LD_GNU' => 1,
- '_AM_AUTOCONF_VERSION' => 1,
- 'AM_LANGINFO_CODESET' => 1,
- 'gt_INTL_SUBDIR_CORE' => 1,
- 'm4_include' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'AM_XGETTEXT_OPTION' => 1,
- 'PKG_CHECK_VAR' => 1,
- 'gl_FCNTL_O_FLAGS' => 1,
- 'AM_GNU_GETTEXT_NEED' => 1,
- 'AM_PROG_INSTALL_STRIP' => 1,
- 'AC_LIB_RPATH' => 1,
- 'AC_LIB_ARG_WITH' => 1,
- 'gl_VISIBILITY' => 1,
- 'AM_PROG_INSTALL_SH' => 1,
- 'AM_GNU_GETTEXT_VERSION' => 1,
- 'AU_DEFUN' => 1,
- 'AC_LIB_LINKFLAGS_FROM_LIBS' => 1,
- 'AM_ICONV' => 1,
+ 'AM_DEP_TRACK' => 1,
+ 'AC_DEFUN_ONCE' => 1,
+ 'AC_TYPE_UNSIGNED_LONG_LONG_INT' => 1,
'gt_LC_MESSAGES' => 1,
- 'AC_LIB_LINKFLAGS' => 1,
- 'AM_AUX_DIR_EXPAND' => 1,
- 'gl_THREADLIB_EARLY' => 1,
- 'PKG_CHECK_MODULES' => 1,
+ 'AM_POSTPROCESS_PO_MAKEFILE' => 1,
+ 'AC_LIB_PREFIX' => 1,
+ 'AM_GNU_GETTEXT_NEED' => 1,
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'gl_THREADLIB' => 1,
- 'AM_XGETTEXT_OPTION_INIT' => 1,
- 'include' => 1,
- 'AC_TYPE_LONG_LONG_INT' => 1,
- 'AM_MISSING_PROG' => 1,
- 'AM_PATH_PROG_WITH_TEST' => 1,
- 'PKG_INSTALLDIR' => 1,
- 'm4_pattern_forbid' => 1,
+ 'AM_GNU_GETTEXT_VERSION' => 1,
+ 'gt_INTL_SUBDIR_CORE' => 1,
+ '_AM_DEPENDENCIES' => 1,
+ '_AM_MANGLE_OPTION' => 1,
+ 'AC_LIB_PROG_LD' => 1,
+ 'AC_LIB_PROG_LD_GNU' => 1,
'PKG_CHECK_EXISTS' => 1,
- 'gl_DISABLE_THREADS' => 1,
- 'AM_MAKE_INCLUDE' => 1,
- 'gt_INTTYPES_PRI' => 1,
- 'gl_LOCK' => 1,
- 'AC_TYPE_UNSIGNED_LONG_LONG_INT' => 1,
- 'gl_THREADLIB_EARLY_BODY' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AM_SANITY_CHECK' => 1,
- 'AC_LIB_PREFIX' => 1,
- '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ '_PKG_SHORT_ERRORS_SUPPORTED' => 1,
+ 'gt_TYPE_WCHAR_T' => 1,
'gl_XSIZE' => 1,
- '_AM_IF_OPTION' => 1,
- 'gl_SIZE_MAX' => 1,
- 'AC_LIB_PROG_LD' => 1,
- 'gl_GLIBC21' => 1,
- '_AM_DEPENDENCIES' => 1,
- '_AM_SET_OPTIONS' => 1,
- 'gl_AC_TYPE_UINTMAX_T' => 1,
- 'AC_COMPUTE_INT' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
+ 'AC_LIB_FROMPACKAGE' => 1,
+ 'AM_PATH_PROG_WITH_TEST' => 1,
'AM_SET_LEADING_DOT' => 1,
- '_AM_SET_OPTION' => 1,
- 'gl_THREADLIB_BODY' => 1,
+ 'AM_SANITY_CHECK' => 1,
+ 'AM_NLS' => 1,
+ 'gt_PRINTF_POSIX' => 1,
+ 'gl_THREADLIB_EARLY_BODY' => 1,
'AM_INTL_SUBDIR' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AM_LANGINFO_CODESET' => 1,
+ 'AM_ICONV_LINK' => 1,
+ 'AM_AUX_DIR_EXPAND' => 1,
+ 'gl_DISABLE_THREADS' => 1,
+ 'AM_SILENT_RULES' => 1,
'_m4_warn' => 1,
- 'AM_POSTPROCESS_PO_MAKEFILE' => 1,
- 'AC_LIB_PREPARE_MULTILIB' => 1,
- 'gl_EXTERN_INLINE' => 1,
- '_AM_CONFIG_MACRO_DIRS' => 1,
- '_AC_TYPE_LONG_LONG_SNIPPET' => 1,
- 'gt_GL_ATTRIBUTE' => 1,
- 'gt_PRINTF_POSIX' => 1,
- 'AC_LIB_LINKFLAGS_BODY' => 1,
- 'gl_AC_HEADER_STDINT_H' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
- 'AM_DEP_TRACK' => 1,
- 'AC_DEFUN_ONCE' => 1,
- 'AC_' => 1,
+ 'AC_LIB_APPENDTOVAR' => 1,
+ 'AC_LIB_ARG_WITH' => 1,
+ 'AC_LIB_LINKFLAGS_FROM_LIBS' => 1,
+ 'include' => 1,
+ 'PKG_INSTALLDIR' => 1,
'PKG_PROG_PKG_CONFIG' => 1,
- 'AM_ICONV_LINKFLAGS_BODY' => 1,
+ 'AC_LIB_WITH_FINAL_PREFIX' => 1,
+ 'gt_TYPE_INTMAX_T' => 1,
+ 'gl_FCNTL_O_FLAGS' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'AC_LIB_PREPARE_PREFIX' => 1,
'm4_pattern_allow' => 1,
- 'gt_GLIBC2' => 1,
- 'gt_TYPE_WCHAR_T' => 1,
- 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
- 'AM_RUN_LOG' => 1,
- '_AM_PROG_CC_C_O' => 1,
- 'gt_INTDIV0' => 1,
'AM_PO_SUBDIRS' => 1,
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+ '_AC_TYPE_LONG_LONG_SNIPPET' => 1,
+ 'gt_GLIBC2' => 1,
+ 'gt_INTTYPES_PRI' => 1,
+ 'gl_GLIBC21' => 1,
+ 'AM_MISSING_HAS_RUN' => 1,
+ 'AC_LIB_RPATH' => 1,
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_LIB_FROMPACKAGE' => 1,
+ '_AM_SET_OPTION' => 1,
+ 'AC_COMPUTE_INT' => 1,
+ '_AM_SET_OPTIONS' => 1,
+ 'gl_AC_HEADER_STDINT_H' => 1,
+ 'AC_TYPE_LONG_LONG_INT' => 1,
'AM_PROG_CC_C_O' => 1,
- 'AC_LIB_PREPARE_PREFIX' => 1,
+ 'AM_MAKE_INCLUDE' => 1,
'AC_LIB_HAVE_LINKFLAGS' => 1,
- 'gt_TYPE_WINT_T' => 1,
- 'AC_LIB_WITH_FINAL_PREFIX' => 1,
- '_AM_PROG_TAR' => 1,
- 'AC_LIB_APPENDTOVAR' => 1,
- 'gt_TYPE_INTMAX_T' => 1,
- 'AC_CONFIG_MACRO_DIR' => 1,
- '_AM_MANGLE_OPTION' => 1,
+ 'gt_GL_ATTRIBUTE' => 1,
+ 'AU_DEFUN' => 1,
+ 'AM_RUN_LOG' => 1,
'AM_GNU_GETTEXT' => 1,
- 'gt_INTL_MACOSX' => 1,
+ 'gl_THREADLIB_EARLY' => 1,
+ 'AC_DEFUN' => 1,
+ 'gl_LOCK' => 1,
+ '_AM_AUTOCONF_VERSION' => 1,
+ '_AM_PROG_CC_C_O' => 1,
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ 'AC_LIB_PREPARE_MULTILIB' => 1,
+ '_AM_CONFIG_MACRO_DIRS' => 1,
'gl_PREREQ_LOCK' => 1,
+ 'gl_THREADLIB' => 1,
+ 'AM_ICONV_LINKFLAGS_BODY' => 1,
+ 'AC_LIB_LINKFLAGS' => 1,
+ 'PKG_CHECK_MODULES' => 1,
'PKG_NOARCH_INSTALLDIR' => 1,
- 'AM_MISSING_HAS_RUN' => 1,
- 'AM_NLS' => 1,
+ 'AC_CONFIG_MACRO_DIR' => 1,
+ 'gl_THREADLIB_BODY' => 1,
+ 'AC_LIB_LINKFLAGS_BODY' => 1,
+ 'AM_MISSING_PROG' => 1,
+ 'gl_EXTERN_INLINE' => 1,
+ 'm4_pattern_forbid' => 1,
+ '_AM_IF_OPTION' => 1,
+ 'AC_' => 1,
+ 'AM_XGETTEXT_OPTION_INIT' => 1,
+ 'AM_XGETTEXT_OPTION' => 1,
+ '_AM_PROG_TAR' => 1,
+ 'AM_PROG_INSTALL_STRIP' => 1,
+ 'AM_SUBST_NOTMAKE' => 1,
+ 'AC_CONFIG_MACRO_DIR_TRACE' => 1,
+ 'AM_ICONV' => 1,
+ 'AM_PROG_INSTALL_SH' => 1,
+ 'gl_AC_TYPE_UINTMAX_T' => 1,
+ 'm4_include' => 1,
+ 'gl_VISIBILITY' => 1,
+ 'gt_INTDIV0' => 1,
'gl_AC_HEADER_INTTYPES_H' => 1,
- '_PKG_SHORT_ERRORS_SUPPORTED' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'PKG_CHECK_VAR' => 1,
'AM_SET_DEPDIR' => 1,
- 'AC_DEFUN' => 1,
- 'AM_ICONV_LINK' => 1
+ 'gt_TYPE_WINT_T' => 1,
+ 'gt_INTL_MACOSX' => 1,
+ 'gl_SIZE_MAX' => 1
}
], 'Autom4te::Request' )
);
diff --git a/config.log b/config.log
index 362f90e..698c901 100644
--- a/config.log
+++ b/config.log
@@ -10,7 +10,7 @@ generated by GNU Autoconf 2.69. Invocation command line was
## Platform. ##
## --------- ##
-hostname = localhost
+hostname = Device-03036C
uname -m = x86_64
uname -r = 3.14.25-rt22
uname -s = Linux
@@ -1205,7 +1205,7 @@ configure:8169: result: yes
configure:8169: checking for pthread.h
configure:8169: result: yes
configure:8207: gcc -o conftest -g -O2 conftest.c -lrt -lm -ldl >&5
-/usr/bin/ld: /tmp/ccWrIvtF.o: undefined reference to symbol 'pthread_mutexattr_init@@GLIBC_2.2.5'
+/usr/bin/ld: /tmp/cctGbYvK.o: undefined reference to symbol 'pthread_mutexattr_init@@GLIBC_2.2.5'
/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
configure:8207: $? = 1
@@ -2928,7 +2928,7 @@ generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_COMMANDS =
$ ./config.status
-on localhost
+on Device-03036C
config.status:1089: creating Makefile
config.status:1089: creating config.h
@@ -2949,7 +2949,25 @@ generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_COMMANDS =
$ ./config.status config.h
-on localhost
+on Device-03036C
config.status:1089: creating config.h
config.status:1270: config.h is unchanged
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by ags config.status 0.4.2, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES =
+ CONFIG_HEADERS =
+ CONFIG_LINKS =
+ CONFIG_COMMANDS =
+ $ ./config.status Makefile depfiles
+
+on Device-D997DF
+
+config.status:1089: creating Makefile
+config.status:1318: executing depfiles commands
diff --git a/src/ags/X/ags_editor.c b/src/ags/X/ags_editor.c
index a1a58eb..316d0ca 100644
--- a/src/ags/X/ags_editor.c
+++ b/src/ags/X/ags_editor.c
@@ -208,7 +208,10 @@ ags_editor_init(AgsEditor *editor)
gtk_paned_pack1((GtkPaned *) paned, (GtkWidget *) scrolled_window, FALSE, TRUE);
// gtk_widget_set_size_request((GtkWidget *) scrolled_window, 180, -1);
- editor->machine_selector = ags_machine_selector_new();
+ editor->machine_selector = g_object_new(AGS_TYPE_MACHINE_SELECTOR,
+ "homogeneous\0", FALSE,
+ "spacing\0", 0,
+ NULL);
gtk_scrolled_window_add_with_viewport(scrolled_window, (GtkWidget *) editor->machine_selector);
editor->selected_machine = NULL;
@@ -216,19 +219,27 @@ ags_editor_init(AgsEditor *editor)
table = (GtkTable *) gtk_table_new(4, 3, FALSE);
gtk_paned_pack2((GtkPaned *) paned, (GtkWidget *) table, TRUE, FALSE);
- editor->notebook = ags_notebook_new();
+ editor->notebook = g_object_new(AGS_TYPE_NOTEBOOK,
+ "homogeneous\0", FALSE,
+ "spacing\0", 0,
+ NULL);
gtk_table_attach(table, (GtkWidget *) editor->notebook,
0, 3, 0, 1,
GTK_FILL|GTK_EXPAND, GTK_FILL,
0, 0);
- editor->meter = ags_meter_new();
+ editor->meter = g_object_new(AGS_TYPE_METER,
+ NULL);
gtk_table_attach(table, (GtkWidget *) editor->meter,
0, 1, 1, 2,
GTK_FILL, GTK_FILL,
0, 0);
- editor->note_edit = ags_note_edit_new();
+ editor->note_edit = g_object_new(AGS_TYPE_NOTE_EDIT,
+ "n-rows\0", 3,
+ "n-columns\0", 3,
+ "homogeneous", FALSE,
+ NULL);
gtk_table_attach(table, (GtkWidget *) editor->note_edit,
1, 2, 1, 2,
GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND,
diff --git a/src/ags/X/ags_machine.c b/src/ags/X/ags_machine.c
index b44a5ac..6000d43 100644
--- a/src/ags/X/ags_machine.c
+++ b/src/ags/X/ags_machine.c
@@ -28,6 +28,7 @@
#include <ags/thread/ags_audio_loop.h>
#include <ags/thread/ags_task_thread.h>
+#include <ags/thread/ags_gui_thread.h>
#include <ags/file/ags_file.h>
#include <ags/file/ags_file_stock.h>
@@ -828,11 +829,22 @@ ags_machine_set_run(AgsMachine *machine,
/* create start task */
if(list != NULL){
+ AgsGuiThread *gui_thread;
+ AgsTaskCompletion *task_completion;
+
+ gui_thread = (AgsTaskThread *) AGS_AUDIO_LOOP(AGS_MAIN(window->ags_main)->main_loop)->gui_thread;
+
start_devout = ags_start_devout_new(window->devout);
- g_signal_connect_after(G_OBJECT(start_devout), "failure\0",
- G_CALLBACK(ags_machine_start_failure_callback), machine);
list = g_list_prepend(list, start_devout);
+ task_completion = ags_task_completion_new(start_devout,
+ NULL);
+ g_signal_connect_after(G_OBJECT(task_completion), "complete\0",
+ G_CALLBACK(ags_machine_start_complete_callback), machine);
+ gui_thread->task_completion = g_list_prepend(gui_thread->task_completion,
+ task_completion);
+ ags_connectable_connect(AGS_CONNECTABLE(task_completion));
+
/* append AgsStartDevout */
list = g_list_reverse(list);
diff --git a/src/ags/X/ags_machine_callbacks.c b/src/ags/X/ags_machine_callbacks.c
index 37d1914..0ea7d1f 100644
--- a/src/ags/X/ags_machine_callbacks.c
+++ b/src/ags/X/ags_machine_callbacks.c
@@ -36,7 +36,7 @@
#include <ags/X/editor/ags_file_selection.h>
int ags_machine_popup_rename_response_callback(GtkWidget *widget, gint response, AgsMachine *machine);
-void ags_machine_start_failure_response(GtkWidget *dialog, AgsMachine *machine);
+void ags_machine_start_complete_response(GtkWidget *dialog, gint response, AgsMachine *machine);
#define AGS_RENAME_ENTRY "AgsRenameEntry"
@@ -441,29 +441,36 @@ ags_machine_done_callback(AgsAudio *audio,
}
void
-ags_machine_start_failure_callback(AgsTask *task, GError *error,
- AgsMachine *machine)
+ags_machine_start_complete_callback(AgsTaskCompletion *task_completion,
+ AgsMachine *machine)
{
AgsWindow *window;
GtkMessageDialog *dialog;
- AgsAudioLoop *audio_loop;
+
+ AgsDevoutThread *devout_thread;
+ AgsTask *task;
- /* show error message */
+ task = task_completion->task;
window = AGS_MAIN(AGS_START_DEVOUT(task)->devout->ags_main)->window;
-
- dialog = (GtkMessageDialog *) gtk_message_dialog_new(GTK_WINDOW(window),
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE,
- error->message);
- g_signal_connect(dialog, "response\0",
- G_CALLBACK(ags_machine_start_failure_response), machine);
- gtk_widget_show_all(dialog);
+ devout_thread = (AgsTaskThread *) AGS_AUDIO_LOOP(AGS_MAIN(window->ags_main)->main_loop)->devout_thread;
+
+ if(devout_thread->error != NULL){
+ /* show error message */
+ dialog = (GtkMessageDialog *) gtk_message_dialog_new(GTK_WINDOW(window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ "Error: %s\0", devout_thread->error->message);
+ g_signal_connect(dialog, "response\0",
+ G_CALLBACK(ags_machine_start_complete_response), machine);
+ gtk_widget_show_all(dialog);
+ }
}
void
-ags_machine_start_failure_response(GtkWidget *dialog,
- AgsMachine *machine)
+ags_machine_start_complete_response(GtkWidget *dialog,
+ gint response,
+ AgsMachine *machine)
{
gtk_widget_destroy(dialog);
}
diff --git a/src/ags/X/ags_machine_callbacks.h b/src/ags/X/ags_machine_callbacks.h
index e749446..ea1e56b 100644
--- a/src/ags/X/ags_machine_callbacks.h
+++ b/src/ags/X/ags_machine_callbacks.h
@@ -22,9 +22,12 @@
#include <glib-object.h>
#include <gtk/gtk.h>
-#include <ags/X/ags_machine.h>
+#include <ags/thread/ags_task_completion.h>
+
#include <ags/audio/ags_task.h>
+#include <ags/X/ags_machine.h>
+
int ags_machine_parent_set_callback(GtkWidget *widget, GtkObject *old_parent, AgsMachine *machine);
int ags_machine_destroy_callback(GtkObject *object, AgsMachine *machine);
@@ -52,7 +55,7 @@ void ags_machine_done_callback(AgsAudio *audio,
AgsMachine *machine);
/* task */
-void ags_machine_start_failure_callback(AgsTask *task, GError *error,
- AgsMachine *machine);
+void ags_machine_start_complete_callback(AgsTaskCompletion *task_completion,
+ AgsMachine *machine);
#endif /*__AGS_MACHINE_CALLBACKS_H__*/
diff --git a/src/ags/X/ags_window.c b/src/ags/X/ags_window.c
index ef8ae3a..f29d605 100644
--- a/src/ags/X/ags_window.c
+++ b/src/ags/X/ags_window.c
@@ -192,17 +192,25 @@ ags_window_init(AgsWindow *window)
gtk_box_pack_start((GtkBox*) vbox, (GtkWidget*) window->paned, TRUE, TRUE, 0);
scrolled_window = (GtkWidget *) gtk_scrolled_window_new(NULL, NULL);
- gtk_paned_add1((GtkPaned *) window->paned,
- scrolled_window);
+ gtk_paned_pack1((GtkPaned *) window->paned,
+ scrolled_window,
+ TRUE, TRUE);
window->machines = (GtkVBox *) gtk_vbox_new(FALSE, 0);
gtk_scrolled_window_add_with_viewport((GtkScrolledWindow *) scrolled_window,
(GtkWidget *) window->machines);
- window->editor = ags_editor_new();
- gtk_paned_add2((GtkPaned *) window->paned,
- (GtkWidget *) window->editor);
-
- window->navigation = ags_navigation_new();
+ window->editor = g_object_new(AGS_TYPE_EDITOR,
+ "homogeneous\0", FALSE,
+ "spacing\0", 0,
+ NULL);
+ gtk_paned_pack2((GtkPaned *) window->paned,
+ (GtkWidget *) window->editor,
+ TRUE, TRUE);
+
+ window->navigation = g_object_new(AGS_TYPE_NAVIGATION,
+ "homogeneous\0", FALSE,
+ "spacing\0", 0,
+ NULL);
gtk_box_pack_start((GtkBox *) vbox,
(GtkWidget *) window->navigation,
FALSE, FALSE, 0);
@@ -363,11 +371,11 @@ ags_window_show(GtkWidget *widget)
{
AgsWindow *window;
- GTK_WIDGET_CLASS(ags_window_parent_class)->show(widget);
-
window = (AgsWindow *) widget;
gtk_widget_show((GtkWidget *) window->menu_bar);
+
+ GTK_WIDGET_CLASS(ags_window_parent_class)->show(widget);
}
gboolean
diff --git a/src/ags/X/editor/ags_note_edit.c b/src/ags/X/editor/ags_note_edit.c
index 446564d..0d1abae 100644
--- a/src/ags/X/editor/ags_note_edit.c
+++ b/src/ags/X/editor/ags_note_edit.c
@@ -105,7 +105,7 @@ ags_note_edit_init(AgsNoteEdit *note_edit)
note_edit->ruler = ags_ruler_new();
gtk_table_attach(GTK_TABLE(note_edit), (GtkWidget *) note_edit->ruler,
0, 1, 0, 1,
- GTK_FILL|GTK_EXPAND, GTK_FILL,
+ GTK_FILL, GTK_FILL,
0, 0);
note_edit->drawing_area = (GtkDrawingArea *) gtk_drawing_area_new();
diff --git a/src/ags/audio/ags_devout.c b/src/ags/audio/ags_devout.c
index cfff3ee..2fb10f2 100644
--- a/src/ags/audio/ags_devout.c
+++ b/src/ags/audio/ags_devout.c
@@ -1222,6 +1222,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* Open PCM device for playback. */
if ((err = snd_pcm_open(&handle, devout->out.alsa.device, SND_PCM_STREAM_PLAYBACK, 0)) < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Playback open error: %s\n", snd_strerror(err));
g_set_error(error,
AGS_DEVOUT_ERROR,
@@ -1237,6 +1239,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* choose all parameters */
err = snd_pcm_hw_params_any(handle, hwparams);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Broken configuration for playback: no configurations available: %s\n", snd_strerror(err));
return;
}
@@ -1244,6 +1248,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* set hardware resampling */
err = snd_pcm_hw_params_set_rate_resample(handle, hwparams, 1);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Resampling setup failed for playback: %s\n", snd_strerror(err));
return;
}
@@ -1251,6 +1257,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* set the interleaved read/write format */
err = snd_pcm_hw_params_set_access(handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Access type not available for playback: %s\n", snd_strerror(err));
return;
}
@@ -1258,6 +1266,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* set the sample format */
err = snd_pcm_hw_params_set_format(handle, hwparams, format);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Sample format not available for playback: %s\n", snd_strerror(err));
return;
}
@@ -1266,6 +1276,8 @@ ags_devout_alsa_init(AgsDevout *devout,
channels = devout->dsp_channels;
err = snd_pcm_hw_params_set_channels(handle, hwparams, channels);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Channels count (%i) not available for playbacks: %s\n", channels, snd_strerror(err));
return;
}
@@ -1275,11 +1287,15 @@ ags_devout_alsa_init(AgsDevout *devout,
rrate = rate;
err = snd_pcm_hw_params_set_rate_near(handle, hwparams, &rrate, 0);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Rate %iHz not available for playback: %s\n", rate, snd_strerror(err));
return;
}
if (rrate != rate) {
+ pthread_mutex_unlock(mutex);
+
printf("Rate doesn't match (requested %iHz, get %iHz)\n", rate, err);
// exit(-EINVAL);
return;
@@ -1289,6 +1305,8 @@ ags_devout_alsa_init(AgsDevout *devout,
size = devout->buffer_size;
err = snd_pcm_hw_params_set_buffer_size(handle, hwparams, size);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to set buffer size %i for playback: %s\n", size, snd_strerror(err));
return;
}
@@ -1300,12 +1318,16 @@ ags_devout_alsa_init(AgsDevout *devout,
dir = -1;
err = snd_pcm_hw_params_set_period_time_near(handle, hwparams, &period_time, &dir);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to set period time %i for playback: %s\n", period_time, snd_strerror(err));
return;
}
err = snd_pcm_hw_params_get_period_size(hwparams, &size, &dir);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to get period size for playback: %s\n", snd_strerror(err));
return;
}
@@ -1314,6 +1336,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* write the parameters to device */
err = snd_pcm_hw_params(handle, hwparams);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to set hw params for playback: %s\n", snd_strerror(err));
return;
}
@@ -1321,6 +1345,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* get the current swparams */
err = snd_pcm_sw_params_current(handle, swparams);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to determine current swparams for playback: %s\n", snd_strerror(err));
return;
}
@@ -1329,6 +1355,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* (buffer_size / avail_min) * avail_min */
err = snd_pcm_sw_params_set_start_threshold(handle, swparams, (buffer_size / period_size) * period_size);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to set start threshold mode for playback: %s\n", snd_strerror(err));
return;
}
@@ -1337,6 +1365,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* or disable this mechanism when period event is enabled (aka interrupt like style processing) */
err = snd_pcm_sw_params_set_avail_min(handle, swparams, period_event ? buffer_size : period_size);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to set avail min for playback: %s\n", snd_strerror(err));
return;
}
@@ -1344,6 +1374,8 @@ ags_devout_alsa_init(AgsDevout *devout,
/* write the parameters to the playback device */
err = snd_pcm_sw_params(handle, swparams);
if (err < 0) {
+ pthread_mutex_unlock(mutex);
+
printf("Unable to set sw params for playback: %s\n", snd_strerror(err));
return;
}
diff --git a/src/ags/audio/task/ags_start_devout.c b/src/ags/audio/task/ags_start_devout.c
index 9decdbc..7ff7315 100644
--- a/src/ags/audio/task/ags_start_devout.c
+++ b/src/ags/audio/task/ags_start_devout.c
@@ -181,6 +181,8 @@ ags_start_devout_launch(AgsTask *task)
if(devout_thread->error != NULL &&
error == NULL){
ags_task_failure(AGS_TASK(start_devout), devout_thread->error);
+
+ g_message("starting devout failed\0");
}else{
pthread_mutex_lock(&(AGS_THREAD(devout_thread)->start_mutex));
@@ -197,11 +199,10 @@ ags_start_devout_launch(AgsTask *task)
// ags_thread_unlock(AGS_THREAD(devout_thread));
pthread_mutex_unlock(&(AGS_THREAD(devout_thread)->start_mutex));
+
+ g_message("started devout\0");
}
}
-
- g_message("started devout\0");
-
}
/**
diff --git a/src/ags/thread/ags_devout_thread.c b/src/ags/thread/ags_devout_thread.c
index 8a8561c..61bec09 100644
--- a/src/ags/thread/ags_devout_thread.c
+++ b/src/ags/thread/ags_devout_thread.c
@@ -201,6 +201,11 @@ ags_devout_thread_start(AgsThread *thread)
devout->flags &= (~AGS_DEVOUT_START_PLAY);
}else{
/* preserve AgsAudioLoop from playing */
+ devout->flags &= (~(AGS_DEVOUT_BUFFER3 |
+ AGS_DEVOUT_PLAY |
+ AGS_DEVOUT_NONBLOCKING));
+
+ g_message("aborting\0");
return;
}
diff --git a/src/ags/thread/ags_gui_thread.c b/src/ags/thread/ags_gui_thread.c
index 2e3a6ef..a40f291 100644
--- a/src/ags/thread/ags_gui_thread.c
+++ b/src/ags/thread/ags_gui_thread.c
@@ -17,7 +17,6 @@
*/
#include <ags/thread/ags_gui_thread.h>
-#include <ags/thread/ags_gui_task_thread.h>
#include <ags-lib/object/ags_connectable.h>
@@ -25,6 +24,8 @@
#include <ags/audio/ags_devout.h>
+#include <ags/thread/ags_task_completion.h>
+
#include <math.h>
void ags_gui_thread_class_init(AgsGuiThreadClass *gui_thread);
@@ -139,10 +140,7 @@ ags_gui_thread_init(AgsGuiThread *gui_thread)
g_cond_init(&(gui_thread->cond));
g_mutex_init(&(gui_thread->mutex));
- gui_thread->gui_task_thread = NULL;
- // gui_thread->gui_task_thread = ags_gui_task_thread_new(NULL);
- // ags_thread_add_child(gui_thread,
- // gui_thread->gui_task_thread);
+ gui_thread->task_completion = NULL;
}
void
@@ -195,7 +193,8 @@ ags_gui_thread_run(AgsThread *thread)
int success;
auto void ags_gui_thread_do_gtk_iteration();
-
+ auto void ags_gui_thread_complete_task();
+
void ags_gui_thread_do_gtk_iteration(){
if(!g_main_context_acquire(main_context)){
@@ -251,6 +250,26 @@ ags_gui_thread_run(AgsThread *thread)
g_main_context_release(main_context);
}
+ void ags_gui_thread_complete_task()
+ {
+ GList *list, *list_next;
+
+ list = gui_thread->task_completion;
+
+ while(list != NULL){
+ list_next = list->next;
+
+ if((AGS_TASK_COMPLETION_READY & (g_atomic_int_get(&(AGS_TASK_COMPLETION(list->data)->flags)))) != 0){
+ ags_task_completion_complete(AGS_TASK_COMPLETION(list->data));
+
+ gui_thread->task_completion = g_list_remove(gui_thread->task_completion,
+ list->data);
+ }
+
+ list = list_next;
+ }
+ }
+
gui_thread = AGS_GUI_THREAD(thread);
audio_loop = AGS_AUDIO_LOOP(thread->parent);
task_thread = AGS_TASK_THREAD(audio_loop->task_thread);
@@ -259,6 +278,8 @@ ags_gui_thread_run(AgsThread *thread)
main_context = g_main_context_default();
ags_gui_thread_do_gtk_iteration();
+
+ ags_gui_thread_complete_task();
}
void
diff --git a/src/ags/thread/ags_gui_thread.h b/src/ags/thread/ags_gui_thread.h
index 20df056..a9b1230 100644
--- a/src/ags/thread/ags_gui_thread.h
+++ b/src/ags/thread/ags_gui_thread.h
@@ -37,7 +37,7 @@
#define AGS_IS_GUI_THREAD_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_GUI_THREAD))
#define AGS_GUI_THREAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS(obj, AGS_TYPE_GUI_THREAD, AgsGuiThreadClass))
-#define AGS_GUI_THREAD_DEFAULT_JIFFIE (60)
+#define AGS_GUI_THREAD_DEFAULT_JIFFIE (250)
typedef struct _AgsGuiThread AgsGuiThread;
typedef struct _AgsGuiThreadClass AgsGuiThreadClass;
@@ -49,7 +49,7 @@ struct _AgsGuiThread
GMutex mutex;
GCond cond;
- AgsThread *gui_task_thread;
+ GList *task_completion;
};
struct _AgsGuiThreadClass
--
gsequencer packaging
More information about the pkg-multimedia-commits
mailing list