[SCM] gsequencer/upstream: refactoring X

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


The following commit has been merged in the upstream branch:
commit e950154621d396e8e8b71f3c9f736cc262ea2752
Author: Joël Krähemann <weedlight at gmail.com>
Date:   Tue Apr 7 12:09:10 2015 +0000

    refactoring X

diff --git a/.deps/gsequencer-ags_audio_preferences.Po b/.deps/gsequencer-ags_audio_preferences.Po
index 0e82c63..26b35e1 100644
--- a/.deps/gsequencer-ags_audio_preferences.Po
+++ b/.deps/gsequencer-ags_audio_preferences.Po
@@ -526,17 +526,9 @@ gsequencer-ags_audio_preferences.o: src/ags/X/ags_audio_preferences.c \
  /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_audio_preferences_callbacks.h src/ags/main.h \
+ src/ags/X/ags_audio_preferences_callbacks.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -559,43 +551,19 @@ gsequencer-ags_audio_preferences.o: src/ags/X/ags_audio_preferences.c \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
  src/ags-lib/object/ags_connectable.h src/ags/object/ags_applicable.h \
- src/ags/object/ags_soundcard.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.h \
- src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.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/object/ags_soundcard.h src/ags/X/ags_window.h \
+ src/ags/X/ags_automation_editor.h \
+ src/ags/X/editor/ags_automation_toolbar.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/audio/ags_port.h \
+ /usr/include/ladspa.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_machine_selector.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_recall.h src/ags/audio/ags_recall_dependency.h \
  src/ags/audio/ags_notation.h src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
- src/ags/X/ags_window.h src/ags/X/ags_automation_editor.h \
- src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
- src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.h \
+ src/ags/thread/ags_thread-posix.h src/ags/audio/ags_timestamp.h \
+ src/ags/audio/ags_note.h src/ags/X/editor/ags_automation_edit.h \
  src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
  src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
  src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
@@ -1824,46 +1792,12 @@ src/ags/X/ags_audio_preferences.h:
 
 src/ags/X/ags_audio_preferences_callbacks.h:
 
-src/ags/main.h:
-
 src/ags/object/ags_application_context.h:
 
 src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -1928,107 +1862,25 @@ src/ags/object/ags_applicable.h:
 
 src/ags/object/ags_soundcard.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/usr/include/bits/huge_valf.h:
-
-/usr/include/bits/huge_vall.h:
-
-/usr/include/bits/inf.h:
-
-/usr/include/bits/nan.h:
+src/ags/X/ags_window.h:
 
-/usr/include/bits/mathdef.h:
+src/ags/X/ags_automation_editor.h:
 
-/usr/include/bits/mathcalls.h:
+src/ags/X/editor/ags_automation_toolbar.h:
 
-/usr/include/bits/mathinline.h:
+src/ags/X/editor/ags_port_selection.h:
 
-src/ags/thread/ags_thread-posix.h:
+src/ags/audio/ags_port.h:
 
-src/ags/thread/ags_task_thread.h:
+/usr/include/ladspa.h:
 
-src/ags/thread/ags_thread_pool.h:
+src/ags/X/editor/ags_notebook.h:
 
-src/ags/audio/ags_task.h:
+src/ags/X/editor/ags_machine_selector.h:
 
-src/ags/thread/ags_devout_thread.h:
+src/ags/X/ags_machine.h:
 
-src/ags/thread/ags_iterator_thread.h:
+src/ags/audio/ags_audio.h:
 
 src/ags/audio/ags_channel.h:
 
@@ -2042,36 +1894,18 @@ 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:
 
 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_window.h:
-
-src/ags/X/ags_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
 src/ags/X/editor/ags_automation_edit.h:
 
 src/ags/widget/ags_ruler.h:
diff --git a/.deps/gsequencer-ags_audio_preferences_callbacks.Po b/.deps/gsequencer-ags_audio_preferences_callbacks.Po
index f754bcc..71011e3 100644
--- a/.deps/gsequencer-ags_audio_preferences_callbacks.Po
+++ b/.deps/gsequencer-ags_audio_preferences_callbacks.Po
@@ -527,17 +527,9 @@ gsequencer-ags_audio_preferences_callbacks.o: \
  /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_audio_preferences.h src/ags/main.h \
+ src/ags/X/ags_audio_preferences.h src/ags/object/ags_soundcard.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -559,19 +551,16 @@ gsequencer-ags_audio_preferences_callbacks.o: \
  /usr/include/bits/waitstatus.h /usr/include/alloca.h \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- src/ags/thread/ags_audio_loop.h /usr/include/math.h \
- /usr/include/bits/huge_val.h /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 /usr/include/bits/mathinline.h \
  src/ags/thread/ags_thread-posix.h src/ags/thread/ags_task_thread.h \
- src/ags/thread/ags_thread_pool.h src/ags/audio/ags_task.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
+ src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
+ src/ags/audio/ags_task.h src/ags/audio/task/ags_set_output_device.h \
+ src/ags/audio/task/ags_set_audio_channels.h src/ags/audio/ags_devout.h \
+ /usr/include/alsa/asoundlib.h /usr/include/string.h \
+ /usr/include/bits/string.h /usr/include/bits/string2.h \
+ /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+ /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
+ /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
+ /usr/include/errno.h /usr/include/bits/errno.h \
  /usr/include/linux/errno.h /usr/include/asm/errno.h \
  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
  /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
@@ -582,17 +571,27 @@ gsequencer-ags_audio_preferences_callbacks.o: \
  /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
  /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
  /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.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 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 src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
- src/ags/audio/task/ags_set_output_device.h \
- src/ags/audio/task/ags_set_audio_channels.h \
- src/ags/audio/task/ags_set_buffer_size.h \
+ /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
+ /usr/include/math.h /usr/include/bits/huge_val.h \
+ /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 \
+ /usr/include/bits/mathinline.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/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 \
+ 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 \
+ src/ags/thread/ags_timestamp_thread.h src/ags/audio/ags_timestamp.h \
+ src/ags/audio/ags_note.h src/ags/audio/task/ags_set_buffer_size.h \
  src/ags/audio/task/ags_set_samplerate.h src/ags/X/ags_window.h \
  src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
@@ -1827,7 +1826,7 @@ src/ags/X/ags_audio_preferences_callbacks.h:
 
 src/ags/X/ags_audio_preferences.h:
 
-src/ags/main.h:
+src/ags/object/ags_soundcard.h:
 
 src/ags/object/ags_application_context.h:
 
@@ -1835,38 +1834,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -1925,34 +1892,20 @@ src/ags/file/ags_file.h:
 
 /usr/include/libxml2/libxml/SAX2.h:
 
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.h:
-
 src/ags/thread/ags_thread-posix.h:
 
 src/ags/thread/ags_task_thread.h:
 
 src/ags/thread/ags_thread_pool.h:
 
+src/ags/object/ags_main_loop.h:
+
 src/ags/audio/ags_task.h:
 
+src/ags/audio/task/ags_set_output_device.h:
+
+src/ags/audio/task/ags_set_audio_channels.h:
+
 src/ags/audio/ags_devout.h:
 
 /usr/include/alsa/asoundlib.h:
@@ -2023,6 +1976,56 @@ src/ags/audio/ags_devout.h:
 
 /usr/include/alsa/seq_midi_event.h:
 
+src/ags/thread/ags_audio_loop.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/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:
+
+/usr/include/bits/mathinline.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/thread/ags_devout_thread.h:
 
 src/ags/thread/ags_iterator_thread.h:
@@ -2053,10 +2056,6 @@ src/ags/audio/ags_timestamp.h:
 
 src/ags/audio/ags_note.h:
 
-src/ags/audio/task/ags_set_output_device.h:
-
-src/ags/audio/task/ags_set_audio_channels.h:
-
 src/ags/audio/task/ags_set_buffer_size.h:
 
 src/ags/audio/task/ags_set_samplerate.h:
diff --git a/.deps/gsequencer-ags_automation_editor.Po b/.deps/gsequencer-ags_automation_editor.Po
index 6819b30..9270cb9 100644
--- a/.deps/gsequencer-ags_automation_editor.Po
+++ b/.deps/gsequencer-ags_automation_editor.Po
@@ -561,40 +561,10 @@ gsequencer-ags_automation_editor.o: src/ags/X/ags_automation_editor.c \
  src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
  src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
  src/ags/X/ags_automation_editor_callbacks.h src/ags/X/ags_navigation.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/thread/ags_task_thread.h 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-lib/object/ags_connectable.h src/ags/X/ags_window.h \
- src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
+ src/ags/object/ags_soundcard.h src/ags/object/ags_application_context.h \
+ src/ags/lib/ags_log.h src/ags/object/ags_config.h \
+ src/ags/file/ags_file.h src/ags-lib/object/ags_connectable.h \
+ src/ags/X/ags_window.h src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
  src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_meter.h \
  src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
  src/ags/X/editor/ags_pattern_edit.h src/ags/X/ags_export_window.h \
@@ -1927,137 +1897,15 @@ src/ags/X/ags_automation_editor_callbacks.h:
 
 src/ags/X/ags_navigation.h:
 
-src/ags/audio/ags_devout.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/alsa/asoundlib.h:
+src/ags/object/ags_application_context.h:
 
-/usr/include/string.h:
+src/ags/lib/ags_log.h:
 
-/usr/include/bits/string.h:
+src/ags/object/ags_config.h:
 
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.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/thread/ags_task_thread.h:
-
-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/file/ags_file.h:
 
 src/ags-lib/object/ags_connectable.h:
 
diff --git a/.deps/gsequencer-ags_automation_editor_callbacks.Po b/.deps/gsequencer-ags_automation_editor_callbacks.Po
index 84c281b..b2e0023 100644
--- a/.deps/gsequencer-ags_automation_editor_callbacks.Po
+++ b/.deps/gsequencer-ags_automation_editor_callbacks.Po
@@ -561,39 +561,9 @@ gsequencer-ags_automation_editor_callbacks.o: \
  src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
  src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
  src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
- src/ags/X/ags_navigation.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/thread/ags_task_thread.h 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_navigation.h src/ags/object/ags_soundcard.h \
+ src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h
 
 /usr/include/stdc-predef.h:
 
@@ -1919,134 +1889,12 @@ src/ags/audio/ags_acceleration.h:
 
 src/ags/X/ags_navigation.h:
 
-src/ags/audio/ags_devout.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/alsa/asoundlib.h:
+src/ags/object/ags_application_context.h:
 
-/usr/include/string.h:
+src/ags/lib/ags_log.h:
 
-/usr/include/bits/string.h:
+src/ags/object/ags_config.h:
 
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.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/thread/ags_task_thread.h:
-
-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/file/ags_file.h:
diff --git a/.deps/gsequencer-ags_bulk_member.Po b/.deps/gsequencer-ags_bulk_member.Po
index 0f3ad94..c64e917 100644
--- a/.deps/gsequencer-ags_bulk_member.Po
+++ b/.deps/gsequencer-ags_bulk_member.Po
@@ -531,18 +531,8 @@ gsequencer-ags_bulk_member.o: src/ags/X/ags_bulk_member.c \
  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_dependency.h src/ags/audio/ags_task.h \
- src/ags/X/ags_bulk_member_callbacks.h src/ags/main.h \
- src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
- /usr/include/libxml2/libxml/tree.h \
+ src/ags/X/ags_bulk_member_callbacks.h \
+ src/ags-lib/object/ags_connectable.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 \
@@ -563,38 +553,62 @@ gsequencer-ags_bulk_member.o: src/ags/X/ags_bulk_member.c \
  /usr/include/bits/waitstatus.h /usr/include/alloca.h \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- src/ags-lib/object/ags_connectable.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.h \
+ src/ags/thread/ags_audio_loop.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /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 /usr/include/bits/mathinline.h \
+ src/ags/thread/ags_thread-posix.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/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.h \
- src/ags/audio/ags_channel.h src/ags/audio/ags_notation.h \
- src/ags/thread/ags_timestamp_thread.h src/ags/audio/ags_timestamp.h \
- src/ags/audio/ags_note.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 \
- /usr/include/bits/stat.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/assert.h \
- /usr/include/sys/poll.h /usr/include/bits/poll.h /usr/include/errno.h \
- /usr/include/bits/errno.h /usr/include/linux/errno.h \
- /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
- /usr/include/asm-generic/errno-base.h /usr/include/alsa/asoundef.h \
- /usr/include/alsa/version.h /usr/include/alsa/global.h \
- /usr/include/alsa/input.h /usr/include/alsa/output.h \
- /usr/include/alsa/error.h /usr/include/alsa/conf.h \
- /usr/include/alsa/pcm.h /usr/include/alsa/rawmidi.h \
- /usr/include/alsa/timer.h /usr/include/alsa/hwdep.h \
- /usr/include/alsa/control.h /usr/include/alsa/mixer.h \
- /usr/include/alsa/seq_event.h /usr/include/alsa/seq.h \
- /usr/include/alsa/seqmid.h /usr/include/alsa/seq_midi_event.h \
- src/ags/thread/ags_devout_thread.h src/ags/thread/ags_iterator_thread.h \
- src/ags/widget/ags_dial.h src/ags/X/ags_effect_bulk.h \
- src/ags/audio/ags_audio.h
+ src/ags/object/ags_main_loop.h src/ags/object/ags_application_context.h \
+ src/ags/lib/ags_log.h src/ags/object/ags_config.h \
+ src/ags/file/ags_file.h src/ags/audio/ags_channel.h \
+ src/ags/audio/ags_notation.h src/ags/thread/ags_timestamp_thread.h \
+ src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.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 /usr/include/bits/stat.h \
+ src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
+ /usr/include/string.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/fcntl.h \
+ /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
+ /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
+ /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
+ /usr/include/alsa/global.h /usr/include/alsa/input.h \
+ /usr/include/alsa/output.h /usr/include/alsa/error.h \
+ /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
+ /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
+ /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
+ /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
+ /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
+ /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_devout_thread.h \
+ src/ags/thread/ags_iterator_thread.h src/ags/widget/ags_dial.h \
+ src/ags/X/ags_window.h src/ags/object/ags_soundcard.h \
+ src/ags/X/ags_automation_editor.h \
+ src/ags/X/editor/ags_automation_toolbar.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
+ src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.h \
+ src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
+ src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
+ src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
+ src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
+ src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_pattern_edit.h \
+ src/ags/X/ags_navigation.h src/ags/X/ags_export_window.h \
+ 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_effect_bulk.h
 
 /usr/include/stdc-predef.h:
 
@@ -1832,47 +1846,7 @@ src/ags/audio/ags_task.h:
 
 src/ags/X/ags_bulk_member_callbacks.h:
 
-src/ags/main.h:
-
-src/ags/object/ags_application_context.h:
-
-src/ags/lib/ags_log.h:
-
-src/ags/object/ags_config.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/file/ags_file.h:
+src/ags-lib/object/ags_connectable.h:
 
 /usr/include/libxml2/libxml/tree.h:
 
@@ -1930,8 +1904,6 @@ src/ags/file/ags_file.h:
 
 /usr/include/libxml2/libxml/SAX2.h:
 
-src/ags-lib/object/ags_connectable.h:
-
 src/ags/thread/ags_audio_loop.h:
 
 /usr/include/math.h:
@@ -1954,10 +1926,50 @@ src/ags/thread/ags_audio_loop.h:
 
 src/ags/thread/ags_thread-posix.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/thread/ags_task_thread.h:
 
 src/ags/thread/ags_thread_pool.h:
 
+src/ags/object/ags_main_loop.h:
+
+src/ags/object/ags_application_context.h:
+
+src/ags/lib/ags_log.h:
+
+src/ags/object/ags_config.h:
+
+src/ags/file/ags_file.h:
+
 src/ags/audio/ags_channel.h:
 
 src/ags/audio/ags_notation.h:
@@ -2054,6 +2066,58 @@ src/ags/thread/ags_iterator_thread.h:
 
 src/ags/widget/ags_dial.h:
 
-src/ags/X/ags_effect_bulk.h:
+src/ags/X/ags_window.h:
+
+src/ags/object/ags_soundcard.h:
+
+src/ags/X/ags_automation_editor.h:
+
+src/ags/X/editor/ags_automation_toolbar.h:
+
+src/ags/X/editor/ags_port_selection.h:
+
+src/ags/X/editor/ags_notebook.h:
+
+src/ags/X/editor/ags_machine_selector.h:
+
+src/ags/X/ags_machine.h:
 
 src/ags/audio/ags_audio.h:
+
+src/ags/X/editor/ags_automation_edit.h:
+
+src/ags/widget/ags_ruler.h:
+
+src/ags/audio/ags_automation.h:
+
+src/ags/audio/ags_acceleration.h:
+
+src/ags/X/ags_menu_bar.h:
+
+src/ags/X/ags_editor.h:
+
+src/ags/X/editor/ags_toolbar.h:
+
+src/ags/X/editor/ags_meter.h:
+
+src/ags/X/editor/ags_soundset.h:
+
+src/ags/X/editor/ags_note_edit.h:
+
+src/ags/X/editor/ags_pattern_edit.h:
+
+src/ags/X/ags_navigation.h:
+
+src/ags/X/ags_export_window.h:
+
+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_effect_bulk.h:
diff --git a/.deps/gsequencer-ags_editor.Po b/.deps/gsequencer-ags_editor.Po
index e88216c..2d7f022 100644
--- a/.deps/gsequencer-ags_editor.Po
+++ b/.deps/gsequencer-ags_editor.Po
@@ -526,48 +526,10 @@ gsequencer-ags_editor.o: src/ags/X/ags_editor.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/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/stdlib.h \
- /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
- /usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \
- /usr/include/bits/stdlib-float.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.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/thread/ags_task_thread.h \
- 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/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/object/ags_soundcard.h \
+ src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.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 \
@@ -584,14 +546,22 @@ gsequencer-ags_editor.o: src/ags/X/ags_editor.c \
  /usr/include/libxml2/libxml/entities.h \
  /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
  /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/bits/stdlib-bsearch.h /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/audio/ags_timestamp.h \
- src/ags/audio/ags_note.h src/ags/audio/ags_audio.h \
- src/ags/X/ags_machine.h src/ags/X/editor/ags_toolbar.h \
- src/ags/X/editor/ags_machine_selector.h src/ags/X/editor/ags_notebook.h \
- src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
- src/ags/X/editor/ags_note_edit.h src/ags/widget/ags_ruler.h \
- src/ags/X/editor/ags_pattern_edit.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 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.h \
+ src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_machine_selector.h \
+ src/ags/X/editor/ags_notebook.h src/ags/X/editor/ags_meter.h \
+ src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
+ src/ags/widget/ags_ruler.h src/ags/X/editor/ags_pattern_edit.h \
  src/ags/X/editor/ags_automation_edit.h src/ags/audio/ags_automation.h \
  src/ags/audio/ags_acceleration.h src/ags/X/ags_editor_callbacks.h \
  src/ags/X/ags_navigation.h src/ags-lib/object/ags_connectable.h \
@@ -601,7 +571,11 @@ gsequencer-ags_editor.o: src/ags/X/ags_editor.c \
  src/ags/X/ags_export_window.h 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 /usr/include/math.h \
+ /usr/include/bits/huge_val.h /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 /usr/include/bits/mathinline.h
 
 /usr/include/stdc-predef.h:
 
@@ -1819,151 +1793,73 @@ src/ags/X/ags_editor.h:
 
 /usr/include/gtk-2.0/gtk/gtktipsquery.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/bits/waitflags.h:
-
-/usr/include/bits/waitstatus.h:
-
-/usr/include/alloca.h:
-
-/usr/include/bits/stdlib-bsearch.h:
-
-/usr/include/bits/stdlib-float.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/alsa/input.h:
+src/ags/object/ags_application_context.h:
 
-/usr/include/alsa/output.h:
+src/ags/lib/ags_log.h:
 
-/usr/include/alsa/error.h:
+src/ags/object/ags_config.h:
 
-/usr/include/alsa/conf.h:
+src/ags/file/ags_file.h:
 
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/usr/include/bits/huge_valf.h:
+/usr/include/libxml2/libxml/tree.h:
 
-/usr/include/bits/huge_vall.h:
+/usr/include/libxml2/libxml/xmlversion.h:
 
-/usr/include/bits/inf.h:
+/usr/include/libxml2/libxml/xmlexports.h:
 
-/usr/include/bits/nan.h:
+/usr/include/libxml2/libxml/xmlstring.h:
 
-/usr/include/bits/mathdef.h:
+/usr/include/libxml2/libxml/xmlregexp.h:
 
-/usr/include/bits/mathcalls.h:
+/usr/include/libxml2/libxml/dict.h:
 
-/usr/include/bits/mathinline.h:
+/usr/include/libxml2/libxml/xmlmemory.h:
 
-src/ags/thread/ags_thread-posix.h:
+/usr/include/libxml2/libxml/threads.h:
 
-src/ags/thread/ags_async_queue.h:
+/usr/include/libxml2/libxml/globals.h:
 
-/usr/include/linux/futex.h:
+/usr/include/libxml2/libxml/parser.h:
 
-/usr/include/linux/types.h:
+/usr/include/libxml2/libxml/hash.h:
 
-/usr/include/asm/types.h:
+/usr/include/libxml2/libxml/valid.h:
 
-/usr/include/asm-generic/types.h:
+/usr/include/libxml2/libxml/xmlerror.h:
 
-/usr/include/asm-generic/int-ll64.h:
+/usr/include/libxml2/libxml/list.h:
 
-/usr/include/asm/bitsperlong.h:
+/usr/include/libxml2/libxml/xmlautomata.h:
 
-/usr/include/asm-generic/bitsperlong.h:
+/usr/include/libxml2/libxml/entities.h:
 
-/usr/include/linux/posix_types.h:
+/usr/include/libxml2/libxml/encoding.h:
 
-/usr/include/linux/stddef.h:
+/usr/include/iconv.h:
 
-/usr/include/asm/posix_types.h:
+/usr/include/libxml2/libxml/xmlIO.h:
 
-/usr/include/asm/posix_types_64.h:
+/usr/include/libxml2/libxml/SAX.h:
 
-/usr/include/asm-generic/posix_types.h:
+/usr/include/stdlib.h:
 
-/usr/include/sys/time.h:
+/usr/include/bits/waitflags.h:
 
-src/ags/object/ags_stackable.h:
+/usr/include/bits/waitstatus.h:
 
-src/ags/thread/ags_task_thread.h:
+/usr/include/alloca.h:
 
-src/ags/thread/ags_thread_pool.h:
+/usr/include/bits/stdlib-bsearch.h:
 
-src/ags/object/ags_main_loop.h:
+/usr/include/bits/stdlib-float.h:
 
-src/ags/audio/ags_task.h:
+/usr/include/libxml2/libxml/xlink.h:
 
-src/ags/thread/ags_devout_thread.h:
+/usr/include/libxml2/libxml/SAX2.h:
 
-src/ags/thread/ags_iterator_thread.h:
+src/ags/audio/ags_audio.h:
 
 src/ags/audio/ags_channel.h:
 
@@ -1985,58 +1881,14 @@ 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:
-
-/usr/include/libxml2/libxml/xmlregexp.h:
-
-/usr/include/libxml2/libxml/dict.h:
-
-/usr/include/libxml2/libxml/xmlmemory.h:
-
-/usr/include/libxml2/libxml/threads.h:
-
-/usr/include/libxml2/libxml/globals.h:
-
-/usr/include/libxml2/libxml/parser.h:
-
-/usr/include/libxml2/libxml/hash.h:
-
-/usr/include/libxml2/libxml/valid.h:
-
-/usr/include/libxml2/libxml/xmlerror.h:
-
-/usr/include/libxml2/libxml/list.h:
-
-/usr/include/libxml2/libxml/xmlautomata.h:
-
-/usr/include/libxml2/libxml/entities.h:
-
-/usr/include/libxml2/libxml/encoding.h:
-
-/usr/include/iconv.h:
-
-/usr/include/libxml2/libxml/xmlIO.h:
-
-/usr/include/libxml2/libxml/SAX.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_audio.h:
-
 src/ags/X/ags_machine.h:
 
 src/ags/X/editor/ags_toolbar.h:
@@ -2088,3 +1940,21 @@ src/ags/X/ags_audio_preferences.h:
 src/ags/X/ags_performance_preferences.h:
 
 src/ags/X/ags_server_preferences.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/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:
+
+/usr/include/bits/mathinline.h:
diff --git a/.deps/gsequencer-ags_editor_callbacks.Po b/.deps/gsequencer-ags_editor_callbacks.Po
index ff016bf..f0c52ca 100644
--- a/.deps/gsequencer-ags_editor_callbacks.Po
+++ b/.deps/gsequencer-ags_editor_callbacks.Po
@@ -555,39 +555,9 @@ gsequencer-ags_editor_callbacks.o: src/ags/X/ags_editor_callbacks.c \
  /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/X/ags_editor.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/thread/ags_task_thread.h 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_editor.h src/ags/object/ags_soundcard.h \
+ src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  src/ags/X/ags_machine.h src/ags/X/editor/ags_toolbar.h \
  src/ags/X/editor/ags_machine_selector.h src/ags/X/editor/ags_notebook.h \
  src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
@@ -595,18 +565,30 @@ gsequencer-ags_editor_callbacks.o: src/ags/X/ags_editor_callbacks.c \
  src/ags/X/editor/ags_pattern_edit.h \
  src/ags/X/editor/ags_automation_edit.h src/ags/audio/ags_automation.h \
  src/ags/audio/ags_acceleration.h src/ags/X/ags_navigation.h \
- src/ags/main.h src/ags/object/ags_application_context.h \
- src/ags/lib/ags_log.h src/ags/object/ags_config.h \
- src/ags/file/ags_file.h src/ags/audio/ags_output.h \
+ src/ags/main.h src/ags/thread/ags_audio_loop.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /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 /usr/include/bits/mathinline.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_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/X/ags_window.h src/ags/X/ags_automation_editor.h \
+ /usr/include/bits/stat.h src/ags/X/ags_window.h \
+ src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
  src/ags/X/editor/ags_port_selection.h src/ags/X/ags_menu_bar.h \
  src/ags/X/ags_export_window.h 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 /usr/include/string.h \
+ /usr/include/bits/string.h /usr/include/bits/string2.h
 
 /usr/include/stdc-predef.h:
 
@@ -1912,75 +1894,43 @@ src/ags/audio/ags_note.h:
 
 src/ags/X/ags_editor.h:
 
-src/ags/audio/ags_devout.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
+src/ags/object/ags_application_context.h:
 
-/usr/include/alsa/asoundef.h:
+src/ags/lib/ags_log.h:
 
-/usr/include/alsa/version.h:
+src/ags/object/ags_config.h:
 
-/usr/include/alsa/global.h:
+src/ags/file/ags_file.h:
 
-/usr/include/alsa/input.h:
+src/ags/X/ags_machine.h:
 
-/usr/include/alsa/output.h:
+src/ags/X/editor/ags_toolbar.h:
 
-/usr/include/alsa/error.h:
+src/ags/X/editor/ags_machine_selector.h:
 
-/usr/include/alsa/conf.h:
+src/ags/X/editor/ags_notebook.h:
 
-/usr/include/alsa/pcm.h:
+src/ags/X/editor/ags_meter.h:
 
-/usr/include/alsa/rawmidi.h:
+src/ags/X/editor/ags_soundset.h:
 
-/usr/include/alsa/timer.h:
+src/ags/X/editor/ags_note_edit.h:
 
-/usr/include/alsa/hwdep.h:
+src/ags/widget/ags_ruler.h:
 
-/usr/include/alsa/control.h:
+src/ags/X/editor/ags_pattern_edit.h:
 
-/usr/include/alsa/mixer.h:
+src/ags/X/editor/ags_automation_edit.h:
 
-/usr/include/alsa/seq_event.h:
+src/ags/audio/ags_automation.h:
 
-/usr/include/alsa/seq.h:
+src/ags/audio/ags_acceleration.h:
 
-/usr/include/alsa/seqmid.h:
+src/ags/X/ags_navigation.h:
 
-/usr/include/alsa/seq_midi_event.h:
+src/ags/main.h:
 
 src/ags/thread/ags_audio_loop.h:
 
@@ -2032,54 +1982,6 @@ src/ags/thread/ags_async_queue.h:
 
 src/ags/object/ags_stackable.h:
 
-src/ags/thread/ags_task_thread.h:
-
-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.h:
-
-src/ags/X/editor/ags_toolbar.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_meter.h:
-
-src/ags/X/editor/ags_soundset.h:
-
-src/ags/X/editor/ags_note_edit.h:
-
-src/ags/widget/ags_ruler.h:
-
-src/ags/X/editor/ags_pattern_edit.h:
-
-src/ags/X/editor/ags_automation_edit.h:
-
-src/ags/audio/ags_automation.h:
-
-src/ags/audio/ags_acceleration.h:
-
-src/ags/X/ags_navigation.h:
-
-src/ags/main.h:
-
-src/ags/object/ags_application_context.h:
-
-src/ags/lib/ags_log.h:
-
-src/ags/object/ags_config.h:
-
-src/ags/file/ags_file.h:
-
 src/ags/audio/ags_output.h:
 
 src/ags/audio/ags_input.h:
@@ -2090,6 +1992,8 @@ src/ags/audio/ags_input.h:
 
 /usr/include/sys/stat.h:
 
+/usr/include/bits/stat.h:
+
 src/ags/X/ags_window.h:
 
 src/ags/X/ags_automation_editor.h:
@@ -2111,3 +2015,9 @@ src/ags/X/ags_audio_preferences.h:
 src/ags/X/ags_performance_preferences.h:
 
 src/ags/X/ags_server_preferences.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
diff --git a/.deps/gsequencer-ags_effect_bridge.Po b/.deps/gsequencer-ags_effect_bridge.Po
index 6678d1f..71e1d7f 100644
--- a/.deps/gsequencer-ags_effect_bridge.Po
+++ b/.deps/gsequencer-ags_effect_bridge.Po
@@ -558,15 +558,7 @@ gsequencer-ags_effect_bridge.o: src/ags/X/ags_effect_bridge.c \
  src/ags/X/ags_effect_bridge_callbacks.h \
  src/ags-lib/object/ags_connectable.h src/ags/main.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  src/ags/object/ags_marshal.h src/ags/object/ags_plugin.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 \
@@ -1887,38 +1879,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 src/ags/object/ags_marshal.h:
diff --git a/.deps/gsequencer-ags_effect_bulk.Po b/.deps/gsequencer-ags_effect_bulk.Po
index da82963..4107b89 100644
--- a/.deps/gsequencer-ags_effect_bulk.Po
+++ b/.deps/gsequencer-ags_effect_bulk.Po
@@ -555,9 +555,16 @@ gsequencer-ags_effect_bulk.o: src/ags/X/ags_effect_bulk.c \
  /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/X/ags_effect_bulk_callbacks.h src/ags/main.h \
+ src/ags/X/ags_effect_bulk_callbacks.h src/ags/object/ags_marshal.h \
+ src/ags-lib/object/ags_connectable.h src/ags/object/ags_plugin.h \
+ src/ags/file/ags_file.h src/ags/object/ags_soundcard.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.h src/ags/object/ags_main_loop.h \
+ src/ags/object/ags_config.h src/ags/plugin/ags_ladspa_manager.h \
+ src/ags/thread/ags_audio_loop.h /usr/include/math.h \
+ /usr/include/bits/huge_val.h /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 /usr/include/bits/mathinline.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 \
@@ -565,15 +572,8 @@ gsequencer-ags_effect_bulk.o: src/ags/X/ags_effect_bulk.c \
  /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/file/ags_file.h \
- src/ags-lib/object/ags_connectable.h src/ags/object/ags_marshal.h \
- src/ags/object/ags_plugin.h src/ags/plugin/ags_ladspa_manager.h \
- src/ags/thread/ags_audio_loop.h /usr/include/math.h \
- /usr/include/bits/huge_val.h /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 /usr/include/bits/mathinline.h \
- src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.h \
+ src/ags/object/ags_stackable.h src/ags/thread/ags_task_thread.h \
+ src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
  src/ags/audio/ags_task.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 \
@@ -607,8 +607,21 @@ gsequencer-ags_effect_bulk.o: src/ags/X/ags_effect_bulk.c \
  src/ags/audio/task/ags_update_bulk_member.h src/ags/X/ags_bulk_member.h \
  src/ags/audio/task/ags_add_recall_container.h \
  src/ags/audio/task/ags_add_recall.h src/ags/widget/ags_dial.h \
- src/ags/X/ags_ladspa_browser.h /usr/include/dlfcn.h \
- /usr/include/bits/dlfcn.h
+ src/ags/X/ags_window.h src/ags/X/ags_automation_editor.h \
+ src/ags/X/editor/ags_automation_toolbar.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
+ src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
+ src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
+ src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
+ src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_meter.h \
+ src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
+ src/ags/X/editor/ags_pattern_edit.h src/ags/X/ags_navigation.h \
+ src/ags/X/ags_export_window.h 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_ladspa_browser.h \
+ /usr/include/dlfcn.h /usr/include/bits/dlfcn.h
 
 /usr/include/stdc-predef.h:
 
@@ -1914,7 +1927,15 @@ src/ags/audio/ags_note.h:
 
 src/ags/X/ags_effect_bulk_callbacks.h:
 
-src/ags/main.h:
+src/ags/object/ags_marshal.h:
+
+src/ags-lib/object/ags_connectable.h:
+
+src/ags/object/ags_plugin.h:
+
+src/ags/file/ags_file.h:
+
+src/ags/object/ags_soundcard.h:
 
 src/ags/object/ags_application_context.h:
 
@@ -1922,7 +1943,27 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.h:
 
-src/ags/object/ags_main_loop.h:
+src/ags/plugin/ags_ladspa_manager.h:
+
+src/ags/thread/ags_audio_loop.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/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:
+
+/usr/include/bits/mathinline.h:
 
 src/ags/thread/ags_async_queue.h:
 
@@ -1954,40 +1995,12 @@ src/ags/thread/ags_async_queue.h:
 
 src/ags/object/ags_stackable.h:
 
-src/ags/file/ags_file.h:
-
-src/ags-lib/object/ags_connectable.h:
-
-src/ags/object/ags_marshal.h:
-
-src/ags/object/ags_plugin.h:
-
-src/ags/plugin/ags_ladspa_manager.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.h:
-
 src/ags/thread/ags_task_thread.h:
 
 src/ags/thread/ags_thread_pool.h:
 
+src/ags/object/ags_main_loop.h:
+
 src/ags/audio/ags_task.h:
 
 src/ags/audio/ags_output.h:
@@ -2110,6 +2123,56 @@ src/ags/audio/task/ags_add_recall.h:
 
 src/ags/widget/ags_dial.h:
 
+src/ags/X/ags_window.h:
+
+src/ags/X/ags_automation_editor.h:
+
+src/ags/X/editor/ags_automation_toolbar.h:
+
+src/ags/X/editor/ags_port_selection.h:
+
+src/ags/X/editor/ags_notebook.h:
+
+src/ags/X/editor/ags_machine_selector.h:
+
+src/ags/X/ags_machine.h:
+
+src/ags/X/editor/ags_automation_edit.h:
+
+src/ags/widget/ags_ruler.h:
+
+src/ags/audio/ags_automation.h:
+
+src/ags/audio/ags_acceleration.h:
+
+src/ags/X/ags_menu_bar.h:
+
+src/ags/X/ags_editor.h:
+
+src/ags/X/editor/ags_toolbar.h:
+
+src/ags/X/editor/ags_meter.h:
+
+src/ags/X/editor/ags_soundset.h:
+
+src/ags/X/editor/ags_note_edit.h:
+
+src/ags/X/editor/ags_pattern_edit.h:
+
+src/ags/X/ags_navigation.h:
+
+src/ags/X/ags_export_window.h:
+
+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_ladspa_browser.h:
 
 /usr/include/dlfcn.h:
diff --git a/.deps/gsequencer-ags_effect_line.Po b/.deps/gsequencer-ags_effect_line.Po
index 1a3a3ff..893005b 100644
--- a/.deps/gsequencer-ags_effect_line.Po
+++ b/.deps/gsequencer-ags_effect_line.Po
@@ -555,25 +555,12 @@ gsequencer-ags_effect_line.o: src/ags/X/ags_effect_line.c \
  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_effect_line_callbacks.h \
- src/ags-lib/object/ags_connectable.h src/ags/main.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
- src/ags/object/ags_marshal.h src/ags/object/ags_plugin.h \
- src/ags/plugin/ags_ladspa_manager.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_task_thread.h \
- src/ags/thread/ags_thread_pool.h src/ags/audio/ags_task.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
+ src/ags/object/ags_marshal.h src/ags-lib/object/ags_connectable.h \
+ src/ags/object/ags_plugin.h src/ags/plugin/ags_ladspa_manager.h \
+ src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.h \
+ src/ags/object/ags_main_loop.h src/ags/audio/ags_task.h \
  src/ags/audio/ags_recall_ladspa.h src/ags/audio/ags_recall_channel_run.h \
  src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
  /usr/include/string.h /usr/include/bits/string.h \
@@ -591,12 +578,38 @@ gsequencer-ags_effect_line.o: src/ags/X/ags_effect_line.c \
  /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
  /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
  /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_devout_thread.h \
- src/ags/thread/ags_iterator_thread.h \
+ /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
+ /usr/include/math.h /usr/include/bits/huge_val.h \
+ /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 \
+ /usr/include/bits/mathinline.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/thread/ags_devout_thread.h src/ags/thread/ags_iterator_thread.h \
  src/ags/audio/ags_recall_audio_run.h src/ags/audio/ags_recall_audio.h \
  src/ags/audio/ags_audio.h src/ags/audio/ags_recall_channel.h \
  src/ags/audio/task/ags_add_line_member.h src/ags/X/ags_line_member.h \
- src/ags/widget/ags_dial.h src/ags/X/ags_machine.h /usr/include/dlfcn.h \
+ src/ags/widget/ags_dial.h src/ags/X/ags_window.h \
+ src/ags/object/ags_soundcard.h src/ags/X/ags_automation_editor.h \
+ src/ags/X/editor/ags_automation_toolbar.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
+ src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
+ src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
+ src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
+ src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_meter.h \
+ src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
+ src/ags/X/editor/ags_pattern_edit.h src/ags/X/ags_navigation.h \
+ src/ags/X/ags_export_window.h 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 /usr/include/dlfcn.h \
  /usr/include/bits/dlfcn.h
 
 /usr/include/stdc-predef.h:
@@ -1901,80 +1914,28 @@ src/ags/audio/ags_note.h:
 
 src/ags/X/ags_effect_line_callbacks.h:
 
-src/ags-lib/object/ags_connectable.h:
-
-src/ags/main.h:
-
 src/ags/object/ags_application_context.h:
 
 src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 src/ags/object/ags_marshal.h:
 
+src/ags-lib/object/ags_connectable.h:
+
 src/ags/object/ags_plugin.h:
 
 src/ags/plugin/ags_ladspa_manager.h:
 
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.h:
-
 src/ags/thread/ags_task_thread.h:
 
 src/ags/thread/ags_thread_pool.h:
 
+src/ags/object/ags_main_loop.h:
+
 src/ags/audio/ags_task.h:
 
 src/ags/audio/ags_recall_ladspa.h:
@@ -2051,6 +2012,56 @@ src/ags/audio/ags_devout.h:
 
 /usr/include/alsa/seq_midi_event.h:
 
+src/ags/thread/ags_audio_loop.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/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:
+
+/usr/include/bits/mathinline.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/thread/ags_devout_thread.h:
 
 src/ags/thread/ags_iterator_thread.h:
@@ -2069,8 +2080,58 @@ src/ags/X/ags_line_member.h:
 
 src/ags/widget/ags_dial.h:
 
+src/ags/X/ags_window.h:
+
+src/ags/object/ags_soundcard.h:
+
+src/ags/X/ags_automation_editor.h:
+
+src/ags/X/editor/ags_automation_toolbar.h:
+
+src/ags/X/editor/ags_port_selection.h:
+
+src/ags/X/editor/ags_notebook.h:
+
+src/ags/X/editor/ags_machine_selector.h:
+
 src/ags/X/ags_machine.h:
 
+src/ags/X/editor/ags_automation_edit.h:
+
+src/ags/widget/ags_ruler.h:
+
+src/ags/audio/ags_automation.h:
+
+src/ags/audio/ags_acceleration.h:
+
+src/ags/X/ags_menu_bar.h:
+
+src/ags/X/ags_editor.h:
+
+src/ags/X/editor/ags_toolbar.h:
+
+src/ags/X/editor/ags_meter.h:
+
+src/ags/X/editor/ags_soundset.h:
+
+src/ags/X/editor/ags_note_edit.h:
+
+src/ags/X/editor/ags_pattern_edit.h:
+
+src/ags/X/ags_navigation.h:
+
+src/ags/X/ags_export_window.h:
+
+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:
+
 /usr/include/dlfcn.h:
 
 /usr/include/bits/dlfcn.h:
diff --git a/.deps/gsequencer-ags_effect_pad.Po b/.deps/gsequencer-ags_effect_pad.Po
index 41ae73c..8d98017 100644
--- a/.deps/gsequencer-ags_effect_pad.Po
+++ b/.deps/gsequencer-ags_effect_pad.Po
@@ -557,15 +557,7 @@ gsequencer-ags_effect_pad.o: src/ags/X/ags_effect_pad.c \
  src/ags/X/ags_effect_pad_callbacks.h \
  src/ags-lib/object/ags_connectable.h src/ags/main.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  src/ags/object/ags_marshal.h src/ags/object/ags_plugin.h \
  src/ags/X/ags_effect_bridge.h src/ags/audio/ags_audio.h \
  src/ags/X/ags_effect_line.h
@@ -1882,38 +1874,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 src/ags/object/ags_marshal.h:
diff --git a/.deps/gsequencer-ags_export_window.Po b/.deps/gsequencer-ags_export_window.Po
index 037c8a1..a5968b3 100644
--- a/.deps/gsequencer-ags_export_window.Po
+++ b/.deps/gsequencer-ags_export_window.Po
@@ -526,11 +526,33 @@ gsequencer-ags_export_window.o: src/ags/X/ags_export_window.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/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/stdlib.h \
- /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
- /usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \
- /usr/include/bits/stdlib-float.h /usr/include/string.h \
+ /usr/include/gtk-2.0/gtk/gtktipsquery.h \
+ src/ags/X/ags_export_window_callbacks.h \
+ src/ags-lib/object/ags_connectable.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 \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ /usr/include/libxml2/libxml/globals.h \
+ /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
+ /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ src/ags/object/ags_soundcard.h src/ags/object/ags_application_context.h \
+ src/ags/lib/ags_log.h src/ags/object/ags_config.h \
+ src/ags/file/ags_file.h src/ags/audio/ags_devout.h \
+ /usr/include/alsa/asoundlib.h /usr/include/string.h \
  /usr/include/bits/string.h /usr/include/bits/string2.h \
  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
  /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
@@ -567,29 +589,8 @@ gsequencer-ags_export_window.o: src/ags/X/ags_export_window.c \
  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 \
- /usr/include/libxml2/libxml/xmlregexp.h \
- /usr/include/libxml2/libxml/dict.h \
- /usr/include/libxml2/libxml/xmlmemory.h \
- /usr/include/libxml2/libxml/threads.h \
- /usr/include/libxml2/libxml/globals.h \
- /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/hash.h \
- /usr/include/libxml2/libxml/valid.h \
- /usr/include/libxml2/libxml/xmlerror.h \
- /usr/include/libxml2/libxml/list.h \
- /usr/include/libxml2/libxml/xmlautomata.h \
- /usr/include/libxml2/libxml/entities.h \
- /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
- /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \
- /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- src/ags/thread/ags_timestamp_thread.h src/ags/audio/ags_timestamp.h \
- src/ags/audio/ags_note.h src/ags/X/ags_export_window_callbacks.h \
- src/ags-lib/object/ags_connectable.h src/ags/main.h \
- src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.h src/ags/file/ags_file.h \
+ src/ags/audio/ags_notation.h src/ags/thread/ags_timestamp_thread.h \
+ src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
  src/ags/X/ags_window.h src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
  src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
@@ -1821,9 +1822,49 @@ src/ags/X/ags_export_window.h:
 
 /usr/include/gtk-2.0/gtk/gtktipsquery.h:
 
-src/ags/audio/ags_devout.h:
+src/ags/X/ags_export_window_callbacks.h:
 
-/usr/include/alsa/asoundlib.h:
+src/ags-lib/object/ags_connectable.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:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/SAX.h:
 
 /usr/include/stdlib.h:
 
@@ -1837,6 +1878,24 @@ src/ags/audio/ags_devout.h:
 
 /usr/include/bits/stdlib-float.h:
 
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+src/ags/object/ags_soundcard.h:
+
+src/ags/object/ags_application_context.h:
+
+src/ags/lib/ags_log.h:
+
+src/ags/object/ags_config.h:
+
+src/ags/file/ags_file.h:
+
+src/ags/audio/ags_devout.h:
+
+/usr/include/alsa/asoundlib.h:
+
 /usr/include/string.h:
 
 /usr/include/bits/string.h:
@@ -1987,70 +2046,12 @@ 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:
-
-/usr/include/libxml2/libxml/xmlregexp.h:
-
-/usr/include/libxml2/libxml/dict.h:
-
-/usr/include/libxml2/libxml/xmlmemory.h:
-
-/usr/include/libxml2/libxml/threads.h:
-
-/usr/include/libxml2/libxml/globals.h:
-
-/usr/include/libxml2/libxml/parser.h:
-
-/usr/include/libxml2/libxml/hash.h:
-
-/usr/include/libxml2/libxml/valid.h:
-
-/usr/include/libxml2/libxml/xmlerror.h:
-
-/usr/include/libxml2/libxml/list.h:
-
-/usr/include/libxml2/libxml/xmlautomata.h:
-
-/usr/include/libxml2/libxml/entities.h:
-
-/usr/include/libxml2/libxml/encoding.h:
-
-/usr/include/iconv.h:
-
-/usr/include/libxml2/libxml/xmlIO.h:
-
-/usr/include/libxml2/libxml/SAX.h:
-
-/usr/include/libxml2/libxml/xlink.h:
-
-/usr/include/libxml2/libxml/SAX2.h:
-
 src/ags/thread/ags_timestamp_thread.h:
 
 src/ags/audio/ags_timestamp.h:
 
 src/ags/audio/ags_note.h:
 
-src/ags/X/ags_export_window_callbacks.h:
-
-src/ags-lib/object/ags_connectable.h:
-
-src/ags/main.h:
-
-src/ags/object/ags_application_context.h:
-
-src/ags/lib/ags_log.h:
-
-src/ags/object/ags_config.h:
-
-src/ags/file/ags_file.h:
-
 src/ags/X/ags_window.h:
 
 src/ags/X/ags_automation_editor.h:
diff --git a/.deps/gsequencer-ags_export_window_callbacks.Po b/.deps/gsequencer-ags_export_window_callbacks.Po
index dd7de18..3649457 100644
--- a/.deps/gsequencer-ags_export_window_callbacks.Po
+++ b/.deps/gsequencer-ags_export_window_callbacks.Po
@@ -527,15 +527,39 @@ gsequencer-ags_export_window_callbacks.o: \
  /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_export_window.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
+ src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.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 \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ /usr/include/libxml2/libxml/globals.h \
+ /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
+ /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \
  /usr/include/stdlib.h /usr/include/bits/waitflags.h \
  /usr/include/bits/waitstatus.h /usr/include/alloca.h \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ src/ags/thread/ags_thread-posix.h src/ags/thread/ags_task_thread.h \
+ src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
+ src/ags/audio/ags_task.h src/ags/thread/ags_export_thread.h \
+ src/ags/audio/file/ags_audio_file.h src/ags/audio/ags_devout.h \
+ /usr/include/alsa/asoundlib.h /usr/include/string.h \
+ /usr/include/bits/string.h /usr/include/bits/string2.h \
+ /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+ /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
+ /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
+ /usr/include/errno.h /usr/include/bits/errno.h \
  /usr/include/linux/errno.h /usr/include/asm/errno.h \
  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
  /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
@@ -551,46 +575,23 @@ gsequencer-ags_export_window_callbacks.o: \
  /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.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/thread/ags_task_thread.h \
- 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/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 \
- /usr/include/libxml2/libxml/xmlregexp.h \
- /usr/include/libxml2/libxml/dict.h \
- /usr/include/libxml2/libxml/xmlmemory.h \
- /usr/include/libxml2/libxml/threads.h \
- /usr/include/libxml2/libxml/globals.h \
- /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/hash.h \
- /usr/include/libxml2/libxml/valid.h \
- /usr/include/libxml2/libxml/xmlerror.h \
- /usr/include/libxml2/libxml/list.h \
- /usr/include/libxml2/libxml/xmlautomata.h \
- /usr/include/libxml2/libxml/entities.h \
- /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
- /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \
- /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/bits/mathinline.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/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 \
+ 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 \
  src/ags/thread/ags_timestamp_thread.h src/ags/audio/ags_timestamp.h \
- src/ags/audio/ags_note.h src/ags/main.h \
- src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.h src/ags/file/ags_file.h \
- src/ags/thread/ags_export_thread.h src/ags/audio/file/ags_audio_file.h \
- src/ags/audio/task/ags_export_output.h src/ags/X/ags_window.h \
+ src/ags/audio/ags_note.h src/ags/audio/task/ags_export_output.h \
+ src/ags/X/ags_window.h src/ags/object/ags_soundcard.h \
  src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
  src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
@@ -604,8 +605,7 @@ gsequencer-ags_export_window_callbacks.o: \
  src/ags/X/ags_navigation.h 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_xorg_application_context.h
+ src/ags/X/ags_server_preferences.h
 
 /usr/include/stdc-predef.h:
 
@@ -1825,9 +1825,53 @@ src/ags/X/ags_export_window_callbacks.h:
 
 src/ags/X/ags_export_window.h:
 
-src/ags/audio/ags_devout.h:
+src/ags/object/ags_application_context.h:
 
-/usr/include/alsa/asoundlib.h:
+src/ags/lib/ags_log.h:
+
+src/ags/object/ags_config.h:
+
+src/ags/file/ags_file.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:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/SAX.h:
 
 /usr/include/stdlib.h:
 
@@ -1841,6 +1885,28 @@ src/ags/audio/ags_devout.h:
 
 /usr/include/bits/stdlib-float.h:
 
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+src/ags/thread/ags_thread-posix.h:
+
+src/ags/thread/ags_task_thread.h:
+
+src/ags/thread/ags_thread_pool.h:
+
+src/ags/object/ags_main_loop.h:
+
+src/ags/audio/ags_task.h:
+
+src/ags/thread/ags_export_thread.h:
+
+src/ags/audio/file/ags_audio_file.h:
+
+src/ags/audio/ags_devout.h:
+
+/usr/include/alsa/asoundlib.h:
+
 /usr/include/string.h:
 
 /usr/include/bits/string.h:
@@ -1927,8 +1993,6 @@ src/ags/thread/ags_audio_loop.h:
 
 /usr/include/bits/mathinline.h:
 
-src/ags/thread/ags_thread-posix.h:
-
 src/ags/thread/ags_async_queue.h:
 
 /usr/include/linux/futex.h:
@@ -1959,14 +2023,6 @@ src/ags/thread/ags_async_queue.h:
 
 src/ags/object/ags_stackable.h:
 
-src/ags/thread/ags_task_thread.h:
-
-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:
@@ -1991,74 +2047,18 @@ 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:
-
-/usr/include/libxml2/libxml/xmlregexp.h:
-
-/usr/include/libxml2/libxml/dict.h:
-
-/usr/include/libxml2/libxml/xmlmemory.h:
-
-/usr/include/libxml2/libxml/threads.h:
-
-/usr/include/libxml2/libxml/globals.h:
-
-/usr/include/libxml2/libxml/parser.h:
-
-/usr/include/libxml2/libxml/hash.h:
-
-/usr/include/libxml2/libxml/valid.h:
-
-/usr/include/libxml2/libxml/xmlerror.h:
-
-/usr/include/libxml2/libxml/list.h:
-
-/usr/include/libxml2/libxml/xmlautomata.h:
-
-/usr/include/libxml2/libxml/entities.h:
-
-/usr/include/libxml2/libxml/encoding.h:
-
-/usr/include/iconv.h:
-
-/usr/include/libxml2/libxml/xmlIO.h:
-
-/usr/include/libxml2/libxml/SAX.h:
-
-/usr/include/libxml2/libxml/xlink.h:
-
-/usr/include/libxml2/libxml/SAX2.h:
-
 src/ags/thread/ags_timestamp_thread.h:
 
 src/ags/audio/ags_timestamp.h:
 
 src/ags/audio/ags_note.h:
 
-src/ags/main.h:
-
-src/ags/object/ags_application_context.h:
-
-src/ags/lib/ags_log.h:
-
-src/ags/object/ags_config.h:
-
-src/ags/file/ags_file.h:
-
-src/ags/thread/ags_export_thread.h:
-
-src/ags/audio/file/ags_audio_file.h:
-
 src/ags/audio/task/ags_export_output.h:
 
 src/ags/X/ags_window.h:
 
+src/ags/object/ags_soundcard.h:
+
 src/ags/X/ags_automation_editor.h:
 
 src/ags/X/editor/ags_automation_toolbar.h:
@@ -2106,5 +2106,3 @@ 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_xorg_application_context.h:
diff --git a/.deps/gsequencer-ags_generic_preferences.Po b/.deps/gsequencer-ags_generic_preferences.Po
index 8a00793..ea805f0 100644
--- a/.deps/gsequencer-ags_generic_preferences.Po
+++ b/.deps/gsequencer-ags_generic_preferences.Po
@@ -526,17 +526,9 @@ gsequencer-ags_generic_preferences.o: src/ags/X/ags_generic_preferences.c \
  /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_generic_preferences_callbacks.h src/ags/main.h \
+ src/ags/X/ags_generic_preferences_callbacks.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -559,43 +551,19 @@ gsequencer-ags_generic_preferences.o: src/ags/X/ags_generic_preferences.c \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
  src/ags-lib/object/ags_connectable.h src/ags/object/ags_applicable.h \
- src/ags/X/ags_window.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.h \
- src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.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 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 src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
+ src/ags/X/ags_window.h src/ags/object/ags_soundcard.h \
  src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/audio/ags_port.h \
+ /usr/include/ladspa.h src/ags/X/editor/ags_notebook.h \
  src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.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_recall_dependency.h \
+ src/ags/audio/ags_notation.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/editor/ags_automation_edit.h \
  src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
  src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
  src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
@@ -1824,46 +1792,12 @@ src/ags/X/ags_generic_preferences.h:
 
 src/ags/X/ags_generic_preferences_callbacks.h:
 
-src/ags/main.h:
-
 src/ags/object/ags_application_context.h:
 
 src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -1928,107 +1862,25 @@ src/ags/object/ags_applicable.h:
 
 src/ags/X/ags_window.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
+src/ags/X/ags_automation_editor.h:
 
-/usr/include/bits/mathcalls.h:
+src/ags/X/editor/ags_automation_toolbar.h:
 
-/usr/include/bits/mathinline.h:
+src/ags/X/editor/ags_port_selection.h:
 
-src/ags/thread/ags_thread-posix.h:
+src/ags/audio/ags_port.h:
 
-src/ags/thread/ags_task_thread.h:
+/usr/include/ladspa.h:
 
-src/ags/thread/ags_thread_pool.h:
+src/ags/X/editor/ags_notebook.h:
 
-src/ags/audio/ags_task.h:
+src/ags/X/editor/ags_machine_selector.h:
 
-src/ags/thread/ags_devout_thread.h:
+src/ags/X/ags_machine.h:
 
-src/ags/thread/ags_iterator_thread.h:
+src/ags/audio/ags_audio.h:
 
 src/ags/audio/ags_channel.h:
 
@@ -2042,34 +1894,18 @@ 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:
 
 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_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
 src/ags/X/editor/ags_automation_edit.h:
 
 src/ags/widget/ags_ruler.h:
diff --git a/.deps/gsequencer-ags_generic_preferences_callbacks.Po b/.deps/gsequencer-ags_generic_preferences_callbacks.Po
index aea591d..98ef6e5 100644
--- a/.deps/gsequencer-ags_generic_preferences_callbacks.Po
+++ b/.deps/gsequencer-ags_generic_preferences_callbacks.Po
@@ -529,15 +529,7 @@ gsequencer-ags_generic_preferences_callbacks.o: \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/X/ags_generic_preferences.h src/ags/main.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -561,49 +553,27 @@ gsequencer-ags_generic_preferences_callbacks.o: \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
  src/ags/thread/ags_thread_application_context.h \
  src/ags/thread/ags_thread-posix.h src/ags/thread/ags_thread_pool.h \
- src/ags/thread/ags_autosave_thread.h src/ags/X/ags_window.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/object/ags_main_loop.h src/ags/thread/ags_autosave_thread.h \
+ src/ags/X/ags_window.h src/ags/object/ags_soundcard.h \
+ src/ags/X/ags_automation_editor.h \
+ src/ags/X/editor/ags_automation_toolbar.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/audio/ags_port.h \
+ /usr/include/ladspa.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_machine_selector.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_recall.h src/ags/audio/ags_recall_dependency.h \
  src/ags/audio/ags_notation.h src/ags/thread/ags_timestamp_thread.h \
  src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
- src/ags/X/ags_automation_editor.h \
- src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
- src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.h \
- src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
- src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
- src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
- src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
- src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_pattern_edit.h \
- src/ags/X/ags_navigation.h src/ags/X/ags_export_window.h \
- src/ags/X/ags_preferences.h src/ags/X/ags_audio_preferences.h \
+ src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
+ src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
+ src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
+ src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_meter.h \
+ src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
+ src/ags/X/editor/ags_pattern_edit.h src/ags/X/ags_navigation.h \
+ src/ags/X/ags_export_window.h src/ags/X/ags_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_preferences_callbacks.h
 
@@ -1833,38 +1803,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -1929,107 +1867,31 @@ src/ags/thread/ags_thread-posix.h:
 
 src/ags/thread/ags_thread_pool.h:
 
+src/ags/object/ags_main_loop.h:
+
 src/ags/thread/ags_autosave_thread.h:
 
 src/ags/X/ags_window.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/usr/include/bits/huge_valf.h:
-
-/usr/include/bits/huge_vall.h:
-
-/usr/include/bits/inf.h:
+src/ags/X/ags_automation_editor.h:
 
-/usr/include/bits/nan.h:
+src/ags/X/editor/ags_automation_toolbar.h:
 
-/usr/include/bits/mathdef.h:
+src/ags/X/editor/ags_port_selection.h:
 
-/usr/include/bits/mathcalls.h:
+src/ags/audio/ags_port.h:
 
-/usr/include/bits/mathinline.h:
+/usr/include/ladspa.h:
 
-src/ags/thread/ags_task_thread.h:
+src/ags/X/editor/ags_notebook.h:
 
-src/ags/audio/ags_task.h:
+src/ags/X/editor/ags_machine_selector.h:
 
-src/ags/thread/ags_devout_thread.h:
+src/ags/X/ags_machine.h:
 
-src/ags/thread/ags_iterator_thread.h:
+src/ags/audio/ags_audio.h:
 
 src/ags/audio/ags_channel.h:
 
@@ -2043,10 +1905,6 @@ 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:
@@ -2057,20 +1915,6 @@ src/ags/audio/ags_timestamp.h:
 
 src/ags/audio/ags_note.h:
 
-src/ags/X/ags_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
 src/ags/X/editor/ags_automation_edit.h:
 
 src/ags/widget/ags_ruler.h:
diff --git a/.deps/gsequencer-ags_ladspa_browser.Po b/.deps/gsequencer-ags_ladspa_browser.Po
index 621ab53..a52d8ae 100644
--- a/.deps/gsequencer-ags_ladspa_browser.Po
+++ b/.deps/gsequencer-ags_ladspa_browser.Po
@@ -529,15 +529,7 @@ gsequencer-ags_ladspa_browser.o: src/ags/X/ags_ladspa_browser.c \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/X/ags_ladspa_browser_callbacks.h src/ags/main.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -566,7 +558,15 @@ gsequencer-ags_ladspa_browser.o: src/ags/X/ags_ladspa_browser.c \
  /usr/include/bits/inf.h /usr/include/bits/nan.h \
  /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
  /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.h \
- src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.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/thread/ags_task_thread.h \
+ src/ags/thread/ags_thread_pool.h src/ags/object/ags_main_loop.h \
  src/ags/audio/ags_task.h /usr/include/dlfcn.h /usr/include/bits/dlfcn.h \
  /usr/include/string.h /usr/include/bits/string.h \
  /usr/include/bits/string2.h /usr/include/ladspa.h
@@ -1797,38 +1797,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -1915,10 +1883,42 @@ src/ags/thread/ags_audio_loop.h:
 
 src/ags/thread/ags_thread-posix.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/thread/ags_task_thread.h:
 
 src/ags/thread/ags_thread_pool.h:
 
+src/ags/object/ags_main_loop.h:
+
 src/ags/audio/ags_task.h:
 
 /usr/include/dlfcn.h:
diff --git a/.deps/gsequencer-ags_line_callbacks.Po b/.deps/gsequencer-ags_line_callbacks.Po
index d257c03..52abcb8 100644
--- a/.deps/gsequencer-ags_line_callbacks.Po
+++ b/.deps/gsequencer-ags_line_callbacks.Po
@@ -557,14 +557,6 @@ gsequencer-ags_line_callbacks.o: src/ags/X/ags_line_callbacks.c \
  src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
  src/ags/widget/ags_expander.h src/ags/object/ags_application_context.h \
  src/ags/lib/ags_log.h src/ags/object/ags_config.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/file/ags_file.h src/ags/audio/ags_devout.h \
  /usr/include/alsa/asoundlib.h /usr/include/string.h \
  /usr/include/bits/string.h /usr/include/bits/string2.h \
@@ -587,8 +579,16 @@ gsequencer-ags_line_callbacks.o: src/ags/X/ags_line_callbacks.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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_task_thread.h \
- src/ags/thread/ags_thread_pool.h src/ags/audio/ags_task.h \
+ /usr/include/bits/mathinline.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/thread/ags_task_thread.h 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/audio/ags_recall_audio.h src/ags/audio/ags_audio.h \
  src/ags/audio/ags_recall_audio_run.h \
@@ -600,7 +600,21 @@ gsequencer-ags_line_callbacks.o: src/ags/X/ags_line_callbacks.c \
  src/ags/audio/ags_recall_channel_run.h \
  src/ags/audio/task/ags_change_indicator.h src/ags/widget/ags_indicator.h \
  src/ags/widget/ags_vindicator.h src/ags/widget/ags_indicator.h \
- src/ags/X/ags_machine.h src/ags/X/ags_pad.h \
+ src/ags/X/ags_window.h src/ags/object/ags_soundcard.h \
+ src/ags/X/ags_automation_editor.h \
+ src/ags/X/editor/ags_automation_toolbar.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
+ src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
+ src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
+ src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
+ src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_meter.h \
+ src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
+ src/ags/X/editor/ags_pattern_edit.h src/ags/X/ags_navigation.h \
+ src/ags/X/ags_export_window.h 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_pad.h \
  src/ags/widget/ags_expander_set.h src/ags/X/ags_line_member.h
 
 /usr/include/stdc-predef.h:
@@ -1913,38 +1927,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 src/ags/audio/ags_devout.h:
@@ -2037,10 +2019,42 @@ src/ags/thread/ags_audio_loop.h:
 
 /usr/include/bits/mathinline.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/thread/ags_task_thread.h:
 
 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:
@@ -2073,8 +2087,58 @@ src/ags/widget/ags_vindicator.h:
 
 src/ags/widget/ags_indicator.h:
 
+src/ags/X/ags_window.h:
+
+src/ags/object/ags_soundcard.h:
+
+src/ags/X/ags_automation_editor.h:
+
+src/ags/X/editor/ags_automation_toolbar.h:
+
+src/ags/X/editor/ags_port_selection.h:
+
+src/ags/X/editor/ags_notebook.h:
+
+src/ags/X/editor/ags_machine_selector.h:
+
 src/ags/X/ags_machine.h:
 
+src/ags/X/editor/ags_automation_edit.h:
+
+src/ags/widget/ags_ruler.h:
+
+src/ags/audio/ags_automation.h:
+
+src/ags/audio/ags_acceleration.h:
+
+src/ags/X/ags_menu_bar.h:
+
+src/ags/X/ags_editor.h:
+
+src/ags/X/editor/ags_toolbar.h:
+
+src/ags/X/editor/ags_meter.h:
+
+src/ags/X/editor/ags_soundset.h:
+
+src/ags/X/editor/ags_note_edit.h:
+
+src/ags/X/editor/ags_pattern_edit.h:
+
+src/ags/X/ags_navigation.h:
+
+src/ags/X/ags_export_window.h:
+
+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_pad.h:
 
 src/ags/widget/ags_expander_set.h:
diff --git a/.deps/gsequencer-ags_line_editor.Po b/.deps/gsequencer-ags_line_editor.Po
index 56c3841..63c5484 100644
--- a/.deps/gsequencer-ags_line_editor.Po
+++ b/.deps/gsequencer-ags_line_editor.Po
@@ -556,38 +556,6 @@ gsequencer-ags_line_editor.o: src/ags/X/ags_line_editor.c \
  src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
  src/ags/X/ags_link_editor.h src/ags/X/ags_machine.h \
  src/ags/audio/ags_audio.h src/ags/audio/file/ags_audio_file.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/thread/ags_task_thread.h 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_line_member_editor.h src/ags/X/ags_ladspa_browser.h \
  src/ags/X/ags_line_editor_callbacks.h \
  src/ags-lib/object/ags_connectable.h src/ags/object/ags_applicable.h
@@ -1900,138 +1868,6 @@ src/ags/audio/ags_audio.h:
 
 src/ags/audio/file/ags_audio_file.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.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/thread/ags_task_thread.h:
-
-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_line_member_editor.h:
 
 src/ags/X/ags_ladspa_browser.h:
diff --git a/.deps/gsequencer-ags_line_editor_callbacks.Po b/.deps/gsequencer-ags_line_editor_callbacks.Po
index 23ccf76..7dd9193 100644
--- a/.deps/gsequencer-ags_line_editor_callbacks.Po
+++ b/.deps/gsequencer-ags_line_editor_callbacks.Po
@@ -557,38 +557,6 @@ gsequencer-ags_line_editor_callbacks.o: \
  src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
  src/ags/X/ags_link_editor.h src/ags/X/ags_machine.h \
  src/ags/audio/ags_audio.h src/ags/audio/file/ags_audio_file.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/thread/ags_task_thread.h 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_line_member_editor.h src/ags/X/ags_ladspa_browser.h \
  src/ags/X/ags_pad_editor.h src/ags/X/ags_machine_editor.h \
  src/ags/X/ags_listing_editor.h src/ags/X/ags_property_listing_editor.h \
@@ -1905,138 +1873,6 @@ src/ags/audio/ags_audio.h:
 
 src/ags/audio/file/ags_audio_file.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.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/thread/ags_task_thread.h:
-
-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_line_member_editor.h:
 
 src/ags/X/ags_ladspa_browser.h:
diff --git a/.deps/gsequencer-ags_registry.Po b/.deps/gsequencer-ags_registry.Po
index 153811e..4b3c28f 100644
--- a/.deps/gsequencer-ags_registry.Po
+++ b/.deps/gsequencer-ags_registry.Po
@@ -551,15 +551,7 @@ gsequencer-ags_registry.o: src/ags/server/ags_registry.c \
  /usr/include/gtk-2.0/gtk/gtkpreview.h \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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 \
+ src/ags/object/ags_config.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 \
@@ -1856,38 +1848,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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:
diff --git a/.deps/gsequencer-ags_remote_task.Po b/.deps/gsequencer-ags_remote_task.Po
index fae7267..73a7849 100644
--- a/.deps/gsequencer-ags_remote_task.Po
+++ b/.deps/gsequencer-ags_remote_task.Po
@@ -551,15 +551,7 @@ gsequencer-ags_remote_task.o: src/ags/server/ags_remote_task.c \
  /usr/include/gtk-2.0/gtk/gtkpreview.h \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.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 \
@@ -1852,38 +1844,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 src/ags/server/ags_server.h:
diff --git a/.deps/gsequencer-ags_server.Po b/.deps/gsequencer-ags_server.Po
index 82ecef5..1509ef7 100644
--- a/.deps/gsequencer-ags_server.Po
+++ b/.deps/gsequencer-ags_server.Po
@@ -137,15 +137,7 @@ gsequencer-ags_server.o: src/ags/server/ags_server.c \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
  src/ags/server/ags_remote_task.h src/ags-lib/object/ags_connectable.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/object/ags_config.h \
  src/ags/server/ags_server_application_context.h
 
 /usr/include/stdc-predef.h:
@@ -542,36 +534,4 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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_application_context.h:
diff --git a/.deps/gsequencer-ags_server_application_context.Po b/.deps/gsequencer-ags_server_application_context.Po
index afa3081..04fe274 100644
--- a/.deps/gsequencer-ags_server_application_context.Po
+++ b/.deps/gsequencer-ags_server_application_context.Po
@@ -110,15 +110,7 @@ gsequencer-ags_server_application_context.o: \
  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
  /usr/include/wchar.h /usr/include/bits/stdio_lim.h \
  /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -451,38 +443,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
diff --git a/.deps/gsequencer-ags_server_init.Po b/.deps/gsequencer-ags_server_init.Po
index b0ab49e..b5441bf 100644
--- a/.deps/gsequencer-ags_server_init.Po
+++ b/.deps/gsequencer-ags_server_init.Po
@@ -527,15 +527,7 @@ gsequencer-ags_server_init.o: src/ags/server/ags_server_init.c \
  /usr/include/gtk-2.0/gtk/gtkpreview.h \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -1790,38 +1782,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
diff --git a/.deps/gsequencer-ags_xorg_application_context.Po b/.deps/gsequencer-ags_xorg_application_context.Po
index 1386d2e..5f0fce4 100644
--- a/.deps/gsequencer-ags_xorg_application_context.Po
+++ b/.deps/gsequencer-ags_xorg_application_context.Po
@@ -528,15 +528,7 @@ gsequencer-ags_xorg_application_context.o: \
  /usr/include/gtk-2.0/gtk/gtkpreview.h \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -558,43 +550,19 @@ gsequencer-ags_xorg_application_context.o: \
  /usr/include/bits/waitstatus.h /usr/include/alloca.h \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- src/ags/X/ags_window.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.h \
- src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.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 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 src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
+ src/ags/X/ags_window.h src/ags/object/ags_soundcard.h \
  src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/audio/ags_port.h \
+ /usr/include/ladspa.h src/ags/X/editor/ags_notebook.h \
  src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.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_recall_dependency.h \
+ src/ags/audio/ags_notation.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/editor/ags_automation_edit.h \
  src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
  src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
  src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
@@ -608,9 +576,9 @@ gsequencer-ags_xorg_application_context.o: \
  src/ags/file/ags_file_gui.h src/ags/file/ags_file_lookup.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_line_member.h src/ags/X/ags_machine_editor.h \
- src/ags/X/ags_listing_editor.h src/ags/X/ags_property_listing_editor.h \
- src/ags/X/ags_property_editor.h \
+ src/ags/X/ags_line_member.h src/ags/audio/ags_task.h \
+ src/ags/X/ags_machine_editor.h src/ags/X/ags_listing_editor.h \
+ src/ags/X/ags_property_listing_editor.h src/ags/X/ags_property_editor.h \
  src/ags/X/ags_property_collection_editor.h src/ags/X/ags_resize_editor.h \
  src/ags/X/ags_pad_editor.h src/ags/X/ags_line_editor.h \
  src/ags/X/ags_link_editor.h src/ags/audio/file/ags_audio_file.h \
@@ -701,11 +669,43 @@ gsequencer-ags_xorg_application_context.o: \
  /usr/include/libinstpatch-1.0/libinstpatch/IpatchXmlObject.h \
  /usr/include/libinstpatch-1.0/libinstpatch/misc.h \
  /usr/include/libinstpatch-1.0/libinstpatch/version.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/thread/ags_gui_thread.h
+ src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
+ /usr/include/string.h /usr/include/bits/string.h \
+ /usr/include/bits/string2.h /usr/include/fcntl.h \
+ /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
+ /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
+ /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
+ /usr/include/alsa/global.h /usr/include/alsa/input.h \
+ /usr/include/alsa/output.h /usr/include/alsa/error.h \
+ /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
+ /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
+ /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
+ /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
+ /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
+ /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
+ /usr/include/math.h /usr/include/bits/huge_val.h \
+ /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 \
+ /usr/include/bits/mathinline.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/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.h \
+ src/ags/object/ags_main_loop.h src/ags/thread/ags_devout_thread.h \
+ src/ags/thread/ags_iterator_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/thread/ags_gui_thread.h
 
 /usr/include/stdc-predef.h:
 
@@ -1929,38 +1929,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -2021,107 +1989,25 @@ src/ags/file/ags_file.h:
 
 src/ags/X/ags_window.h:
 
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
+src/ags/X/ags_automation_editor.h:
 
-/usr/include/bits/mathcalls.h:
+src/ags/X/editor/ags_automation_toolbar.h:
 
-/usr/include/bits/mathinline.h:
+src/ags/X/editor/ags_port_selection.h:
 
-src/ags/thread/ags_thread-posix.h:
+src/ags/audio/ags_port.h:
 
-src/ags/thread/ags_task_thread.h:
+/usr/include/ladspa.h:
 
-src/ags/thread/ags_thread_pool.h:
+src/ags/X/editor/ags_notebook.h:
 
-src/ags/audio/ags_task.h:
+src/ags/X/editor/ags_machine_selector.h:
 
-src/ags/thread/ags_devout_thread.h:
+src/ags/X/ags_machine.h:
 
-src/ags/thread/ags_iterator_thread.h:
+src/ags/audio/ags_audio.h:
 
 src/ags/audio/ags_channel.h:
 
@@ -2135,34 +2021,18 @@ 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:
 
 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_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
 src/ags/X/editor/ags_automation_edit.h:
 
 src/ags/widget/ags_ruler.h:
@@ -2215,6 +2085,8 @@ src/ags/widget/ags_expander.h:
 
 src/ags/X/ags_line_member.h:
 
+src/ags/audio/ags_task.h:
+
 src/ags/X/ags_machine_editor.h:
 
 src/ags/X/ags_listing_editor.h:
@@ -2419,6 +2291,136 @@ src/ags/audio/file/ags_ipatch.h:
 
 /usr/include/libinstpatch-1.0/libinstpatch/version.h:
 
+src/ags/audio/ags_devout.h:
+
+/usr/include/alsa/asoundlib.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/bits/fcntl-linux.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/assert.h:
+
+/usr/include/sys/poll.h:
+
+/usr/include/bits/poll.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/alsa/asoundef.h:
+
+/usr/include/alsa/version.h:
+
+/usr/include/alsa/global.h:
+
+/usr/include/alsa/input.h:
+
+/usr/include/alsa/output.h:
+
+/usr/include/alsa/error.h:
+
+/usr/include/alsa/conf.h:
+
+/usr/include/alsa/pcm.h:
+
+/usr/include/alsa/rawmidi.h:
+
+/usr/include/alsa/timer.h:
+
+/usr/include/alsa/hwdep.h:
+
+/usr/include/alsa/control.h:
+
+/usr/include/alsa/mixer.h:
+
+/usr/include/alsa/seq_event.h:
+
+/usr/include/alsa/seq.h:
+
+/usr/include/alsa/seqmid.h:
+
+/usr/include/alsa/seq_midi_event.h:
+
+src/ags/thread/ags_audio_loop.h:
+
+/usr/include/math.h:
+
+/usr/include/bits/huge_val.h:
+
+/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:
+
+/usr/include/bits/mathinline.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/thread/ags_task_thread.h:
+
+src/ags/thread/ags_thread_pool.h:
+
+src/ags/object/ags_main_loop.h:
+
+src/ags/thread/ags_devout_thread.h:
+
+src/ags/thread/ags_iterator_thread.h:
+
 src/ags/file/ags_file_stock.h:
 
 src/ags/widget/ags_led.h:
diff --git a/.deps/gsequencer-ags_xorg_init.Po b/.deps/gsequencer-ags_xorg_init.Po
index a066323..c2fb66b 100644
--- a/.deps/gsequencer-ags_xorg_init.Po
+++ b/.deps/gsequencer-ags_xorg_init.Po
@@ -527,15 +527,7 @@ gsequencer-ags_xorg_init.o: src/ags/X/ags_xorg_init.c \
  /usr/include/gtk-2.0/gtk/gtkpreview.h \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -557,54 +549,7 @@ gsequencer-ags_xorg_init.o: src/ags/X/ags_xorg_init.c \
  /usr/include/bits/waitstatus.h /usr/include/alloca.h \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- src/ags/audio/ags_audio_init.h src/ags/widget/ags_gui_init.h \
- src/ags/X/ags_xorg_application_context.h src/ags/X/ags_window.h \
- src/ags/audio/ags_devout.h /usr/include/alsa/asoundlib.h \
- /usr/include/string.h /usr/include/bits/string.h \
- /usr/include/bits/string2.h /usr/include/fcntl.h \
- /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
- /usr/include/bits/stat.h /usr/include/assert.h /usr/include/sys/poll.h \
- /usr/include/bits/poll.h /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.h src/ags/thread/ags_thread-posix.h \
- src/ags/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.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 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 src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
- src/ags/X/ags_automation_editor.h \
- src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
- src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.h \
- src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
- src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
- src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
- src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
- src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_pattern_edit.h \
- src/ags/X/ags_navigation.h src/ags/X/ags_export_window.h \
- 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/audio/ags_audio_init.h src/ags/widget/ags_gui_init.h
 
 /usr/include/stdc-predef.h:
 
@@ -1828,38 +1773,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -1921,185 +1834,3 @@ src/ags/file/ags_file.h:
 src/ags/audio/ags_audio_init.h:
 
 src/ags/widget/ags_gui_init.h:
-
-src/ags/X/ags_xorg_application_context.h:
-
-src/ags/X/ags_window.h:
-
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.h:
-
-src/ags/thread/ags_thread-posix.h:
-
-src/ags/thread/ags_task_thread.h:
-
-src/ags/thread/ags_thread_pool.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:
-
-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:
-
-src/ags/thread/ags_timestamp_thread.h:
-
-src/ags/audio/ags_timestamp.h:
-
-src/ags/audio/ags_note.h:
-
-src/ags/X/ags_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
-src/ags/X/editor/ags_automation_edit.h:
-
-src/ags/widget/ags_ruler.h:
-
-src/ags/audio/ags_automation.h:
-
-src/ags/audio/ags_acceleration.h:
-
-src/ags/X/ags_menu_bar.h:
-
-src/ags/X/ags_editor.h:
-
-src/ags/X/editor/ags_toolbar.h:
-
-src/ags/X/editor/ags_meter.h:
-
-src/ags/X/editor/ags_soundset.h:
-
-src/ags/X/editor/ags_note_edit.h:
-
-src/ags/X/editor/ags_pattern_edit.h:
-
-src/ags/X/ags_navigation.h:
-
-src/ags/X/ags_export_window.h:
-
-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:
diff --git a/.deps/gsequencer-main.Po b/.deps/gsequencer-main.Po
index f822b92..08c62f7 100644
--- a/.deps/gsequencer-main.Po
+++ b/.deps/gsequencer-main.Po
@@ -528,15 +528,7 @@ gsequencer-main.o: src/ags/main.c /usr/include/stdc-predef.h \
  /usr/include/gtk-2.0/gtk/gtkpreview.h \
  /usr/include/gtk-2.0/gtk/gtktipsquery.h \
  src/ags/object/ags_application_context.h src/ags/lib/ags_log.h \
- src/ags/object/ags_config.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/file/ags_file.h \
+ src/ags/object/ags_config.h src/ags/file/ags_file.h \
  /usr/include/libxml2/libxml/tree.h \
  /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
@@ -558,8 +550,10 @@ gsequencer-main.o: src/ags/main.c /usr/include/stdc-predef.h \
  /usr/include/bits/waitstatus.h /usr/include/alloca.h \
  /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- src/ags-lib/object/ags_connectable.h \
- src/ags/server/ags_server_application_context.h \
+ src/ags-lib/object/ags_connectable.h src/ags/object/ags_soundcard.h \
+ src/ags/thread/ags_thread_init.h src/ags/thread/ags_thread-posix.h \
+ src/ags/thread/ags_single_thread.h src/ags/thread/ags_autosave_thread.h \
+ src/ags/thread/ags_concurrency_provider.h src/ags/object/ags_main_loop.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 \
@@ -569,140 +563,35 @@ gsequencer-main.o: src/ags/main.c /usr/include/stdc-predef.h \
  /usr/include/asm-generic/socket.h /usr/include/asm/sockios.h \
  /usr/include/asm-generic/sockios.h /usr/include/bits/in.h \
  src/ags/server/ags_registry.h src/ags/server/ags_remote_task.h \
- src/ags/thread/ags_thread_application_context.h \
- src/ags/thread/ags_thread-posix.h src/ags/thread/ags_thread_pool.h \
- src/ags/thread/ags_single_thread.h src/ags/thread/ags_autosave_thread.h \
- src/ags/plugin/ags_ladspa_manager.h \
- src/ags/audio/ags_audio_application_context.h \
- src/ags/object/ags_soundcard.h src/ags/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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 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 src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
+ src/ags/plugin/ags_ladspa_manager.h src/ags/audio/ags_sound_provider.h \
  src/ags/X/ags_xorg_init.h src/ags/X/ags_xorg_application_context.h \
  src/ags/X/ags_window.h src/ags/X/ags_automation_editor.h \
  src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
+ src/ags/X/editor/ags_port_selection.h src/ags/audio/ags_port.h \
+ /usr/include/ladspa.h src/ags/X/editor/ags_notebook.h \
  src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.h \
- src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
- src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
- src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
- src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
- src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_pattern_edit.h \
- src/ags/X/ags_navigation.h src/ags/X/ags_export_window.h \
- src/ags/X/ags_preferences.h src/ags/X/ags_generic_preferences.h \
- src/ags/X/ags_audio_preferences.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_recall_dependency.h \
+ src/ags/audio/ags_notation.h src/ags/thread/ags_timestamp_thread.h \
+ src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
+ src/ags/X/editor/ags_automation_edit.h src/ags/widget/ags_ruler.h \
+ src/ags/audio/ags_automation.h src/ags/audio/ags_acceleration.h \
+ src/ags/X/ags_menu_bar.h src/ags/X/ags_editor.h \
+ src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_meter.h \
+ src/ags/X/editor/ags_soundset.h src/ags/X/editor/ags_note_edit.h \
+ src/ags/X/editor/ags_pattern_edit.h src/ags/X/ags_navigation.h \
+ src/ags/X/ags_export_window.h 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/thread/ags_gui_thread.h \
  /usr/include/libintl.h /usr/include/locale.h /usr/include/bits/locale.h \
  /usr/include/sys/resource.h /usr/include/bits/resource.h \
- /usr/include/mcheck.h /usr/include/ao/ao.h /usr/include/ao/os_types.h \
- /usr/include/libinstpatch-1.0/libinstpatch/libinstpatch.h \
- /usr/include/libinstpatch-1.0/libinstpatch/builtin_enums.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchBase.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchFile.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchItem.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchIter.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchList.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchContainer.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Preset.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2PZone.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Zone.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Gen.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Mod.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Inst.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2IZone.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Sample.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleData.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStore.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSample.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleTransform.h \
- /usr/include/libinstpatch-1.0/libinstpatch/sample.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchConverter.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchConverterSF2VoiceCache.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchConvert_DLS2.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchConvert_Gig.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchConvert_SF2.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Conn.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLSFile.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchRiff.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Info.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Inst.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Sample.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Region.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLSReader.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigInst.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigRegion.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigEffects.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigSample.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigDimension.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigSubRegion.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchDLSWriter.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGigFile.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchGig.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchParamProp.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchPaste.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchRange.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreCache.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreFile.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreRam.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreRom.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreSndFile.h \
- /usr/include/sndfile.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreSplit24.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreSwap.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreVirtual.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleList.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2File.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2GenItem.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2ModItem.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Reader.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2VoiceCache.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Writer.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchSndFile.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchTypeProp.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit_generic.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit_DLS.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit_SF2.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchVBank.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchVBankInst.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchVBankRegion.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchVirtualContainer.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchVirtualContainer_types.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchXml.h \
- /usr/include/libinstpatch-1.0/libinstpatch/IpatchXmlObject.h \
- /usr/include/libinstpatch-1.0/libinstpatch/misc.h \
- /usr/include/libinstpatch-1.0/libinstpatch/version.h \
+ /usr/include/mcheck.h /usr/include/ao/ao.h /usr/include/errno.h \
+ /usr/include/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
+ /usr/include/asm-generic/errno-base.h /usr/include/ao/os_types.h \
  /usr/X11/include/X11/Xlib.h /usr/X11/include/X11/X.h \
  /usr/X11/include/X11/Xfuncproto.h /usr/X11/include/X11/Xosdefs.h \
  /usr/include/pwd.h /usr/include/sys/mman.h /usr/include/bits/mman.h \
@@ -1934,38 +1823,6 @@ src/ags/lib/ags_log.h:
 
 src/ags/object/ags_config.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/file/ags_file.h:
 
 /usr/include/libxml2/libxml/tree.h:
@@ -2026,7 +1883,19 @@ src/ags/file/ags_file.h:
 
 src/ags-lib/object/ags_connectable.h:
 
-src/ags/server/ags_server_application_context.h:
+src/ags/object/ags_soundcard.h:
+
+src/ags/thread/ags_thread_init.h:
+
+src/ags/thread/ags_thread-posix.h:
+
+src/ags/thread/ags_single_thread.h:
+
+src/ags/thread/ags_autosave_thread.h:
+
+src/ags/thread/ags_concurrency_provider.h:
+
+src/ags/object/ags_main_loop.h:
 
 src/ags/server/ags_server.h:
 
@@ -2064,119 +1933,33 @@ src/ags/server/ags_registry.h:
 
 src/ags/server/ags_remote_task.h:
 
-src/ags/thread/ags_thread_application_context.h:
-
-src/ags/thread/ags_thread-posix.h:
-
-src/ags/thread/ags_thread_pool.h:
-
-src/ags/thread/ags_single_thread.h:
-
-src/ags/thread/ags_autosave_thread.h:
-
 src/ags/plugin/ags_ladspa_manager.h:
 
-src/ags/audio/ags_audio_application_context.h:
-
-src/ags/object/ags_soundcard.h:
-
-src/ags/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
+src/ags/audio/ags_sound_provider.h:
 
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
+src/ags/X/ags_xorg_init.h:
 
-/usr/include/bits/huge_valf.h:
+src/ags/X/ags_xorg_application_context.h:
 
-/usr/include/bits/huge_vall.h:
+src/ags/X/ags_window.h:
 
-/usr/include/bits/inf.h:
+src/ags/X/ags_automation_editor.h:
 
-/usr/include/bits/nan.h:
+src/ags/X/editor/ags_automation_toolbar.h:
 
-/usr/include/bits/mathdef.h:
+src/ags/X/editor/ags_port_selection.h:
 
-/usr/include/bits/mathcalls.h:
+src/ags/audio/ags_port.h:
 
-/usr/include/bits/mathinline.h:
+/usr/include/ladspa.h:
 
-src/ags/thread/ags_task_thread.h:
+src/ags/X/editor/ags_notebook.h:
 
-src/ags/audio/ags_task.h:
+src/ags/X/editor/ags_machine_selector.h:
 
-src/ags/thread/ags_devout_thread.h:
+src/ags/X/ags_machine.h:
 
-src/ags/thread/ags_iterator_thread.h:
+src/ags/audio/ags_audio.h:
 
 src/ags/audio/ags_channel.h:
 
@@ -2190,10 +1973,6 @@ 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:
@@ -2204,26 +1983,6 @@ src/ags/audio/ags_timestamp.h:
 
 src/ags/audio/ags_note.h:
 
-src/ags/X/ags_xorg_init.h:
-
-src/ags/X/ags_xorg_application_context.h:
-
-src/ags/X/ags_window.h:
-
-src/ags/X/ags_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
 src/ags/X/editor/ags_automation_edit.h:
 
 src/ags/widget/ags_ruler.h:
@@ -2276,165 +2035,19 @@ src/ags/thread/ags_gui_thread.h:
 
 /usr/include/ao/ao.h:
 
-/usr/include/ao/os_types.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/libinstpatch.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/builtin_enums.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchBase.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchFile.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchItem.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchIter.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchList.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchContainer.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Preset.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2PZone.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Zone.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Gen.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Mod.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Inst.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2IZone.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Sample.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleData.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStore.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSample.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleTransform.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/sample.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchConverter.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchConverterSF2VoiceCache.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchConvert_DLS2.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchConvert_Gig.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchConvert_SF2.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Conn.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLSFile.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchRiff.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Info.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Inst.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Sample.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLS2Region.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLSReader.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigInst.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigRegion.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigEffects.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigSample.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigDimension.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigSubRegion.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchDLSWriter.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGigFile.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchGig.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchParamProp.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchPaste.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchRange.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreCache.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreFile.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreRam.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreRom.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreSndFile.h:
-
-/usr/include/sndfile.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreSplit24.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreSwap.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleStoreVirtual.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSampleList.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2File.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2GenItem.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2ModItem.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Reader.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2VoiceCache.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSF2Writer.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchSndFile.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchTypeProp.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit_generic.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit_DLS.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchUnit_SF2.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchVBank.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchVBankInst.h:
-
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchVBankRegion.h:
+/usr/include/errno.h:
 
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchVirtualContainer.h:
+/usr/include/bits/errno.h:
 
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchVirtualContainer_types.h:
+/usr/include/linux/errno.h:
 
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchXml.h:
+/usr/include/asm/errno.h:
 
-/usr/include/libinstpatch-1.0/libinstpatch/IpatchXmlObject.h:
+/usr/include/asm-generic/errno.h:
 
-/usr/include/libinstpatch-1.0/libinstpatch/misc.h:
+/usr/include/asm-generic/errno-base.h:
 
-/usr/include/libinstpatch-1.0/libinstpatch/version.h:
+/usr/include/ao/os_types.h:
 
 /usr/X11/include/X11/Xlib.h:
 
diff --git a/.deps/libags_audio_a-ags_export_output.Po b/.deps/libags_audio_a-ags_export_output.Po
index 9b50b7e..aa134d3 100644
--- a/.deps/libags_audio_a-ags_export_output.Po
+++ b/.deps/libags_audio_a-ags_export_output.Po
@@ -103,469 +103,13 @@ libags_audio_a-ags_export_output.o: \
  /usr/include/glib-2.0/gobject/gtypemodule.h \
  /usr/include/glib-2.0/gobject/gtypeplugin.h \
  /usr/include/glib-2.0/gobject/gvaluearray.h \
- /usr/include/glib-2.0/gobject/gvaluetypes.h \
+ /usr/include/glib-2.0/gobject/gvaluetypes.h src/ags/audio/ags_task.h \
  src/ags/thread/ags_export_thread.h src/ags/thread/ags_thread-posix.h \
- src/ags/audio/file/ags_audio_file.h src/ags/X/ags_window.h \
- /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \
- /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h \
- /usr/include/glib-2.0/gio/gio.h /usr/include/glib-2.0/gio/giotypes.h \
- /usr/include/glib-2.0/gio/gioenums.h /usr/include/glib-2.0/gio/gaction.h \
- /usr/include/glib-2.0/gio/gactiongroup.h \
- /usr/include/glib-2.0/gio/gactiongroupexporter.h \
- /usr/include/glib-2.0/gio/gactionmap.h \
- /usr/include/glib-2.0/gio/gappinfo.h \
- /usr/include/glib-2.0/gio/gapplication.h \
- /usr/include/glib-2.0/gio/gapplicationcommandline.h \
- /usr/include/glib-2.0/gio/gasyncinitable.h \
- /usr/include/glib-2.0/gio/ginitable.h \
- /usr/include/glib-2.0/gio/gasyncresult.h \
- /usr/include/glib-2.0/gio/gbufferedinputstream.h \
- /usr/include/glib-2.0/gio/gfilterinputstream.h \
- /usr/include/glib-2.0/gio/ginputstream.h \
- /usr/include/glib-2.0/gio/gbufferedoutputstream.h \
- /usr/include/glib-2.0/gio/gfilteroutputstream.h \
- /usr/include/glib-2.0/gio/goutputstream.h \
- /usr/include/glib-2.0/gio/gbytesicon.h \
- /usr/include/glib-2.0/gio/gcancellable.h \
- /usr/include/glib-2.0/gio/gcharsetconverter.h \
- /usr/include/glib-2.0/gio/gconverter.h \
- /usr/include/glib-2.0/gio/gcontenttype.h \
- /usr/include/glib-2.0/gio/gconverterinputstream.h \
- /usr/include/glib-2.0/gio/gconverteroutputstream.h \
- /usr/include/glib-2.0/gio/gcredentials.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 \
- /usr/include/glib-2.0/gio/gdatainputstream.h \
- /usr/include/glib-2.0/gio/gdataoutputstream.h \
- /usr/include/glib-2.0/gio/gdbusaddress.h \
- /usr/include/glib-2.0/gio/gdbusauthobserver.h \
- /usr/include/glib-2.0/gio/gdbusconnection.h \
- /usr/include/glib-2.0/gio/gdbuserror.h \
- /usr/include/glib-2.0/gio/gdbusintrospection.h \
- /usr/include/glib-2.0/gio/gdbusmessage.h \
- /usr/include/glib-2.0/gio/gdbusmethodinvocation.h \
- /usr/include/glib-2.0/gio/gdbusnameowning.h \
- /usr/include/glib-2.0/gio/gdbusnamewatching.h \
- /usr/include/glib-2.0/gio/gdbusproxy.h \
- /usr/include/glib-2.0/gio/gdbusserver.h \
- /usr/include/glib-2.0/gio/gdbusutils.h \
- /usr/include/glib-2.0/gio/gdrive.h \
- /usr/include/glib-2.0/gio/gemblemedicon.h \
- /usr/include/glib-2.0/gio/gicon.h /usr/include/glib-2.0/gio/gemblem.h \
- /usr/include/glib-2.0/gio/gfileattribute.h \
- /usr/include/glib-2.0/gio/gfileenumerator.h \
- /usr/include/glib-2.0/gio/gfile.h /usr/include/glib-2.0/gio/gfileicon.h \
- /usr/include/glib-2.0/gio/gfileinfo.h \
- /usr/include/glib-2.0/gio/gfileinputstream.h \
- /usr/include/glib-2.0/gio/gfileiostream.h \
- /usr/include/glib-2.0/gio/giostream.h \
- /usr/include/glib-2.0/gio/gioerror.h \
- /usr/include/glib-2.0/gio/gfilemonitor.h \
- /usr/include/glib-2.0/gio/gfilenamecompleter.h \
- /usr/include/glib-2.0/gio/gfileoutputstream.h \
- /usr/include/glib-2.0/gio/ginetaddress.h \
- /usr/include/glib-2.0/gio/ginetaddressmask.h \
- /usr/include/glib-2.0/gio/ginetsocketaddress.h \
- /usr/include/glib-2.0/gio/gsocketaddress.h \
- /usr/include/glib-2.0/gio/gioenumtypes.h \
- /usr/include/glib-2.0/gio/giomodule.h /usr/include/glib-2.0/gmodule.h \
- /usr/include/glib-2.0/gio/gioscheduler.h \
- /usr/include/glib-2.0/gio/gloadableicon.h \
- /usr/include/glib-2.0/gio/gmemoryinputstream.h \
- /usr/include/glib-2.0/gio/gmemoryoutputstream.h \
- /usr/include/glib-2.0/gio/gmount.h \
- /usr/include/glib-2.0/gio/gmountoperation.h \
- /usr/include/glib-2.0/gio/gnativevolumemonitor.h \
- /usr/include/glib-2.0/gio/gvolumemonitor.h \
- /usr/include/glib-2.0/gio/gnetworkaddress.h \
- /usr/include/glib-2.0/gio/gnetworkmonitor.h \
- /usr/include/glib-2.0/gio/gnetworkservice.h \
- /usr/include/glib-2.0/gio/gpermission.h \
- /usr/include/glib-2.0/gio/gpollableinputstream.h \
- /usr/include/glib-2.0/gio/gpollableoutputstream.h \
- /usr/include/glib-2.0/gio/gpollableutils.h \
- /usr/include/glib-2.0/gio/gpropertyaction.h \
- /usr/include/glib-2.0/gio/gproxy.h \
- /usr/include/glib-2.0/gio/gproxyaddress.h \
- /usr/include/glib-2.0/gio/gproxyaddressenumerator.h \
- /usr/include/glib-2.0/gio/gsocketaddressenumerator.h \
- /usr/include/glib-2.0/gio/gproxyresolver.h \
- /usr/include/glib-2.0/gio/gresolver.h \
- /usr/include/glib-2.0/gio/gresource.h \
- /usr/include/glib-2.0/gio/gseekable.h \
- /usr/include/glib-2.0/gio/gsettingsschema.h \
- /usr/include/glib-2.0/gio/gsettings.h \
- /usr/include/glib-2.0/gio/gsimpleaction.h \
- /usr/include/glib-2.0/gio/gsimpleactiongroup.h \
- /usr/include/glib-2.0/gio/gactiongroup.h \
- /usr/include/glib-2.0/gio/gactionmap.h \
- /usr/include/glib-2.0/gio/gsimpleasyncresult.h \
- /usr/include/glib-2.0/gio/gsimplepermission.h \
- /usr/include/glib-2.0/gio/gsocketclient.h \
- /usr/include/glib-2.0/gio/gsocketconnectable.h \
- /usr/include/glib-2.0/gio/gsocketconnection.h \
- /usr/include/glib-2.0/gio/gsocket.h \
- /usr/include/glib-2.0/gio/gsocketcontrolmessage.h \
- /usr/include/glib-2.0/gio/gsocketlistener.h \
- /usr/include/glib-2.0/gio/gsocketservice.h \
- /usr/include/glib-2.0/gio/gsrvtarget.h \
- /usr/include/glib-2.0/gio/gsimpleproxyresolver.h \
- /usr/include/glib-2.0/gio/gtask.h \
- /usr/include/glib-2.0/gio/gsubprocess.h \
- /usr/include/glib-2.0/gio/gsubprocesslauncher.h \
- /usr/include/glib-2.0/gio/gtcpconnection.h \
- /usr/include/glib-2.0/gio/gtcpwrapperconnection.h \
- /usr/include/glib-2.0/gio/gtestdbus.h \
- /usr/include/glib-2.0/gio/gthemedicon.h \
- /usr/include/glib-2.0/gio/gthreadedsocketservice.h \
- /usr/include/glib-2.0/gio/gtlsbackend.h \
- /usr/include/glib-2.0/gio/gtlscertificate.h \
- /usr/include/glib-2.0/gio/gtlsclientconnection.h \
- /usr/include/glib-2.0/gio/gtlsconnection.h \
- /usr/include/glib-2.0/gio/gtlsdatabase.h \
- /usr/include/glib-2.0/gio/gtlsfiledatabase.h \
- /usr/include/glib-2.0/gio/gtlsinteraction.h \
- /usr/include/glib-2.0/gio/gtlsserverconnection.h \
- /usr/include/glib-2.0/gio/gtlspassword.h \
- /usr/include/glib-2.0/gio/gvfs.h /usr/include/glib-2.0/gio/gvolume.h \
- /usr/include/glib-2.0/gio/gzlibcompressor.h \
- /usr/include/glib-2.0/gio/gzlibdecompressor.h \
- /usr/include/glib-2.0/gio/gdbusinterface.h \
- /usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h \
- /usr/include/glib-2.0/gio/gdbusobject.h \
- /usr/include/glib-2.0/gio/gdbusobjectskeleton.h \
- /usr/include/glib-2.0/gio/gdbusobjectproxy.h \
- /usr/include/glib-2.0/gio/gdbusobjectmanager.h \
- /usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h \
- /usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h \
- /usr/include/glib-2.0/gio/gdbusactiongroup.h \
- /usr/include/glib-2.0/gio/giotypes.h \
- /usr/include/glib-2.0/gio/gremoteactiongroup.h \
- /usr/include/glib-2.0/gio/gmenumodel.h /usr/include/glib-2.0/gio/gmenu.h \
- /usr/include/glib-2.0/gio/gmenuexporter.h \
- /usr/include/glib-2.0/gio/gdbusmenumodel.h \
- /usr/include/glib-2.0/gio/gnotification.h \
- /usr/include/gtk-2.0/gdk/gdkscreen.h /usr/include/cairo/cairo.h \
- /usr/include/cairo/cairo-version.h /usr/include/cairo/cairo-features.h \
- /usr/include/cairo/cairo-deprecated.h \
- /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/pango-1.0/pango/pango.h \
- /usr/include/pango-1.0/pango/pango-attributes.h \
- /usr/include/pango-1.0/pango/pango-font.h \
- /usr/include/pango-1.0/pango/pango-coverage.h \
- /usr/include/pango-1.0/pango/pango-types.h \
- /usr/include/pango-1.0/pango/pango-gravity.h \
- /usr/include/pango-1.0/pango/pango-matrix.h \
- /usr/include/pango-1.0/pango/pango-script.h \
- /usr/include/pango-1.0/pango/pango-language.h \
- /usr/include/pango-1.0/pango/pango-bidi-type.h \
- /usr/include/pango-1.0/pango/pango-break.h \
- /usr/include/pango-1.0/pango/pango-item.h \
- /usr/include/pango-1.0/pango/pango-context.h \
- /usr/include/pango-1.0/pango/pango-fontmap.h \
- /usr/include/pango-1.0/pango/pango-fontset.h \
- /usr/include/pango-1.0/pango/pango-engine.h \
- /usr/include/pango-1.0/pango/pango-glyph.h \
- /usr/include/pango-1.0/pango/pango-enum-types.h \
- /usr/include/pango-1.0/pango/pango-features.h \
- /usr/include/pango-1.0/pango/pango-glyph-item.h \
- /usr/include/pango-1.0/pango/pango-layout.h \
- /usr/include/pango-1.0/pango/pango-tabs.h \
- /usr/include/pango-1.0/pango/pango-renderer.h \
- /usr/include/pango-1.0/pango/pango-utils.h /usr/include/stdio.h \
+ src/ags/audio/file/ags_audio_file.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 /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/lib/gtk-2.0/include/gdkconfig.h \
- /usr/include/gtk-2.0/gdk/gdkdisplay.h \
- /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkcolor.h \
- /usr/include/gtk-2.0/gdk/gdkdnd.h /usr/include/gtk-2.0/gdk/gdkinput.h \
- /usr/include/gtk-2.0/gdk/gdkcairo.h /usr/include/gtk-2.0/gdk/gdkpixbuf.h \
- /usr/include/gtk-2.0/gdk/gdkrgb.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \
- /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \
- /usr/include/pango-1.0/pango/pangocairo.h \
- /usr/include/gtk-2.0/gdk/gdkcursor.h \
- /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \
- /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \
- /usr/include/gtk-2.0/gdk/gdkenumtypes.h \
- /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \
- /usr/include/gtk-2.0/gdk/gdkkeys.h /usr/include/gtk-2.0/gdk/gdkpango.h \
- /usr/include/gtk-2.0/gdk/gdkpixmap.h \
- /usr/include/gtk-2.0/gdk/gdkproperty.h \
- /usr/include/gtk-2.0/gdk/gdkregion.h \
- /usr/include/gtk-2.0/gdk/gdkselection.h \
- /usr/include/gtk-2.0/gdk/gdkspawn.h \
- /usr/include/gtk-2.0/gdk/gdktestutils.h \
- /usr/include/gtk-2.0/gdk/gdkwindow.h \
- /usr/include/gtk-2.0/gdk/gdkvisual.h \
- /usr/include/gtk-2.0/gtk/gtkaboutdialog.h \
- /usr/include/gtk-2.0/gtk/gtkdialog.h \
- /usr/include/gtk-2.0/gtk/gtkwindow.h \
- /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \
- /usr/include/gtk-2.0/gtk/gtkenums.h /usr/include/gtk-2.0/gtk/gtkbin.h \
- /usr/include/gtk-2.0/gtk/gtkcontainer.h \
- /usr/include/gtk-2.0/gtk/gtkwidget.h \
- /usr/include/gtk-2.0/gtk/gtkobject.h \
- /usr/include/gtk-2.0/gtk/gtktypeutils.h \
- /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \
- /usr/include/gtk-2.0/gtk/gtkdebug.h \
- /usr/include/gtk-2.0/gtk/gtkadjustment.h \
- /usr/include/gtk-2.0/gtk/gtkstyle.h \
- /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \
- /usr/include/atk-1.0/atk/atk.h /usr/include/atk-1.0/atk/atkobject.h \
- /usr/include/atk-1.0/atk/atkversion.h \
- /usr/include/atk-1.0/atk/atkstate.h \
- /usr/include/atk-1.0/atk/atkrelationtype.h \
- /usr/include/atk-1.0/atk/atkaction.h \
- /usr/include/atk-1.0/atk/atkcomponent.h \
- /usr/include/atk-1.0/atk/atkutil.h \
- /usr/include/atk-1.0/atk/atkdocument.h \
- /usr/include/atk-1.0/atk/atkeditabletext.h \
- /usr/include/atk-1.0/atk/atktext.h \
- /usr/include/atk-1.0/atk/atk-enum-types.h \
- /usr/include/atk-1.0/atk/atkgobjectaccessible.h \
- /usr/include/atk-1.0/atk/atkhyperlink.h \
- /usr/include/atk-1.0/atk/atkhyperlinkimpl.h \
- /usr/include/atk-1.0/atk/atkhypertext.h \
- /usr/include/atk-1.0/atk/atkimage.h \
- /usr/include/atk-1.0/atk/atknoopobject.h \
- /usr/include/atk-1.0/atk/atknoopobjectfactory.h \
- /usr/include/atk-1.0/atk/atkobjectfactory.h \
- /usr/include/atk-1.0/atk/atkplug.h /usr/include/atk-1.0/atk/atkrange.h \
- /usr/include/atk-1.0/atk/atkregistry.h \
- /usr/include/atk-1.0/atk/atkobjectfactory.h \
- /usr/include/atk-1.0/atk/atkrelation.h \
- /usr/include/atk-1.0/atk/atkrelationset.h \
- /usr/include/atk-1.0/atk/atkselection.h \
- /usr/include/atk-1.0/atk/atksocket.h \
- /usr/include/atk-1.0/atk/atkstateset.h \
- /usr/include/atk-1.0/atk/atkstreamablecontent.h \
- /usr/include/atk-1.0/atk/atktable.h \
- /usr/include/atk-1.0/atk/atktablecell.h \
- /usr/include/atk-1.0/atk/atkmisc.h /usr/include/atk-1.0/atk/atkvalue.h \
- /usr/include/atk-1.0/atk/atkwindow.h \
- /usr/include/gtk-2.0/gtk/gtkaccellabel.h \
- /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \
- /usr/include/gtk-2.0/gtk/gtkmenu.h \
- /usr/include/gtk-2.0/gtk/gtkmenushell.h \
- /usr/include/gtk-2.0/gtk/gtkaccelmap.h \
- /usr/include/gtk-2.0/gtk/gtkaccessible.h \
- /usr/include/gtk-2.0/gtk/gtkaction.h \
- /usr/include/gtk-2.0/gtk/gtkactiongroup.h \
- /usr/include/gtk-2.0/gtk/gtkactivatable.h \
- /usr/include/gtk-2.0/gtk/gtkalignment.h \
- /usr/include/gtk-2.0/gtk/gtkarrow.h \
- /usr/include/gtk-2.0/gtk/gtkaspectframe.h \
- /usr/include/gtk-2.0/gtk/gtkframe.h \
- /usr/include/gtk-2.0/gtk/gtkassistant.h \
- /usr/include/gtk-2.0/gtk/gtkbbox.h /usr/include/gtk-2.0/gtk/gtkbox.h \
- /usr/include/gtk-2.0/gtk/gtkbindings.h \
- /usr/include/gtk-2.0/gtk/gtkbuildable.h \
- /usr/include/gtk-2.0/gtk/gtkbuilder.h \
- /usr/include/gtk-2.0/gtk/gtkbutton.h /usr/include/gtk-2.0/gtk/gtkimage.h \
- /usr/include/gtk-2.0/gtk/gtkcalendar.h \
- /usr/include/gtk-2.0/gtk/gtksignal.h \
- /usr/include/gtk-2.0/gtk/gtkmarshal.h \
- /usr/include/gtk-2.0/gtk/gtkcelleditable.h \
- /usr/include/gtk-2.0/gtk/gtkcelllayout.h \
- /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \
- /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \
- /usr/include/gtk-2.0/gtk/gtktreemodel.h \
- /usr/include/gtk-2.0/gtk/gtktreesortable.h \
- /usr/include/gtk-2.0/gtk/gtkcellrendereraccel.h \
- /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \
- /usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h \
- /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \
- /usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h \
- /usr/include/gtk-2.0/gtk/gtkcellrendererspin.h \
- /usr/include/gtk-2.0/gtk/gtkcellrendererspinner.h \
- /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \
- /usr/include/gtk-2.0/gtk/gtkcellview.h \
- /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \
- /usr/include/gtk-2.0/gtk/gtktogglebutton.h \
- /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \
- /usr/include/gtk-2.0/gtk/gtkmenuitem.h \
- /usr/include/gtk-2.0/gtk/gtkitem.h \
- /usr/include/gtk-2.0/gtk/gtkclipboard.h \
- /usr/include/gtk-2.0/gtk/gtkselection.h \
- /usr/include/gtk-2.0/gtk/gtktextiter.h \
- /usr/include/gtk-2.0/gtk/gtktexttag.h \
- /usr/include/gtk-2.0/gtk/gtktextchild.h \
- /usr/include/gtk-2.0/gtk/gtkcolorbutton.h \
- /usr/include/gtk-2.0/gtk/gtkcolorsel.h \
- /usr/include/gtk-2.0/gtk/gtkvbox.h \
- /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \
- /usr/include/gtk-2.0/gtk/gtkcombobox.h \
- /usr/include/gtk-2.0/gtk/gtktreeview.h /usr/include/gtk-2.0/gtk/gtkdnd.h \
- /usr/include/gtk-2.0/gtk/gtkentry.h \
- /usr/include/gtk-2.0/gtk/gtkeditable.h \
- /usr/include/gtk-2.0/gtk/gtkimcontext.h \
- /usr/include/gtk-2.0/gtk/gtkentrybuffer.h \
- /usr/include/gtk-2.0/gtk/gtkentrycompletion.h \
- /usr/include/gtk-2.0/gtk/gtkliststore.h \
- /usr/include/gtk-2.0/gtk/gtktreemodelfilter.h \
- /usr/include/gtk-2.0/gtk/gtkcomboboxentry.h \
- /usr/include/gtk-2.0/gtk/gtkcomboboxtext.h \
- /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \
- /usr/include/gtk-2.0/gtk/gtkeventbox.h \
- /usr/include/gtk-2.0/gtk/gtkexpander.h \
- /usr/include/gtk-2.0/gtk/gtkfixed.h \
- /usr/include/gtk-2.0/gtk/gtkfilechooser.h \
- /usr/include/gtk-2.0/gtk/gtkfilefilter.h \
- /usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h \
- /usr/include/gtk-2.0/gtk/gtkhbox.h \
- /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h \
- /usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h \
- /usr/include/gtk-2.0/gtk/gtkfontbutton.h \
- /usr/include/gtk-2.0/gtk/gtkfontsel.h /usr/include/gtk-2.0/gtk/gtkgc.h \
- /usr/include/gtk-2.0/gtk/gtkhandlebox.h \
- /usr/include/gtk-2.0/gtk/gtkhbbox.h /usr/include/gtk-2.0/gtk/gtkhpaned.h \
- /usr/include/gtk-2.0/gtk/gtkpaned.h /usr/include/gtk-2.0/gtk/gtkhruler.h \
- /usr/include/gtk-2.0/gtk/gtkruler.h /usr/include/gtk-2.0/gtk/gtkhscale.h \
- /usr/include/gtk-2.0/gtk/gtkscale.h /usr/include/gtk-2.0/gtk/gtkrange.h \
- /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \
- /usr/include/gtk-2.0/gtk/gtkscrollbar.h \
- /usr/include/gtk-2.0/gtk/gtkhseparator.h \
- /usr/include/gtk-2.0/gtk/gtkseparator.h \
- /usr/include/gtk-2.0/gtk/gtkhsv.h \
- /usr/include/gtk-2.0/gtk/gtkiconfactory.h \
- /usr/include/gtk-2.0/gtk/gtkicontheme.h \
- /usr/include/gtk-2.0/gtk/gtkiconview.h \
- /usr/include/gtk-2.0/gtk/gtktooltip.h \
- /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \
- /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \
- /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \
- /usr/include/gtk-2.0/gtk/gtkinfobar.h \
- /usr/include/gtk-2.0/gtk/gtkinvisible.h \
- /usr/include/gtk-2.0/gtk/gtklayout.h \
- /usr/include/gtk-2.0/gtk/gtklinkbutton.h \
- /usr/include/gtk-2.0/gtk/gtkmain.h /usr/include/gtk-2.0/gtk/gtkmenubar.h \
- /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h \
- /usr/include/gtk-2.0/gtk/gtktoolbutton.h \
- /usr/include/gtk-2.0/gtk/gtktoolitem.h \
- /usr/include/gtk-2.0/gtk/gtktooltips.h \
- /usr/include/gtk-2.0/gtk/gtksizegroup.h \
- /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \
- /usr/include/gtk-2.0/gtk/gtkmodules.h \
- /usr/include/gtk-2.0/gtk/gtkmountoperation.h \
- /usr/include/gtk-2.0/gtk/gtknotebook.h \
- /usr/include/gtk-2.0/gtk/gtkoffscreenwindow.h \
- /usr/include/gtk-2.0/gtk/gtkorientable.h \
- /usr/include/gtk-2.0/gtk/gtkpagesetup.h \
- /usr/include/gtk-2.0/gtk/gtkpapersize.h \
- /usr/include/gtk-2.0/gtk/gtkplug.h /usr/include/gtk-2.0/gtk/gtksocket.h \
- /usr/include/gtk-2.0/gtk/gtkprintcontext.h \
- /usr/include/gtk-2.0/gtk/gtkprintoperation.h \
- /usr/include/gtk-2.0/gtk/gtkprintsettings.h \
- /usr/include/gtk-2.0/gtk/gtkprintoperationpreview.h \
- /usr/include/gtk-2.0/gtk/gtkprogressbar.h \
- /usr/include/gtk-2.0/gtk/gtkprogress.h \
- /usr/include/gtk-2.0/gtk/gtkradioaction.h \
- /usr/include/gtk-2.0/gtk/gtktoggleaction.h \
- /usr/include/gtk-2.0/gtk/gtkradiobutton.h \
- /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \
- /usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h \
- /usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h \
- /usr/include/gtk-2.0/gtk/gtkrecentaction.h \
- /usr/include/gtk-2.0/gtk/gtkrecentmanager.h \
- /usr/include/gtk-2.0/gtk/gtkrecentchooser.h \
- /usr/include/gtk-2.0/gtk/gtkrecentfilter.h \
- /usr/include/gtk-2.0/gtk/gtkrecentchooserdialog.h \
- /usr/include/gtk-2.0/gtk/gtkrecentchoosermenu.h \
- /usr/include/gtk-2.0/gtk/gtkrecentchooserwidget.h \
- /usr/include/gtk-2.0/gtk/gtkscalebutton.h \
- /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \
- /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \
- /usr/include/gtk-2.0/gtk/gtkviewport.h \
- /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \
- /usr/include/gtk-2.0/gtk/gtkseparatortoolitem.h \
- /usr/include/gtk-2.0/gtk/gtkshow.h \
- /usr/include/gtk-2.0/gtk/gtkspinbutton.h \
- /usr/include/gtk-2.0/gtk/gtkspinner.h \
- /usr/include/gtk-2.0/gtk/gtkstatusbar.h \
- /usr/include/gtk-2.0/gtk/gtkstatusicon.h \
- /usr/include/gtk-2.0/gtk/gtkstock.h /usr/include/gtk-2.0/gtk/gtktable.h \
- /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \
- /usr/include/gtk-2.0/gtk/gtktextbuffer.h \
- /usr/include/gtk-2.0/gtk/gtktexttagtable.h \
- /usr/include/gtk-2.0/gtk/gtktextmark.h \
- /usr/include/gtk-2.0/gtk/gtktextbufferrichtext.h \
- /usr/include/gtk-2.0/gtk/gtktextview.h \
- /usr/include/gtk-2.0/gtk/gtktoolbar.h \
- /usr/include/gtk-2.0/gtk/gtkpixmap.h \
- /usr/include/gtk-2.0/gtk/gtktoolitemgroup.h \
- /usr/include/gtk-2.0/gtk/gtktoolpalette.h \
- /usr/include/gtk-2.0/gtk/gtktoolshell.h \
- /usr/include/gtk-2.0/gtk/gtktestutils.h \
- /usr/include/gtk-2.0/gtk/gtktreednd.h \
- /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \
- /usr/include/gtk-2.0/gtk/gtktreeselection.h \
- /usr/include/gtk-2.0/gtk/gtktreestore.h \
- /usr/include/gtk-2.0/gtk/gtkuimanager.h \
- /usr/include/gtk-2.0/gtk/gtkvbbox.h \
- /usr/include/gtk-2.0/gtk/gtkversion.h \
- /usr/include/gtk-2.0/gtk/gtkvolumebutton.h \
- /usr/include/gtk-2.0/gtk/gtkvpaned.h \
- /usr/include/gtk-2.0/gtk/gtkvruler.h \
- /usr/include/gtk-2.0/gtk/gtkvscale.h \
- /usr/include/gtk-2.0/gtk/gtkvseparator.h \
- /usr/include/gtk-2.0/gtk/gtktext.h /usr/include/gtk-2.0/gtk/gtktree.h \
- /usr/include/gtk-2.0/gtk/gtktreeitem.h \
- /usr/include/gtk-2.0/gtk/gtkclist.h /usr/include/gtk-2.0/gtk/gtkcombo.h \
- /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \
- /usr/include/gtk-2.0/gtk/gtkfilesel.h \
- /usr/include/gtk-2.0/gtk/gtkgamma.h \
- /usr/include/gtk-2.0/gtk/gtkinputdialog.h \
- /usr/include/gtk-2.0/gtk/gtkitemfactory.h \
- /usr/include/gtk-2.0/gtk/gtklist.h \
- /usr/include/gtk-2.0/gtk/gtklistitem.h \
- /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/audio/ags_devout.h \
- /usr/include/alsa/asoundlib.h /usr/include/stdlib.h \
- /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
- /usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \
- /usr/include/bits/stdlib-float.h /usr/include/string.h \
- /usr/include/bits/string.h /usr/include/bits/string2.h \
- /usr/include/fcntl.h /usr/include/bits/fcntl.h \
- /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \
- /usr/include/assert.h /usr/include/sys/poll.h /usr/include/bits/poll.h \
- /usr/include/errno.h /usr/include/bits/errno.h \
- /usr/include/linux/errno.h /usr/include/asm/errno.h \
- /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
- /usr/include/alsa/asoundef.h /usr/include/alsa/version.h \
- /usr/include/alsa/global.h /usr/include/alsa/input.h \
- /usr/include/alsa/output.h /usr/include/alsa/error.h \
- /usr/include/alsa/conf.h /usr/include/alsa/pcm.h \
- /usr/include/alsa/rawmidi.h /usr/include/alsa/timer.h \
- /usr/include/alsa/hwdep.h /usr/include/alsa/control.h \
- /usr/include/alsa/mixer.h /usr/include/alsa/seq_event.h \
- /usr/include/alsa/seq.h /usr/include/alsa/seqmid.h \
- /usr/include/alsa/seq_midi_event.h src/ags/thread/ags_audio_loop.h \
- /usr/include/math.h /usr/include/bits/huge_val.h \
- /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 \
- /usr/include/bits/mathinline.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/thread/ags_task_thread.h src/ags/thread/ags_thread_pool.h \
- src/ags/object/ags_main_loop.h src/ags/object/ags_application_context.h \
- src/ags/lib/ags_log.h src/ags/object/ags_config.h \
- src/ags/file/ags_file.h /usr/include/libxml2/libxml/tree.h \
- /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/bits/stdio.h /usr/include/libxml2/libxml/xmlversion.h \
  /usr/include/libxml2/libxml/xmlexports.h \
  /usr/include/libxml2/libxml/xmlstring.h \
  /usr/include/libxml2/libxml/xmlregexp.h \
@@ -581,31 +125,13 @@ libags_audio_a-ags_export_output.o: \
  /usr/include/libxml2/libxml/entities.h \
  /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
  /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
  /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.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 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 src/ags/thread/ags_timestamp_thread.h \
- src/ags/audio/ags_timestamp.h src/ags/audio/ags_note.h \
- src/ags/X/ags_automation_editor.h \
- src/ags/X/editor/ags_automation_toolbar.h \
- src/ags/X/editor/ags_port_selection.h src/ags/X/editor/ags_notebook.h \
- src/ags/X/editor/ags_machine_selector.h src/ags/X/ags_machine.h \
- src/ags/audio/ags_audio.h src/ags/X/editor/ags_automation_edit.h \
- src/ags/widget/ags_ruler.h src/ags/audio/ags_automation.h \
- src/ags/audio/ags_acceleration.h src/ags/X/ags_menu_bar.h \
- src/ags/X/ags_editor.h src/ags/X/editor/ags_toolbar.h \
- src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_soundset.h \
- src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_pattern_edit.h \
- src/ags/X/ags_navigation.h src/ags/X/ags_export_window.h \
- 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-lib/object/ags_connectable.h \
- src/ags/main.h
+ src/ags/object/ags_soundcard.h src/ags/object/ags_application_context.h \
+ src/ags/lib/ags_log.h src/ags/object/ags_config.h \
+ src/ags/file/ags_file.h
 
 /usr/include/stdc-predef.h:
 
@@ -887,373 +413,17 @@ src/ags/audio/task/ags_export_output.h:
 
 /usr/include/glib-2.0/gobject/gvaluetypes.h:
 
+src/ags/audio/ags_task.h:
+
 src/ags/thread/ags_export_thread.h:
 
 src/ags/thread/ags_thread-posix.h:
 
 src/ags/audio/file/ags_audio_file.h:
 
-src/ags/X/ags_window.h:
-
-/usr/include/gtk-2.0/gtk/gtk.h:
-
-/usr/include/gtk-2.0/gdk/gdk.h:
-
-/usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:
-
-/usr/include/glib-2.0/gio/gio.h:
-
-/usr/include/glib-2.0/gio/giotypes.h:
-
-/usr/include/glib-2.0/gio/gioenums.h:
-
-/usr/include/glib-2.0/gio/gaction.h:
-
-/usr/include/glib-2.0/gio/gactiongroup.h:
-
-/usr/include/glib-2.0/gio/gactiongroupexporter.h:
-
-/usr/include/glib-2.0/gio/gactionmap.h:
-
-/usr/include/glib-2.0/gio/gappinfo.h:
-
-/usr/include/glib-2.0/gio/gapplication.h:
-
-/usr/include/glib-2.0/gio/gapplicationcommandline.h:
-
-/usr/include/glib-2.0/gio/gasyncinitable.h:
-
-/usr/include/glib-2.0/gio/ginitable.h:
-
-/usr/include/glib-2.0/gio/gasyncresult.h:
-
-/usr/include/glib-2.0/gio/gbufferedinputstream.h:
-
-/usr/include/glib-2.0/gio/gfilterinputstream.h:
-
-/usr/include/glib-2.0/gio/ginputstream.h:
-
-/usr/include/glib-2.0/gio/gbufferedoutputstream.h:
-
-/usr/include/glib-2.0/gio/gfilteroutputstream.h:
-
-/usr/include/glib-2.0/gio/goutputstream.h:
-
-/usr/include/glib-2.0/gio/gbytesicon.h:
-
-/usr/include/glib-2.0/gio/gcancellable.h:
-
-/usr/include/glib-2.0/gio/gcharsetconverter.h:
-
-/usr/include/glib-2.0/gio/gconverter.h:
-
-/usr/include/glib-2.0/gio/gcontenttype.h:
-
-/usr/include/glib-2.0/gio/gconverterinputstream.h:
-
-/usr/include/glib-2.0/gio/gconverteroutputstream.h:
-
-/usr/include/glib-2.0/gio/gcredentials.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:
-
-/usr/include/glib-2.0/gio/gdatainputstream.h:
-
-/usr/include/glib-2.0/gio/gdataoutputstream.h:
-
-/usr/include/glib-2.0/gio/gdbusaddress.h:
-
-/usr/include/glib-2.0/gio/gdbusauthobserver.h:
-
-/usr/include/glib-2.0/gio/gdbusconnection.h:
-
-/usr/include/glib-2.0/gio/gdbuserror.h:
-
-/usr/include/glib-2.0/gio/gdbusintrospection.h:
-
-/usr/include/glib-2.0/gio/gdbusmessage.h:
-
-/usr/include/glib-2.0/gio/gdbusmethodinvocation.h:
-
-/usr/include/glib-2.0/gio/gdbusnameowning.h:
-
-/usr/include/glib-2.0/gio/gdbusnamewatching.h:
-
-/usr/include/glib-2.0/gio/gdbusproxy.h:
-
-/usr/include/glib-2.0/gio/gdbusserver.h:
-
-/usr/include/glib-2.0/gio/gdbusutils.h:
-
-/usr/include/glib-2.0/gio/gdrive.h:
-
-/usr/include/glib-2.0/gio/gemblemedicon.h:
-
-/usr/include/glib-2.0/gio/gicon.h:
-
-/usr/include/glib-2.0/gio/gemblem.h:
-
-/usr/include/glib-2.0/gio/gfileattribute.h:
-
-/usr/include/glib-2.0/gio/gfileenumerator.h:
-
-/usr/include/glib-2.0/gio/gfile.h:
-
-/usr/include/glib-2.0/gio/gfileicon.h:
-
-/usr/include/glib-2.0/gio/gfileinfo.h:
-
-/usr/include/glib-2.0/gio/gfileinputstream.h:
-
-/usr/include/glib-2.0/gio/gfileiostream.h:
-
-/usr/include/glib-2.0/gio/giostream.h:
-
-/usr/include/glib-2.0/gio/gioerror.h:
-
-/usr/include/glib-2.0/gio/gfilemonitor.h:
-
-/usr/include/glib-2.0/gio/gfilenamecompleter.h:
-
-/usr/include/glib-2.0/gio/gfileoutputstream.h:
-
-/usr/include/glib-2.0/gio/ginetaddress.h:
-
-/usr/include/glib-2.0/gio/ginetaddressmask.h:
-
-/usr/include/glib-2.0/gio/ginetsocketaddress.h:
-
-/usr/include/glib-2.0/gio/gsocketaddress.h:
-
-/usr/include/glib-2.0/gio/gioenumtypes.h:
-
-/usr/include/glib-2.0/gio/giomodule.h:
-
-/usr/include/glib-2.0/gmodule.h:
-
-/usr/include/glib-2.0/gio/gioscheduler.h:
-
-/usr/include/glib-2.0/gio/gloadableicon.h:
-
-/usr/include/glib-2.0/gio/gmemoryinputstream.h:
-
-/usr/include/glib-2.0/gio/gmemoryoutputstream.h:
-
-/usr/include/glib-2.0/gio/gmount.h:
-
-/usr/include/glib-2.0/gio/gmountoperation.h:
-
-/usr/include/glib-2.0/gio/gnativevolumemonitor.h:
-
-/usr/include/glib-2.0/gio/gvolumemonitor.h:
-
-/usr/include/glib-2.0/gio/gnetworkaddress.h:
-
-/usr/include/glib-2.0/gio/gnetworkmonitor.h:
-
-/usr/include/glib-2.0/gio/gnetworkservice.h:
-
-/usr/include/glib-2.0/gio/gpermission.h:
-
-/usr/include/glib-2.0/gio/gpollableinputstream.h:
-
-/usr/include/glib-2.0/gio/gpollableoutputstream.h:
-
-/usr/include/glib-2.0/gio/gpollableutils.h:
-
-/usr/include/glib-2.0/gio/gpropertyaction.h:
-
-/usr/include/glib-2.0/gio/gproxy.h:
-
-/usr/include/glib-2.0/gio/gproxyaddress.h:
-
-/usr/include/glib-2.0/gio/gproxyaddressenumerator.h:
-
-/usr/include/glib-2.0/gio/gsocketaddressenumerator.h:
-
-/usr/include/glib-2.0/gio/gproxyresolver.h:
-
-/usr/include/glib-2.0/gio/gresolver.h:
-
-/usr/include/glib-2.0/gio/gresource.h:
-
-/usr/include/glib-2.0/gio/gseekable.h:
-
-/usr/include/glib-2.0/gio/gsettingsschema.h:
-
-/usr/include/glib-2.0/gio/gsettings.h:
-
-/usr/include/glib-2.0/gio/gsimpleaction.h:
-
-/usr/include/glib-2.0/gio/gsimpleactiongroup.h:
-
-/usr/include/glib-2.0/gio/gactiongroup.h:
-
-/usr/include/glib-2.0/gio/gactionmap.h:
-
-/usr/include/glib-2.0/gio/gsimpleasyncresult.h:
-
-/usr/include/glib-2.0/gio/gsimplepermission.h:
-
-/usr/include/glib-2.0/gio/gsocketclient.h:
-
-/usr/include/glib-2.0/gio/gsocketconnectable.h:
-
-/usr/include/glib-2.0/gio/gsocketconnection.h:
-
-/usr/include/glib-2.0/gio/gsocket.h:
-
-/usr/include/glib-2.0/gio/gsocketcontrolmessage.h:
-
-/usr/include/glib-2.0/gio/gsocketlistener.h:
-
-/usr/include/glib-2.0/gio/gsocketservice.h:
-
-/usr/include/glib-2.0/gio/gsrvtarget.h:
-
-/usr/include/glib-2.0/gio/gsimpleproxyresolver.h:
-
-/usr/include/glib-2.0/gio/gtask.h:
-
-/usr/include/glib-2.0/gio/gsubprocess.h:
-
-/usr/include/glib-2.0/gio/gsubprocesslauncher.h:
-
-/usr/include/glib-2.0/gio/gtcpconnection.h:
-
-/usr/include/glib-2.0/gio/gtcpwrapperconnection.h:
-
-/usr/include/glib-2.0/gio/gtestdbus.h:
-
-/usr/include/glib-2.0/gio/gthemedicon.h:
-
-/usr/include/glib-2.0/gio/gthreadedsocketservice.h:
-
-/usr/include/glib-2.0/gio/gtlsbackend.h:
-
-/usr/include/glib-2.0/gio/gtlscertificate.h:
-
-/usr/include/glib-2.0/gio/gtlsclientconnection.h:
-
-/usr/include/glib-2.0/gio/gtlsconnection.h:
-
-/usr/include/glib-2.0/gio/gtlsdatabase.h:
-
-/usr/include/glib-2.0/gio/gtlsfiledatabase.h:
-
-/usr/include/glib-2.0/gio/gtlsinteraction.h:
-
-/usr/include/glib-2.0/gio/gtlsserverconnection.h:
-
-/usr/include/glib-2.0/gio/gtlspassword.h:
-
-/usr/include/glib-2.0/gio/gvfs.h:
-
-/usr/include/glib-2.0/gio/gvolume.h:
-
-/usr/include/glib-2.0/gio/gzlibcompressor.h:
-
-/usr/include/glib-2.0/gio/gzlibdecompressor.h:
-
-/usr/include/glib-2.0/gio/gdbusinterface.h:
-
-/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h:
-
-/usr/include/glib-2.0/gio/gdbusobject.h:
-
-/usr/include/glib-2.0/gio/gdbusobjectskeleton.h:
-
-/usr/include/glib-2.0/gio/gdbusobjectproxy.h:
-
-/usr/include/glib-2.0/gio/gdbusobjectmanager.h:
-
-/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h:
-
-/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h:
-
-/usr/include/glib-2.0/gio/gdbusactiongroup.h:
-
-/usr/include/glib-2.0/gio/giotypes.h:
-
-/usr/include/glib-2.0/gio/gremoteactiongroup.h:
-
-/usr/include/glib-2.0/gio/gmenumodel.h:
-
-/usr/include/glib-2.0/gio/gmenu.h:
-
-/usr/include/glib-2.0/gio/gmenuexporter.h:
-
-/usr/include/glib-2.0/gio/gdbusmenumodel.h:
-
-/usr/include/glib-2.0/gio/gnotification.h:
-
-/usr/include/gtk-2.0/gdk/gdkscreen.h:
-
-/usr/include/cairo/cairo.h:
-
-/usr/include/cairo/cairo-version.h:
-
-/usr/include/cairo/cairo-features.h:
-
-/usr/include/cairo/cairo-deprecated.h:
-
-/usr/include/gtk-2.0/gdk/gdktypes.h:
-
-/usr/include/pango-1.0/pango/pango.h:
-
-/usr/include/pango-1.0/pango/pango-attributes.h:
-
-/usr/include/pango-1.0/pango/pango-font.h:
-
-/usr/include/pango-1.0/pango/pango-coverage.h:
-
-/usr/include/pango-1.0/pango/pango-types.h:
-
-/usr/include/pango-1.0/pango/pango-gravity.h:
-
-/usr/include/pango-1.0/pango/pango-matrix.h:
-
-/usr/include/pango-1.0/pango/pango-script.h:
-
-/usr/include/pango-1.0/pango/pango-language.h:
-
-/usr/include/pango-1.0/pango/pango-bidi-type.h:
-
-/usr/include/pango-1.0/pango/pango-break.h:
-
-/usr/include/pango-1.0/pango/pango-item.h:
-
-/usr/include/pango-1.0/pango/pango-context.h:
-
-/usr/include/pango-1.0/pango/pango-fontmap.h:
-
-/usr/include/pango-1.0/pango/pango-fontset.h:
-
-/usr/include/pango-1.0/pango/pango-engine.h:
-
-/usr/include/pango-1.0/pango/pango-glyph.h:
-
-/usr/include/pango-1.0/pango/pango-enum-types.h:
-
-/usr/include/pango-1.0/pango/pango-features.h:
-
-/usr/include/pango-1.0/pango/pango-glyph-item.h:
-
-/usr/include/pango-1.0/pango/pango-layout.h:
-
-/usr/include/pango-1.0/pango/pango-tabs.h:
-
-/usr/include/pango-1.0/pango/pango-renderer.h:
+src/ags-lib/object/ags_connectable.h:
 
-/usr/include/pango-1.0/pango/pango-utils.h:
+/usr/include/libxml2/libxml/tree.h:
 
 /usr/include/stdio.h:
 
@@ -1269,840 +439,66 @@ src/ags/X/ags_window.h:
 
 /usr/include/bits/stdio.h:
 
-/usr/lib/gtk-2.0/include/gdkconfig.h:
-
-/usr/include/gtk-2.0/gdk/gdkdisplay.h:
-
-/usr/include/gtk-2.0/gdk/gdkevents.h:
-
-/usr/include/gtk-2.0/gdk/gdkcolor.h:
-
-/usr/include/gtk-2.0/gdk/gdkdnd.h:
-
-/usr/include/gtk-2.0/gdk/gdkinput.h:
-
-/usr/include/gtk-2.0/gdk/gdkcairo.h:
-
-/usr/include/gtk-2.0/gdk/gdkpixbuf.h:
-
-/usr/include/gtk-2.0/gdk/gdkrgb.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h:
-
-/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h:
-
-/usr/include/pango-1.0/pango/pangocairo.h:
-
-/usr/include/gtk-2.0/gdk/gdkcursor.h:
-
-/usr/include/gtk-2.0/gdk/gdkdisplaymanager.h:
-
-/usr/include/gtk-2.0/gdk/gdkdrawable.h:
-
-/usr/include/gtk-2.0/gdk/gdkgc.h:
-
-/usr/include/gtk-2.0/gdk/gdkenumtypes.h:
-
-/usr/include/gtk-2.0/gdk/gdkfont.h:
-
-/usr/include/gtk-2.0/gdk/gdkimage.h:
-
-/usr/include/gtk-2.0/gdk/gdkkeys.h:
-
-/usr/include/gtk-2.0/gdk/gdkpango.h:
-
-/usr/include/gtk-2.0/gdk/gdkpixmap.h:
-
-/usr/include/gtk-2.0/gdk/gdkproperty.h:
-
-/usr/include/gtk-2.0/gdk/gdkregion.h:
-
-/usr/include/gtk-2.0/gdk/gdkselection.h:
-
-/usr/include/gtk-2.0/gdk/gdkspawn.h:
-
-/usr/include/gtk-2.0/gdk/gdktestutils.h:
-
-/usr/include/gtk-2.0/gdk/gdkwindow.h:
-
-/usr/include/gtk-2.0/gdk/gdkvisual.h:
-
-/usr/include/gtk-2.0/gtk/gtkaboutdialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkdialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkwindow.h:
-
-/usr/include/gtk-2.0/gtk/gtkaccelgroup.h:
-
-/usr/include/gtk-2.0/gtk/gtkenums.h:
-
-/usr/include/gtk-2.0/gtk/gtkbin.h:
+/usr/include/libxml2/libxml/xmlversion.h:
 
-/usr/include/gtk-2.0/gtk/gtkcontainer.h:
+/usr/include/libxml2/libxml/xmlexports.h:
 
-/usr/include/gtk-2.0/gtk/gtkwidget.h:
+/usr/include/libxml2/libxml/xmlstring.h:
 
-/usr/include/gtk-2.0/gtk/gtkobject.h:
+/usr/include/libxml2/libxml/xmlregexp.h:
 
-/usr/include/gtk-2.0/gtk/gtktypeutils.h:
+/usr/include/libxml2/libxml/dict.h:
 
-/usr/include/gtk-2.0/gtk/gtktypebuiltins.h:
+/usr/include/libxml2/libxml/xmlmemory.h:
 
-/usr/include/gtk-2.0/gtk/gtkdebug.h:
+/usr/include/libxml2/libxml/threads.h:
 
-/usr/include/gtk-2.0/gtk/gtkadjustment.h:
+/usr/include/libxml2/libxml/globals.h:
 
-/usr/include/gtk-2.0/gtk/gtkstyle.h:
+/usr/include/libxml2/libxml/parser.h:
 
-/usr/include/gtk-2.0/gtk/gtksettings.h:
+/usr/include/libxml2/libxml/hash.h:
 
-/usr/include/gtk-2.0/gtk/gtkrc.h:
+/usr/include/libxml2/libxml/valid.h:
 
-/usr/include/atk-1.0/atk/atk.h:
+/usr/include/libxml2/libxml/xmlerror.h:
 
-/usr/include/atk-1.0/atk/atkobject.h:
+/usr/include/libxml2/libxml/list.h:
 
-/usr/include/atk-1.0/atk/atkversion.h:
+/usr/include/libxml2/libxml/xmlautomata.h:
 
-/usr/include/atk-1.0/atk/atkstate.h:
+/usr/include/libxml2/libxml/entities.h:
 
-/usr/include/atk-1.0/atk/atkrelationtype.h:
+/usr/include/libxml2/libxml/encoding.h:
 
-/usr/include/atk-1.0/atk/atkaction.h:
+/usr/include/iconv.h:
 
-/usr/include/atk-1.0/atk/atkcomponent.h:
+/usr/include/libxml2/libxml/xmlIO.h:
 
-/usr/include/atk-1.0/atk/atkutil.h:
+/usr/include/libxml2/libxml/SAX.h:
 
-/usr/include/atk-1.0/atk/atkdocument.h:
+/usr/include/stdlib.h:
 
-/usr/include/atk-1.0/atk/atkeditabletext.h:
+/usr/include/bits/waitflags.h:
 
-/usr/include/atk-1.0/atk/atktext.h:
+/usr/include/bits/waitstatus.h:
 
-/usr/include/atk-1.0/atk/atk-enum-types.h:
+/usr/include/alloca.h:
 
-/usr/include/atk-1.0/atk/atkgobjectaccessible.h:
+/usr/include/bits/stdlib-bsearch.h:
 
-/usr/include/atk-1.0/atk/atkhyperlink.h:
+/usr/include/bits/stdlib-float.h:
 
-/usr/include/atk-1.0/atk/atkhyperlinkimpl.h:
+/usr/include/libxml2/libxml/xlink.h:
 
-/usr/include/atk-1.0/atk/atkhypertext.h:
+/usr/include/libxml2/libxml/SAX2.h:
 
-/usr/include/atk-1.0/atk/atkimage.h:
+src/ags/object/ags_soundcard.h:
 
-/usr/include/atk-1.0/atk/atknoopobject.h:
+src/ags/object/ags_application_context.h:
 
-/usr/include/atk-1.0/atk/atknoopobjectfactory.h:
+src/ags/lib/ags_log.h:
 
-/usr/include/atk-1.0/atk/atkobjectfactory.h:
-
-/usr/include/atk-1.0/atk/atkplug.h:
-
-/usr/include/atk-1.0/atk/atkrange.h:
-
-/usr/include/atk-1.0/atk/atkregistry.h:
-
-/usr/include/atk-1.0/atk/atkobjectfactory.h:
-
-/usr/include/atk-1.0/atk/atkrelation.h:
-
-/usr/include/atk-1.0/atk/atkrelationset.h:
-
-/usr/include/atk-1.0/atk/atkselection.h:
-
-/usr/include/atk-1.0/atk/atksocket.h:
-
-/usr/include/atk-1.0/atk/atkstateset.h:
-
-/usr/include/atk-1.0/atk/atkstreamablecontent.h:
-
-/usr/include/atk-1.0/atk/atktable.h:
-
-/usr/include/atk-1.0/atk/atktablecell.h:
-
-/usr/include/atk-1.0/atk/atkmisc.h:
-
-/usr/include/atk-1.0/atk/atkvalue.h:
-
-/usr/include/atk-1.0/atk/atkwindow.h:
-
-/usr/include/gtk-2.0/gtk/gtkaccellabel.h:
-
-/usr/include/gtk-2.0/gtk/gtklabel.h:
-
-/usr/include/gtk-2.0/gtk/gtkmisc.h:
-
-/usr/include/gtk-2.0/gtk/gtkmenu.h:
-
-/usr/include/gtk-2.0/gtk/gtkmenushell.h:
-
-/usr/include/gtk-2.0/gtk/gtkaccelmap.h:
-
-/usr/include/gtk-2.0/gtk/gtkaccessible.h:
-
-/usr/include/gtk-2.0/gtk/gtkaction.h:
-
-/usr/include/gtk-2.0/gtk/gtkactiongroup.h:
-
-/usr/include/gtk-2.0/gtk/gtkactivatable.h:
-
-/usr/include/gtk-2.0/gtk/gtkalignment.h:
-
-/usr/include/gtk-2.0/gtk/gtkarrow.h:
-
-/usr/include/gtk-2.0/gtk/gtkaspectframe.h:
-
-/usr/include/gtk-2.0/gtk/gtkframe.h:
-
-/usr/include/gtk-2.0/gtk/gtkassistant.h:
-
-/usr/include/gtk-2.0/gtk/gtkbbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkbindings.h:
-
-/usr/include/gtk-2.0/gtk/gtkbuildable.h:
-
-/usr/include/gtk-2.0/gtk/gtkbuilder.h:
-
-/usr/include/gtk-2.0/gtk/gtkbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkimage.h:
-
-/usr/include/gtk-2.0/gtk/gtkcalendar.h:
-
-/usr/include/gtk-2.0/gtk/gtksignal.h:
-
-/usr/include/gtk-2.0/gtk/gtkmarshal.h:
-
-/usr/include/gtk-2.0/gtk/gtkcelleditable.h:
-
-/usr/include/gtk-2.0/gtk/gtkcelllayout.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrenderer.h:
-
-/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h:
-
-/usr/include/gtk-2.0/gtk/gtktreemodel.h:
-
-/usr/include/gtk-2.0/gtk/gtktreesortable.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrendereraccel.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrendererspin.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrendererspinner.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h:
-
-/usr/include/gtk-2.0/gtk/gtkcellview.h:
-
-/usr/include/gtk-2.0/gtk/gtkcheckbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtktogglebutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkmenuitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkclipboard.h:
-
-/usr/include/gtk-2.0/gtk/gtkselection.h:
-
-/usr/include/gtk-2.0/gtk/gtktextiter.h:
-
-/usr/include/gtk-2.0/gtk/gtktexttag.h:
-
-/usr/include/gtk-2.0/gtk/gtktextchild.h:
-
-/usr/include/gtk-2.0/gtk/gtkcolorbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkcolorsel.h:
-
-/usr/include/gtk-2.0/gtk/gtkvbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkcombobox.h:
-
-/usr/include/gtk-2.0/gtk/gtktreeview.h:
-
-/usr/include/gtk-2.0/gtk/gtkdnd.h:
-
-/usr/include/gtk-2.0/gtk/gtkentry.h:
-
-/usr/include/gtk-2.0/gtk/gtkeditable.h:
-
-/usr/include/gtk-2.0/gtk/gtkimcontext.h:
-
-/usr/include/gtk-2.0/gtk/gtkentrybuffer.h:
-
-/usr/include/gtk-2.0/gtk/gtkentrycompletion.h:
-
-/usr/include/gtk-2.0/gtk/gtkliststore.h:
-
-/usr/include/gtk-2.0/gtk/gtktreemodelfilter.h:
-
-/usr/include/gtk-2.0/gtk/gtkcomboboxentry.h:
-
-/usr/include/gtk-2.0/gtk/gtkcomboboxtext.h:
-
-/usr/include/gtk-2.0/gtk/gtkdrawingarea.h:
-
-/usr/include/gtk-2.0/gtk/gtkeventbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkexpander.h:
-
-/usr/include/gtk-2.0/gtk/gtkfixed.h:
-
-/usr/include/gtk-2.0/gtk/gtkfilechooser.h:
-
-/usr/include/gtk-2.0/gtk/gtkfilefilter.h:
-
-/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkhbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h:
-
-/usr/include/gtk-2.0/gtk/gtkfontbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkfontsel.h:
-
-/usr/include/gtk-2.0/gtk/gtkgc.h:
-
-/usr/include/gtk-2.0/gtk/gtkhandlebox.h:
-
-/usr/include/gtk-2.0/gtk/gtkhbbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkhpaned.h:
-
-/usr/include/gtk-2.0/gtk/gtkpaned.h:
-
-/usr/include/gtk-2.0/gtk/gtkhruler.h:
-
-/usr/include/gtk-2.0/gtk/gtkruler.h:
-
-/usr/include/gtk-2.0/gtk/gtkhscale.h:
-
-/usr/include/gtk-2.0/gtk/gtkscale.h:
-
-/usr/include/gtk-2.0/gtk/gtkrange.h:
-
-/usr/include/gtk-2.0/gtk/gtkhscrollbar.h:
-
-/usr/include/gtk-2.0/gtk/gtkscrollbar.h:
-
-/usr/include/gtk-2.0/gtk/gtkhseparator.h:
-
-/usr/include/gtk-2.0/gtk/gtkseparator.h:
-
-/usr/include/gtk-2.0/gtk/gtkhsv.h:
-
-/usr/include/gtk-2.0/gtk/gtkiconfactory.h:
-
-/usr/include/gtk-2.0/gtk/gtkicontheme.h:
-
-/usr/include/gtk-2.0/gtk/gtkiconview.h:
-
-/usr/include/gtk-2.0/gtk/gtktooltip.h:
-
-/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h:
-
-/usr/include/gtk-2.0/gtk/gtkimmulticontext.h:
-
-/usr/include/gtk-2.0/gtk/gtkinfobar.h:
-
-/usr/include/gtk-2.0/gtk/gtkinvisible.h:
-
-/usr/include/gtk-2.0/gtk/gtklayout.h:
-
-/usr/include/gtk-2.0/gtk/gtklinkbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkmain.h:
-
-/usr/include/gtk-2.0/gtk/gtkmenubar.h:
-
-/usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtktoolbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtktoolitem.h:
-
-/usr/include/gtk-2.0/gtk/gtktooltips.h:
-
-/usr/include/gtk-2.0/gtk/gtksizegroup.h:
-
-/usr/include/gtk-2.0/gtk/gtkmessagedialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkmodules.h:
-
-/usr/include/gtk-2.0/gtk/gtkmountoperation.h:
-
-/usr/include/gtk-2.0/gtk/gtknotebook.h:
-
-/usr/include/gtk-2.0/gtk/gtkoffscreenwindow.h:
-
-/usr/include/gtk-2.0/gtk/gtkorientable.h:
-
-/usr/include/gtk-2.0/gtk/gtkpagesetup.h:
-
-/usr/include/gtk-2.0/gtk/gtkpapersize.h:
-
-/usr/include/gtk-2.0/gtk/gtkplug.h:
-
-/usr/include/gtk-2.0/gtk/gtksocket.h:
-
-/usr/include/gtk-2.0/gtk/gtkprintcontext.h:
-
-/usr/include/gtk-2.0/gtk/gtkprintoperation.h:
-
-/usr/include/gtk-2.0/gtk/gtkprintsettings.h:
-
-/usr/include/gtk-2.0/gtk/gtkprintoperationpreview.h:
-
-/usr/include/gtk-2.0/gtk/gtkprogressbar.h:
-
-/usr/include/gtk-2.0/gtk/gtkprogress.h:
-
-/usr/include/gtk-2.0/gtk/gtkradioaction.h:
-
-/usr/include/gtk-2.0/gtk/gtktoggleaction.h:
-
-/usr/include/gtk-2.0/gtk/gtkradiobutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentaction.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentmanager.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentchooser.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentfilter.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentchooserdialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentchoosermenu.h:
-
-/usr/include/gtk-2.0/gtk/gtkrecentchooserwidget.h:
-
-/usr/include/gtk-2.0/gtk/gtkscalebutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h:
-
-/usr/include/gtk-2.0/gtk/gtkvscrollbar.h:
-
-/usr/include/gtk-2.0/gtk/gtkviewport.h:
-
-/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkseparatortoolitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkshow.h:
-
-/usr/include/gtk-2.0/gtk/gtkspinbutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkspinner.h:
-
-/usr/include/gtk-2.0/gtk/gtkstatusbar.h:
-
-/usr/include/gtk-2.0/gtk/gtkstatusicon.h:
-
-/usr/include/gtk-2.0/gtk/gtkstock.h:
-
-/usr/include/gtk-2.0/gtk/gtktable.h:
-
-/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h:
-
-/usr/include/gtk-2.0/gtk/gtktextbuffer.h:
-
-/usr/include/gtk-2.0/gtk/gtktexttagtable.h:
-
-/usr/include/gtk-2.0/gtk/gtktextmark.h:
-
-/usr/include/gtk-2.0/gtk/gtktextbufferrichtext.h:
-
-/usr/include/gtk-2.0/gtk/gtktextview.h:
-
-/usr/include/gtk-2.0/gtk/gtktoolbar.h:
-
-/usr/include/gtk-2.0/gtk/gtkpixmap.h:
-
-/usr/include/gtk-2.0/gtk/gtktoolitemgroup.h:
-
-/usr/include/gtk-2.0/gtk/gtktoolpalette.h:
-
-/usr/include/gtk-2.0/gtk/gtktoolshell.h:
-
-/usr/include/gtk-2.0/gtk/gtktestutils.h:
-
-/usr/include/gtk-2.0/gtk/gtktreednd.h:
-
-/usr/include/gtk-2.0/gtk/gtktreemodelsort.h:
-
-/usr/include/gtk-2.0/gtk/gtktreeselection.h:
-
-/usr/include/gtk-2.0/gtk/gtktreestore.h:
-
-/usr/include/gtk-2.0/gtk/gtkuimanager.h:
-
-/usr/include/gtk-2.0/gtk/gtkvbbox.h:
-
-/usr/include/gtk-2.0/gtk/gtkversion.h:
-
-/usr/include/gtk-2.0/gtk/gtkvolumebutton.h:
-
-/usr/include/gtk-2.0/gtk/gtkvpaned.h:
-
-/usr/include/gtk-2.0/gtk/gtkvruler.h:
-
-/usr/include/gtk-2.0/gtk/gtkvscale.h:
-
-/usr/include/gtk-2.0/gtk/gtkvseparator.h:
-
-/usr/include/gtk-2.0/gtk/gtktext.h:
-
-/usr/include/gtk-2.0/gtk/gtktree.h:
-
-/usr/include/gtk-2.0/gtk/gtktreeitem.h:
-
-/usr/include/gtk-2.0/gtk/gtkclist.h:
-
-/usr/include/gtk-2.0/gtk/gtkcombo.h:
-
-/usr/include/gtk-2.0/gtk/gtkctree.h:
-
-/usr/include/gtk-2.0/gtk/gtkcurve.h:
-
-/usr/include/gtk-2.0/gtk/gtkfilesel.h:
-
-/usr/include/gtk-2.0/gtk/gtkgamma.h:
-
-/usr/include/gtk-2.0/gtk/gtkinputdialog.h:
-
-/usr/include/gtk-2.0/gtk/gtkitemfactory.h:
-
-/usr/include/gtk-2.0/gtk/gtklist.h:
-
-/usr/include/gtk-2.0/gtk/gtklistitem.h:
-
-/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/audio/ags_devout.h:
-
-/usr/include/alsa/asoundlib.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/bits/waitflags.h:
-
-/usr/include/bits/waitstatus.h:
-
-/usr/include/alloca.h:
-
-/usr/include/bits/stdlib-bsearch.h:
-
-/usr/include/bits/stdlib-float.h:
-
-/usr/include/string.h:
-
-/usr/include/bits/string.h:
-
-/usr/include/bits/string2.h:
-
-/usr/include/fcntl.h:
-
-/usr/include/bits/fcntl.h:
-
-/usr/include/bits/fcntl-linux.h:
-
-/usr/include/bits/stat.h:
-
-/usr/include/assert.h:
-
-/usr/include/sys/poll.h:
-
-/usr/include/bits/poll.h:
-
-/usr/include/errno.h:
-
-/usr/include/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/alsa/asoundef.h:
-
-/usr/include/alsa/version.h:
-
-/usr/include/alsa/global.h:
-
-/usr/include/alsa/input.h:
-
-/usr/include/alsa/output.h:
-
-/usr/include/alsa/error.h:
-
-/usr/include/alsa/conf.h:
-
-/usr/include/alsa/pcm.h:
-
-/usr/include/alsa/rawmidi.h:
-
-/usr/include/alsa/timer.h:
-
-/usr/include/alsa/hwdep.h:
-
-/usr/include/alsa/control.h:
-
-/usr/include/alsa/mixer.h:
-
-/usr/include/alsa/seq_event.h:
-
-/usr/include/alsa/seq.h:
-
-/usr/include/alsa/seqmid.h:
-
-/usr/include/alsa/seq_midi_event.h:
-
-src/ags/thread/ags_audio_loop.h:
-
-/usr/include/math.h:
-
-/usr/include/bits/huge_val.h:
-
-/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:
-
-/usr/include/bits/mathinline.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/thread/ags_task_thread.h:
-
-src/ags/thread/ags_thread_pool.h:
-
-src/ags/object/ags_main_loop.h:
-
-src/ags/object/ags_application_context.h:
-
-src/ags/lib/ags_log.h:
-
-src/ags/object/ags_config.h:
+src/ags/object/ags_config.h:
 
 src/ags/file/ags_file.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:
-
-/usr/include/libxml2/libxml/xmlregexp.h:
-
-/usr/include/libxml2/libxml/dict.h:
-
-/usr/include/libxml2/libxml/xmlmemory.h:
-
-/usr/include/libxml2/libxml/threads.h:
-
-/usr/include/libxml2/libxml/globals.h:
-
-/usr/include/libxml2/libxml/parser.h:
-
-/usr/include/libxml2/libxml/hash.h:
-
-/usr/include/libxml2/libxml/valid.h:
-
-/usr/include/libxml2/libxml/xmlerror.h:
-
-/usr/include/libxml2/libxml/list.h:
-
-/usr/include/libxml2/libxml/xmlautomata.h:
-
-/usr/include/libxml2/libxml/entities.h:
-
-/usr/include/libxml2/libxml/encoding.h:
-
-/usr/include/iconv.h:
-
-/usr/include/libxml2/libxml/xmlIO.h:
-
-/usr/include/libxml2/libxml/SAX.h:
-
-/usr/include/libxml2/libxml/xlink.h:
-
-/usr/include/libxml2/libxml/SAX2.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:
-
-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:
-
-src/ags/thread/ags_timestamp_thread.h:
-
-src/ags/audio/ags_timestamp.h:
-
-src/ags/audio/ags_note.h:
-
-src/ags/X/ags_automation_editor.h:
-
-src/ags/X/editor/ags_automation_toolbar.h:
-
-src/ags/X/editor/ags_port_selection.h:
-
-src/ags/X/editor/ags_notebook.h:
-
-src/ags/X/editor/ags_machine_selector.h:
-
-src/ags/X/ags_machine.h:
-
-src/ags/audio/ags_audio.h:
-
-src/ags/X/editor/ags_automation_edit.h:
-
-src/ags/widget/ags_ruler.h:
-
-src/ags/audio/ags_automation.h:
-
-src/ags/audio/ags_acceleration.h:
-
-src/ags/X/ags_menu_bar.h:
-
-src/ags/X/ags_editor.h:
-
-src/ags/X/editor/ags_toolbar.h:
-
-src/ags/X/editor/ags_meter.h:
-
-src/ags/X/editor/ags_soundset.h:
-
-src/ags/X/editor/ags_note_edit.h:
-
-src/ags/X/editor/ags_pattern_edit.h:
-
-src/ags/X/ags_navigation.h:
-
-src/ags/X/ags_export_window.h:
-
-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-lib/object/ags_connectable.h:
-
-src/ags/main.h:
diff --git a/src/ags/X/ags_audio_preferences.c b/src/ags/X/ags_audio_preferences.c
index 40b8d1e..de81984 100644
--- a/src/ags/X/ags_audio_preferences.c
+++ b/src/ags/X/ags_audio_preferences.c
@@ -19,15 +19,12 @@
 #include <ags/X/ags_audio_preferences.h>
 #include <ags/X/ags_audio_preferences_callbacks.h>
 
-#include <ags/main.h>
-
+#include <ags/object/ags_application_context.h>
 #include <ags/object/ags_config.h>
 #include <ags-lib/object/ags_connectable.h>
 #include <ags/object/ags_applicable.h>
 #include <ags/object/ags_soundcard.h>
 
-#include <ags/audio/ags_devout.h>
-
 #include <ags/X/ags_window.h>
 #include <ags/X/ags_preferences.h>
 
@@ -56,9 +53,6 @@ void ags_audio_preferences_show(GtkWidget *widget);
 
 static gpointer ags_audio_preferences_parent_class = NULL;
 
-extern pthread_key_t config;
-AgsConfig *ags_config =  pthread_getspecific(config);
-
 GType
 ags_audio_preferences_get_type(void)
 {
@@ -282,7 +276,8 @@ void
 ags_audio_preferences_apply(AgsApplicable *applicable)
 {
   AgsPreferences *preferences;
-  AgsAudioPreferences *audio_preferences; 
+  AgsAudioPreferences *audio_preferences;
+  AgsApplicationContext *application_context;
   AgsConfig *config;
   GList *card_id, *card_name;
   char *device;
@@ -297,38 +292,42 @@ ags_audio_preferences_apply(AgsApplicable *applicable)
   preferences = (AgsPreferences *) gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
 							   AGS_TYPE_PREFERENCES);
 
+  application_context = AGS_WINDOW(preferences->window)->application_context;
+
+  config = application_context->config;
+  
   /* samplerate */
   str = g_strdup_printf("%u\0",
 			(guint) gtk_spin_button_get_value(audio_preferences->samplerate));
-  ags_config_set_value(ags_config,
-		 AGS_CONFIG_DEVOUT,
-		 "samplerate\0",
-		 str);
+  ags_config_set_value(config,
+		       AGS_CONFIG_DEVOUT,
+		       "samplerate\0",
+		       str);
   g_free(str);
 
   /* buffer size */
   str = g_strdup_printf("%u\0",
 			(guint) gtk_spin_button_get_value(audio_preferences->buffer_size));
-  ags_config_set_value(ags_config,
-		 AGS_CONFIG_DEVOUT,
-		 "buffer-size\0",
-		 str);
+  ags_config_set_value(config,
+		       AGS_CONFIG_DEVOUT,
+		       "buffer-size\0",
+		       str);
   g_free(str);
 
   /* dsp channels */
   str = g_strdup_printf("%u\0",
 			(guint) gtk_spin_button_get_value(audio_preferences->audio_channels));
-  ags_config_set_value(ags_config,
-		 AGS_CONFIG_DEVOUT,
-		 "dsp-channels\0",
-		 str);
+  ags_config_set_value(config,
+		       AGS_CONFIG_DEVOUT,
+		       "dsp-channels\0",
+		       str);
   g_free(str);
 
   /* card */
-  ags_config_set_value(ags_config,
-		 AGS_CONFIG_DEVOUT,
-		 "alsa-handle\0",
-		 gtk_combo_box_text_get_active_text(audio_preferences->card));
+  ags_config_set_value(config,
+		       AGS_CONFIG_DEVOUT,
+		       "alsa-handle\0",
+		       gtk_combo_box_text_get_active_text(audio_preferences->card));
 }
 
 void
@@ -337,7 +336,7 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
   AgsWindow *window;
   AgsPreferences *preferences;
   AgsAudioPreferences *audio_preferences;
-  AgsDevout *devout;
+  AgsSoundcard *soundcard;
   GtkListStore *model;
   GtkTreeIter iter;
   GList *card_id, *card_name;
@@ -355,10 +354,10 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
 							   AGS_TYPE_PREFERENCES);
   window = AGS_WINDOW(preferences->window);
 
-  devout = window->devout;
+  soundcard = AGS_SOUNDCARD(window->soundcard);
 
   /* refresh */
-  ags_soundcard_list_cards(AGS_SOUNDCARD(devout),
+  ags_soundcard_list_cards(AGS_SOUNDCARD(soundcard),
 			   &card_id, &card_name);
   model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
 
@@ -380,11 +379,11 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
 			  GTK_TREE_MODEL(model));
 
   /*  */
-  g_object_get(G_OBJECT(devout),
+  g_object_get(G_OBJECT(soundcard),
 	       "device\0", &device,
-	       "pcm_channels\0", &channels,
+	       "pcm-channels\0", &channels,
 	       "frequency\0", &rate,
-	       "buffer_size\0", &buffer_size,
+	       "buffer-size\0", &buffer_size,
 	       NULL);
 
 
@@ -404,7 +403,7 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
 			    (gdouble) buffer_size);
 
   /*  */
-  ags_soundcard_pcm_info(AGS_SOUNDCARD(devout),
+  ags_soundcard_pcm_info(soundcard,
 			 gtk_combo_box_get_active_text(audio_preferences->card),
 			 &channels_min, &channels_max,
 			 &rate_min, &rate_max,
diff --git a/src/ags/X/ags_audio_preferences_callbacks.c b/src/ags/X/ags_audio_preferences_callbacks.c
index 026488d..16c5693 100644
--- a/src/ags/X/ags_audio_preferences_callbacks.c
+++ b/src/ags/X/ags_audio_preferences_callbacks.c
@@ -18,12 +18,11 @@
 
 #include <ags/X/ags_audio_preferences_callbacks.h>
 
-#include <ags/main.h>
+#include <ags/object/ags_soundcard.h>
 
-#include <ags/thread/ags_audio_loop.h>
+#include <ags/thread/ags_thread-posix.h>
 #include <ags/thread/ags_task_thread.h>
 
-#include <ags/audio/ags_devout.h>
 #include <ags/audio/ags_task.h>
 
 #include <ags/audio/task/ags_set_output_device.h>
@@ -39,19 +38,29 @@ ags_audio_preferences_card_changed_callback(GtkComboBox *combo,
 					    AgsAudioPreferences *audio_preferences)
 {
   AgsWindow *window;
-  AgsDevout *devout;
+  AgsApplicationContext *application_context;
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+  AgsSoundcard *soundcard;
   AgsSetOutputDevice *set_output_device;
 
   window = AGS_WINDOW(AGS_PREFERENCES(gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
 							      AGS_TYPE_PREFERENCES))->window);
-  devout = AGS_DEVOUT(window->devout);
+  soundcard = AGS_SOUNDCARD(window->soundcard);
 
+  application_context = window->application_context;
+
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
+  
   /* create set output device task */
-  set_output_device = ags_set_output_device_new((GObject *) devout,
+  set_output_device = ags_set_output_device_new((GObject *) soundcard,
 						gtk_combo_box_get_active_text(audio_preferences->card));
 
   /* append AgsSetOutputDevice */
-  ags_task_thread_append_task(AGS_TASK_THREAD(AGS_AUDIO_LOOP(AGS_APPLICATION_CONTEXT(devout->application_context)->main_loop)->task_thread),
+  ags_task_thread_append_task(task_thread,
 			      AGS_TASK(set_output_device));
   
   /* reset dialog */
@@ -63,19 +72,29 @@ ags_audio_preferences_audio_channels_changed(GtkSpinButton *spin_button,
 					     AgsAudioPreferences *audio_preferences)
 {
   AgsWindow *window;
-  AgsDevout *devout;
+  AgsApplicationContext *application_context;
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+  AgsSoundcard *soundcard;
   AgsSetAudioChannels *set_audio_channels;
 
   window = AGS_WINDOW(AGS_PREFERENCES(gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
 							      AGS_TYPE_PREFERENCES))->window);
-  devout = AGS_DEVOUT(window->devout);
+  soundcard = AGS_SOUNDCARD(window->soundcard);
+
+  application_context = window->application_context;
+    
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
 
   /* create set output device task */
-  set_audio_channels = ags_set_audio_channels_new(devout,
+  set_audio_channels = ags_set_audio_channels_new(soundcard,
 						  (guint) gtk_spin_button_get_value(spin_button));
 
   /* append AgsSetAudioChannels */
-  ags_task_thread_append_task(AGS_TASK_THREAD(AGS_AUDIO_LOOP(AGS_APPLICATION_CONTEXT(devout->application_context)->main_loop)->task_thread),
+  ags_task_thread_append_task(task_thread,
 			      AGS_TASK(set_audio_channels));
 }
 
@@ -84,19 +103,29 @@ ags_audio_preferences_samplerate_changed(GtkSpinButton *spin_button,
 					 AgsAudioPreferences *audio_preferences)
 {
   AgsWindow *window;
-  AgsDevout *devout;
+  AgsApplicationContext *application_context;
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+  AgsSoundcard *soundcard;
   AgsSetSamplerate *set_samplerate;
 
   window = AGS_WINDOW(AGS_PREFERENCES(gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
 							      AGS_TYPE_PREFERENCES))->window);
-  devout = AGS_DEVOUT(window->devout);
+  soundcard = AGS_SOUNDCARD(window->soundcard);
+
+  application_context = window->application_context;
+
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
 
   /* create set output device task */
-  set_samplerate = ags_set_samplerate_new((GObject *) devout,
+  set_samplerate = ags_set_samplerate_new((GObject *) soundcard,
 					  (guint) gtk_spin_button_get_value(spin_button));
 
   /* append AgsSetSamplerate */
-  ags_task_thread_append_task(AGS_TASK_THREAD(AGS_AUDIO_LOOP(AGS_APPLICATION_CONTEXT(devout->application_context)->main_loop)->task_thread),
+  ags_task_thread_append_task(task_thread,
 			      AGS_TASK(set_samplerate));
 }
 
@@ -105,18 +134,28 @@ ags_audio_preferences_buffer_size_changed(GtkSpinButton *spin_button,
 					  AgsAudioPreferences *audio_preferences)
 {
   AgsWindow *window;
-  AgsDevout *devout;
+  AgsApplicationContext *application_context;
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+  AgsSoundcard *soundcard;
   AgsSetBufferSize *set_buffer_size;
 
   window = AGS_WINDOW(AGS_PREFERENCES(gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
 									 AGS_TYPE_PREFERENCES))->window);
-  devout = AGS_DEVOUT(window->devout);
+  soundcard = AGS_SOUNDCARD(window->soundcard);
+
+  application_context = window->application_context;
+
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
 
   /* create set output device task */
-  set_buffer_size = ags_set_buffer_size_new((GObject *) devout,
+  set_buffer_size = ags_set_buffer_size_new((GObject *) soundcard,
 					    (guint) gtk_spin_button_get_value(spin_button));
 
   /* append AgsSetBufferSize */
-  ags_task_thread_append_task(AGS_TASK_THREAD(AGS_AUDIO_LOOP(AGS_APPLICATION_CONTEXT(devout->application_context)->main_loop)->task_thread),
+  ags_task_thread_append_task(task_thread,
 			      AGS_TASK(set_buffer_size));
 }
diff --git a/src/ags/X/ags_bulk_member.c b/src/ags/X/ags_bulk_member.c
index 66ef0ba..9181628 100644
--- a/src/ags/X/ags_bulk_member.c
+++ b/src/ags/X/ags_bulk_member.c
@@ -19,8 +19,6 @@
 #include <ags/X/ags_bulk_member.h>
 #include <ags/X/ags_bulk_member_callbacks.h>
 
-#include <ags/main.h>
-
 #include <ags-lib/object/ags_connectable.h>
 
 #include <ags/thread/ags_audio_loop.h>
@@ -33,6 +31,7 @@
 
 #include <ags/widget/ags_dial.h>
 
+#include <ags/X/ags_window.h>
 #include <ags/X/ags_effect_bulk.h>
 
 void ags_bulk_member_class_init(AgsBulkMemberClass *bulk_member);
@@ -611,6 +610,23 @@ void
 ags_bulk_member_real_change_port(AgsBulkMember *bulk_member,
 				 gpointer port_data)
 {
+  AgsWindow *window;
+
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+  
+  AgsApplicationContext *application_context;
+  
+  window = gtk_widget_get_ancestor(bulk_member,
+				   AGS_TYPE_WINDOW);
+  
+  application_context = window->application_context;
+
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
+  
   if((AGS_BULK_MEMBER_RESET_BY_ATOMIC & (bulk_member->flags)) != 0){
     AgsPort *port;
     GList *list;
@@ -695,8 +711,6 @@ ags_bulk_member_real_change_port(AgsBulkMember *bulk_member,
     effect_bulk = (AgsEffectBulk *) gtk_widget_get_ancestor(GTK_WIDGET(bulk_member),
 							    AGS_TYPE_EFFECT_BULK);
     
-    task_thread = AGS_TASK_THREAD(AGS_AUDIO_LOOP(AGS_APPLICATION_CONTEXT(AGS_DEVOUT(effect_bulk->audio->devout)->application_context)->main_loop)->task_thread);
-
     task = (AgsTask *) g_object_new(bulk_member->task_type,
 				    bulk_member->control_port, port_data,
 				    NULL);
diff --git a/src/ags/X/ags_editor.c b/src/ags/X/ags_editor.c
index 90ec494..e7e2bd0 100644
--- a/src/ags/X/ags_editor.c
+++ b/src/ags/X/ags_editor.c
@@ -66,7 +66,7 @@ enum{
 
 enum{
   PROP_0,
-  PROP_DEVOUT,
+  PROP_SOUNDCARD,
 };
 
 static gpointer ags_editor_parent_class = NULL;
@@ -129,19 +129,19 @@ ags_editor_class_init(AgsEditorClass *editor)
 
   /* properties */
   /**
-   * AgsEditor:devout:
+   * AgsEditor:soundcard:
    *
-   * The assigned #AgsDevout acting as default sink.
+   * The assigned #AgsSoundcard acting as default sink.
    * 
    * Since: 0.4
    */
-  param_spec = g_param_spec_object("devout\0",
-				   "assigned devout\0",
-				   "The devout it is assigned with\0",
+  param_spec = g_param_spec_object("soundcard\0",
+				   "assigned soundcard\0",
+				   "The soundcard it is assigned with\0",
 				   G_TYPE_OBJECT,
 				   G_PARAM_READABLE | G_PARAM_WRITABLE);
   g_object_class_install_property(gobject,
-				  PROP_DEVOUT,
+				  PROP_SOUNDCARD,
 				  param_spec);
 
   /* AgsEditorClass */
@@ -189,7 +189,7 @@ ags_editor_init(AgsEditor *editor)
   editor->version = AGS_EDITOR_DEFAULT_VERSION;
   editor->build_id = AGS_EDITOR_DEFAULT_BUILD_ID;
 
-  editor->devout = NULL;
+  editor->soundcard = NULL;
 
   editor->toolbar = ags_toolbar_new();
   gtk_box_pack_start((GtkBox *) editor,
@@ -236,19 +236,19 @@ ags_editor_set_property(GObject *gobject,
   editor = AGS_EDITOR(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
+  case PROP_SOUNDCARD:
     {
-      AgsDevout *devout;
+      GObject *soundcard;
 
-      devout = (AgsDevout *) g_value_get_object(value);
+      soundcard = (GObject *) g_value_get_object(value);
 
-      if(editor->devout == devout)
+      if(editor->soundcard == soundcard)
 	return;
 
-      if(devout != NULL)
-	g_object_ref(devout);
+      if(soundcard != NULL)
+	g_object_ref(soundcard);
 
-      editor->devout = devout;
+      editor->soundcard = soundcard;
     }
     break;
   default:
@@ -268,8 +268,8 @@ ags_editor_get_property(GObject *gobject,
   editor = AGS_EDITOR(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
-    g_value_set_object(value, editor->devout);
+  case PROP_SOUNDCARD:
+    g_value_set_object(value, editor->soundcard);
     break;
   default:
     G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec);
diff --git a/src/ags/X/ags_editor.h b/src/ags/X/ags_editor.h
index 86b423e..c43c118 100644
--- a/src/ags/X/ags_editor.h
+++ b/src/ags/X/ags_editor.h
@@ -24,7 +24,8 @@
 
 #include <gtk/gtk.h>
 
-#include <ags/audio/ags_devout.h>
+#include <ags/object/ags_soundcard.h>
+
 #include <ags/audio/ags_audio.h>
 #include <ags/audio/ags_note.h>
 
@@ -69,7 +70,7 @@ struct _AgsEditor
   gchar *version;
   gchar *build_id;
 
-  AgsDevout *devout;
+  GObject *soundcard;
 
   GtkTable *table;
 
diff --git a/src/ags/X/ags_effect_bulk.c b/src/ags/X/ags_effect_bulk.c
index 7f2f259..a84c451 100644
--- a/src/ags/X/ags_effect_bulk.c
+++ b/src/ags/X/ags_effect_bulk.c
@@ -19,12 +19,10 @@
 #include <ags/X/ags_effect_bulk.h>
 #include <ags/X/ags_effect_bulk_callbacks.h>
 
-#include <ags/main.h>
-
-#include <ags-lib/object/ags_connectable.h>
-
 #include <ags/object/ags_marshal.h>
+#include <ags-lib/object/ags_connectable.h>
 #include <ags/object/ags_plugin.h>
+#include <ags/object/ags_soundcard.h>
 
 #include <ags/plugin/ags_ladspa_manager.h>
 
@@ -52,6 +50,7 @@
 
 #include <ags/widget/ags_dial.h>
 
+#include <ags/X/ags_window.h>
 #include <ags/X/ags_ladspa_browser.h>
 #include <ags/X/ags_bulk_member.h>
 
@@ -126,9 +125,6 @@ enum{
 static gpointer ags_effect_bulk_parent_class = NULL;
 static guint effect_bulk_signals[LAST_SIGNAL];
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-
 GType
 ags_effect_bulk_get_type(void)
 {
@@ -618,6 +614,7 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
 				gchar *filename,
 				gchar *effect)
 {
+  AgsWindow *window;
   AgsBulkMember *bulk_member;
   AgsAddBulkMember *add_bulk_member;
   AgsUpdateBulkMember *update_bulk_member;
@@ -631,9 +628,11 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
   AgsAddRecallContainer *add_recall_container;
   AgsAddRecall *add_recall;
 
-  AgsAudioLoop *audio_loop;
+  AgsThread *main_loop;
   AgsTaskThread *task_thread;
 
+  AgsApplicationContext *application_context;
+  
   GList *port, *recall_port;
   GList *list, *list_start;
   GList *task;
@@ -653,10 +652,17 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
   effect_bulk->plugin = g_list_append(effect_bulk->plugin,
 				      ags_effect_bulk_plugin_alloc(filename,
 								   effect));
+
+  window = gtk_widget_get_ancestor(effect_bulk,
+				   AGS_TYPE_WINDOW);
   
-  audio_loop = (AgsAudioLoop *) ags_application_context->main_loop;
-  task_thread = (AgsTaskThread *) audio_loop->task_thread;
+  application_context = window->application_context;
 
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
+  
   audio_channels = effect_bulk->audio->audio_channels;
 
   if(effect_bulk->channel_type == AGS_TYPE_OUTPUT){
@@ -697,7 +703,7 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
 					    effect,
 					    index);
       g_object_set(G_OBJECT(recall_ladspa),
-		   "devout\0", AGS_AUDIO(current->audio)->devout,
+		   "soundcard\0", AGS_AUDIO(current->audio)->soundcard,
 		   "recall-container\0", recall_container,
 		   NULL);
       AGS_RECALL(recall_ladspa)->flags |= AGS_RECALL_TEMPLATE;
@@ -716,7 +722,7 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
 								  AGS_TYPE_RECALL_LADSPA_RUN);
       AGS_RECALL(recall_channel_run_dummy)->flags |= AGS_RECALL_TEMPLATE;
       g_object_set(G_OBJECT(recall_channel_run_dummy),
-		   "devout\0", AGS_AUDIO(current->audio)->devout,
+		   "soundcard\0", AGS_AUDIO(current->audio)->soundcard,
 		   "recall-container\0", recall_container,
 		   "recall-channel\0", recall_ladspa,
 		   NULL);
@@ -740,7 +746,7 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
 					    effect,
 					    index);
       g_object_set(G_OBJECT(recall_ladspa),
-		   "devout\0", AGS_AUDIO(current->audio)->devout,
+		   "soundcard\0", AGS_AUDIO(current->audio)->soundcard,
 		   "recall-container\0", recall_container,
 		   NULL);
       AGS_RECALL(recall_ladspa)->flags |= AGS_RECALL_TEMPLATE;
@@ -759,7 +765,7 @@ ags_effect_bulk_real_add_effect(AgsEffectBulk *effect_bulk,
 								  AGS_TYPE_RECALL_LADSPA_RUN);
       AGS_RECALL(recall_channel_run_dummy)->flags |= AGS_RECALL_TEMPLATE;
       g_object_set(G_OBJECT(recall_channel_run_dummy),
-		   "devout\0", AGS_AUDIO(current->audio)->devout,
+		   "soundcard\0", AGS_AUDIO(current->audio)->soundcard,
 		   "recall-container\0", recall_container,
 		   "recall-channel\0", recall_ladspa,
 		   NULL);
@@ -1004,13 +1010,16 @@ ags_effect_bulk_real_resize_audio_channels(AgsEffectBulk *effect_bulk,
 					   guint new_size,
 					   guint old_size)
 {
+  AgsWindow *window;
   AgsUpdateBulkMember *update_bulk_member;
 
   AgsChannel *current;
 
-  AgsAudioLoop *audio_loop;
+  AgsThread *main_loop;
   AgsTaskThread *task_thread;
 
+  AgsApplicationContext *application_context;
+  
   GList *task;
   GList *bulk_member;
   GList *effect_bulk_plugin;
@@ -1018,8 +1027,15 @@ ags_effect_bulk_real_resize_audio_channels(AgsEffectBulk *effect_bulk,
   guint pads;
   guint i, j;
 
-  audio_loop = (AgsAudioLoop *) ags_application_context->main_loop;
-  task_thread = (AgsTaskThread *) audio_loop->task_thread;
+  window = gtk_widget_get_ancestor(effect_bulk,
+				   AGS_TYPE_WINDOW);
+  
+  application_context = window->application_context;
+
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
   
   /* retrieve channel */
   if(effect_bulk->channel_type == AGS_TYPE_OUTPUT){
@@ -1106,13 +1122,16 @@ ags_effect_bulk_real_resize_pads(AgsEffectBulk *effect_bulk,
 				 guint new_size,
 				 guint old_size)
 {
+  AgsWindow *window;
   AgsUpdateBulkMember *update_bulk_member;
 
   AgsChannel *current;
 
-  AgsAudioLoop *audio_loop;
+  AgsThread *main_loop;
   AgsTaskThread *task_thread;
 
+  AgsApplicationContext *application_context;
+  
   GList *task;
   GList *bulk_member;
   GList *effect_bulk_plugin;
@@ -1120,8 +1139,15 @@ ags_effect_bulk_real_resize_pads(AgsEffectBulk *effect_bulk,
   guint audio_channels;
   guint i, j;
 
-  audio_loop = (AgsAudioLoop *) ags_application_context->main_loop;
-  task_thread = (AgsTaskThread *) audio_loop->task_thread;
+  window = gtk_widget_get_ancestor(effect_bulk,
+				   AGS_TYPE_WINDOW);
+  
+  application_context = window->application_context;
+
+  main_loop = application_context->main_loop;
+
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
   
   audio_channels = effect_bulk->audio->audio_channels;
   
diff --git a/src/ags/X/ags_effect_line.c b/src/ags/X/ags_effect_line.c
index c01ff87..10fcb56 100644
--- a/src/ags/X/ags_effect_line.c
+++ b/src/ags/X/ags_effect_line.c
@@ -19,16 +19,14 @@
 #include <ags/X/ags_effect_line.h>
 #include <ags/X/ags_effect_line_callbacks.h>
 
-#include <ags-lib/object/ags_connectable.h>
-
-#include <ags/main.h>
-
+#include <ags/object/ags_application_context.h>
 #include <ags/object/ags_marshal.h>
+#include <ags-lib/object/ags_connectable.h>
 #include <ags/object/ags_plugin.h>
 
 #include <ags/plugin/ags_ladspa_manager.h>
 
-#include <ags/thread/ags_audio_loop.h>
+#include <ags/thread/ags_thread-posix.h>
 #include <ags/thread/ags_task_thread.h>
 
 #include <ags/audio/ags_channel.h>
@@ -38,6 +36,7 @@
 
 #include <ags/widget/ags_dial.h>
 
+#include <ags/X/ags_window.h>
 #include <ags/X/ags_machine.h>
 #include <ags/X/ags_line_member.h>
 
@@ -397,6 +396,7 @@ ags_effect_line_real_add_effect(AgsEffectLine *effect_line,
 				gchar *filename,
 				gchar *effect)
 {
+  AgsWindow *window;
   AgsMachine *machine;
   AgsLineMember *line_member;
   AgsAddLineMember *add_line_member;
@@ -404,9 +404,11 @@ ags_effect_line_real_add_effect(AgsEffectLine *effect_line,
 
   AgsLadspaPlugin *ladspa_plugin;
 
-  AgsAudioLoop *audio_loop;
+  AgsThread *main_loop;
   AgsTaskThread *task_thread;
 
+  AgsApplicationContext *application_context;
+  
   GList *list, *list_start;
   GList *port;
   GList *task;
@@ -423,14 +425,21 @@ ags_effect_line_real_add_effect(AgsEffectLine *effect_line,
 
   machine = gtk_widget_get_ancestor(effect_line,
 				    AGS_TYPE_MACHINE);
+
+  window = gtk_widget_get_ancestor(machine,
+				   AGS_TYPE_WINDOW);
+
+  application_context = window->application_context;
+  
+  main_loop = application_context->main_loop;
   
-  audio_loop = (AgsAudioLoop *) AGS_APPLICATION_CONTEXT(AGS_DEVOUT(machine->audio->devout)->application_context)->main_loop;
-  task_thread = (AgsTaskThread *) audio_loop->task_thread;
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
 
   if(ags_recall_ladpsa_find(effect_line->channel->recall,
 			    filename, effect) != NULL){
     /* return if duplicated */
-    return;
+    return(NULL);
   }
 
   index = ags_ladspa_manager_effect_index(filename,
diff --git a/src/ags/X/ags_export_window.c b/src/ags/X/ags_export_window.c
index ec326cc..72804cd 100644
--- a/src/ags/X/ags_export_window.c
+++ b/src/ags/X/ags_export_window.c
@@ -20,9 +20,9 @@
 #include <ags/X/ags_export_window_callbacks.h>
 
 #include <ags-lib/object/ags_connectable.h>
+#include <ags/object/ags_soundcard.h>
 
-#include <ags/main.h>
-
+#include <ags/audio/ags_devout.h>
 #include <ags/audio/ags_notation.h>
 
 #include <ags/X/ags_window.h>
@@ -60,8 +60,7 @@ gboolean ags_export_window_delete_event(GtkWidget *widget, GdkEventAny *event);
 
 enum{
   PROP_0,
-  PROP_DEVOUT,
-  PROP_APPLICATION_CONTEXT,
+  PROP_SOUNDCARD,
 };
 
 static gpointer ags_export_window_parent_class = NULL;
@@ -121,38 +120,21 @@ ags_export_window_class_init(AgsExportWindowClass *export_window)
 
   /* properties */
   /**
-   * AgsExportWindow:devout:
-   *
-   * The assigned #AgsDevout acting as default sink.
-   * 
-   * Since: 0.4
-   */
-  param_spec = g_param_spec_object("devout\0",
-				   "assigned devout\0",
-				   "The devout it is assigned with\0",
-				   G_TYPE_OBJECT,
-				   G_PARAM_READABLE | G_PARAM_WRITABLE);
-  g_object_class_install_property(gobject,
-				  PROP_DEVOUT,
-				  param_spec);
-
-  /**
-   * AgsExportWindow:ags-application-context:
+   * AgsExportWindow:soundcard:
    *
-   * The assigned #AgsApplicationContext to give control of application.
+   * The assigned #AgsSoundcard acting as default sink.
    * 
    * Since: 0.4
    */
-  param_spec = g_param_spec_object("ags-application-context\0",
-				   "assigned ags application context\0",
-				   "The AgsApplicationContext it is assigned with\0",
+  param_spec = g_param_spec_object("soundcard\0",
+				   "assigned soundcard\0",
+				   "The soundcard it is assigned with\0",
 				   G_TYPE_OBJECT,
 				   G_PARAM_READABLE | G_PARAM_WRITABLE);
   g_object_class_install_property(gobject,
-				  PROP_APPLICATION_CONTEXT,
+				  PROP_SOUNDCARD,
 				  param_spec);
 
-
   /* GtkWidgetClass */
   widget = (GtkWidgetClass *) export_window;
 
@@ -181,6 +163,9 @@ ags_export_window_init(AgsExportWindow *export_window)
 
   export_window->flags = 0;
 
+  export_window->parent = NULL;
+  export_window->soundcard = NULL;
+  
   g_object_set(export_window,
 	       "title\0", "export to audio data\0",
 	       NULL);
@@ -368,39 +353,19 @@ ags_export_window_set_property(GObject *gobject,
   export_window = AGS_EXPORT_WINDOW(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
+  case PROP_SOUNDCARD:
     {
-      AgsDevout *devout;
+      GObject *soundcard;
 
-      devout = g_value_get_object(value);
+      soundcard = g_value_get_object(value);
 
-      if(export_window->devout == devout)
+      if(export_window->soundcard == soundcard)
 	return;
 
-      if(devout != NULL)
-	g_object_ref(devout);
+      if(soundcard != NULL)
+	g_object_ref(soundcard);
 
-      export_window->devout = devout;
-    }
-    break;
-  case PROP_APPLICATION_CONTEXT:
-    {
-      AgsApplicationContext *application_context;
-
-      application_context = g_value_get_object(value);
-
-      if(export_window->application_context == application_context)
-	return;
-
-      if(export_window->application_context != NULL){
-	g_object_unref(export_window->application_context);
-      }
-
-      if(application_context != NULL){
-	g_object_ref(application_context);
-      }
-
-      export_window->application_context = application_context;
+      export_window->soundcard = soundcard;
     }
     break;
   default:
@@ -420,11 +385,8 @@ ags_export_window_get_property(GObject *gobject,
   export_window = AGS_EXPORT_WINDOW(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
-    g_value_set_object(value, export_window->devout);
-    break;
-  case PROP_APPLICATION_CONTEXT:
-    g_value_set_object(value, export_window->application_context);
+  case PROP_SOUNDCARD:
+    g_value_set_object(value, export_window->soundcard);
     break;
   default:
     G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec);
@@ -491,7 +453,8 @@ ags_export_window_new()
 {
   AgsExportWindow *export_window;
 
-  export_window = (AgsExportWindow *) g_object_new(AGS_TYPE_EXPORT_WINDOW, NULL);
+  export_window = (AgsExportWindow *) g_object_new(AGS_TYPE_EXPORT_WINDOW,
+						   NULL);
 
   return(export_window);
 }
diff --git a/src/ags/X/ags_export_window.h b/src/ags/X/ags_export_window.h
index 5167bad..44157d0 100644
--- a/src/ags/X/ags_export_window.h
+++ b/src/ags/X/ags_export_window.h
@@ -23,8 +23,6 @@
 #include <glib-object.h>
 #include <gtk/gtk.h>
 
-#include <ags/audio/ags_devout.h>
-
 #define AGS_TYPE_EXPORT_WINDOW                (ags_export_window_get_type())
 #define AGS_EXPORT_WINDOW(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_EXPORT_WINDOW, AgsExportWindow))
 #define AGS_EXPORT_WINDOW_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_EXPORT_WINDOW, AgsExportWindowClass))
@@ -45,8 +43,8 @@ struct _AgsExportWindow
 
   guint flags;
 
-  GObject *application_context;
-  AgsDevout *devout;
+  GtkWidget *parent;
+  GObject *soundcard;
 
   GtkCheckButton *live_export;
 
diff --git a/src/ags/X/ags_export_window_callbacks.c b/src/ags/X/ags_export_window_callbacks.c
index 5fc39c6..9d8b2a9 100644
--- a/src/ags/X/ags_export_window_callbacks.c
+++ b/src/ags/X/ags_export_window_callbacks.c
@@ -18,11 +18,9 @@
 
 #include <ags/X/ags_export_window_callbacks.h>
 
-#include <ags/main.h>
-
 #include <ags/object/ags_application_context.h>
 
-#include <ags/thread/ags_audio_loop.h>
+#include <ags/thread/ags_thread-posix.h>
 #include <ags/thread/ags_task_thread.h>
 #include <ags/thread/ags_export_thread.h>
 
@@ -30,17 +28,12 @@
 
 #include <ags/audio/task/ags_export_output.h>
 
-#include <ags/X/ags_xorg_application_context.h>
 #include <ags/X/ags_window.h>
 #include <ags/X/ags_navigation.h>
 
 void ags_export_window_stop_callback(AgsThread *thread,
 				     AgsExportWindow *export_window);
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-extern AgsXorgApplicationContext *ags_xorg_application_context;
-
 void
 ags_export_window_file_chooser_button_callback(GtkWidget *file_chooser_button,
 					       AgsExportWindow *export_window)
@@ -70,7 +63,7 @@ ags_export_window_tact_callback(GtkWidget *spin_button,
 {
   gdouble bpm;
 
-  bpm = AGS_NAVIGATION(AGS_WINDOW(ags_xorg_application_context->window)->navigation)->bpm->adjustment->value;
+  bpm = AGS_NAVIGATION(AGS_WINDOW(export_window->parent)->navigation)->bpm->adjustment->value;
 
   gtk_label_set_text(export_window->duration,
 		     ags_navigation_tact_to_time_string(gtk_spin_button_get_value(export_window->tact),
@@ -81,30 +74,35 @@ void
 ags_export_window_export_callback(GtkWidget *toggle_button,
 				  AgsExportWindow *export_window)
 {
-  AgsAudioLoop *audio_loop;
   AgsWindow *window;
   AgsMachine *machine;
-  AgsDevout *devout;
+
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+
+  AgsApplicationContext *application_context;
+  AgsSoundcard *soundcard;
+  
   GList *machines_start;
   guint delay, attack;
   guint tic_counter_incr;
   gboolean success;
 
-  window = ags_xorg_application_context->window;
-  audio_loop = ags_application_context->main_loop;
+  window = export_window->parent;
+
+  application_context = window->application_context;
+  
+  main_loop = application_context->main_loop;
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
+  
+  soundcard = AGS_SOUNDCARD(window->soundcard);
   
-  devout = window->devout;
   delay = AGS_DEVOUT_DEFAULT_DELAY;
 
-  if(devout != NULL){
-    tic_counter_incr = devout->tic_counter + 1;
-
-    attack = devout->attack[((tic_counter_incr > AGS_DEVOUT_DEFAULT_PERIOD) ?
-			     0:
-			     tic_counter_incr)];
-    delay = devout->delay[((tic_counter_incr > AGS_DEVOUT_DEFAULT_PERIOD) ?
-			   0:
-			   tic_counter_incr)];
+  if(soundcard != NULL){
+    attack = ags_soundcard_get_attack(soundcard);
+    delay = ags_soundcard_get_delay(soundcard);
   }
 
   machines_start = NULL;
@@ -116,7 +114,8 @@ ags_export_window_export_callback(GtkWidget *toggle_button,
     gchar *filename;
     gboolean live_performance;
 
-    export_thread = audio_loop->export_thread;
+    export_thread = ags_thread_find_type(main_loop,
+					 AGS_TYPE_EXPORT_THREAD);
 
     filename = gtk_entry_get_text(export_window->filename);
 
@@ -154,15 +153,15 @@ ags_export_window_export_callback(GtkWidget *toggle_button,
       tic = (gtk_spin_button_get_value(export_window->tact) + 1) * delay;
 
       export_output = ags_export_output_new(export_thread,
-					    window->devout,
+					    window->soundcard,
 					    filename,
 					    tic,
 					    live_performance);
       g_signal_connect(export_thread, "stop\0",
 		       G_CALLBACK(ags_export_window_stop_callback), export_window);
 
-      /* append AgsStartDevout */
-      ags_task_thread_append_task(AGS_TASK_THREAD(audio_loop->task_thread),
+      /* append AgsStartSoundcard */
+      ags_task_thread_append_task(task_thread,
 				  export_output);
 
       ags_navigation_set_seeking_sensitive(window->navigation,
diff --git a/src/ags/X/ags_generic_preferences.c b/src/ags/X/ags_generic_preferences.c
index ed1c176..6756561 100644
--- a/src/ags/X/ags_generic_preferences.c
+++ b/src/ags/X/ags_generic_preferences.c
@@ -19,8 +19,7 @@
 #include <ags/X/ags_generic_preferences.h>
 #include <ags/X/ags_generic_preferences_callbacks.h>
 
-#include <ags/main.h>
-
+#include <ags/object/ags_application_context.h>
 #include <ags/object/ags_config.h>
 #include <ags-lib/object/ags_connectable.h>
 
@@ -53,9 +52,6 @@ void ags_generic_preferences_show(GtkWidget *widget);
 
 static gpointer ags_generic_preferences_parent_class = NULL;
 
-extern pthread_key_t config;
-AgsConfig *ags_config =  pthread_getspecific(config);
-
 GType
 ags_generic_preferences_get_type(void)
 {
@@ -176,22 +172,28 @@ ags_generic_preferences_apply(AgsApplicable *applicable)
 {
   AgsPreferences *preferences;
   AgsGenericPreferences *generic_preferences; 
- 
+
+  AgsApplicationContext *application_context;
+  AgsConfig *config;
+  
   generic_preferences = AGS_GENERIC_PREFERENCES(applicable);
 
   preferences = (AgsPreferences *) gtk_widget_get_ancestor(GTK_WIDGET(generic_preferences),
 							   AGS_TYPE_PREFERENCES);
+
+  application_context = AGS_WINDOW(preferences->window)->application_context;
+  config = application_context->config;
   
   if(gtk_toggle_button_get_active(generic_preferences->autosave_thread)){
-    ags_config_set_value(ags_config,
-		   AGS_CONFIG_GENERIC,
-		   "autosave-thread\0",
-		   "true\0");
+    ags_config_set_value(config,
+			 AGS_CONFIG_GENERIC,
+			 "autosave-thread\0",
+			 "true\0");
   }else{
-    ags_config_set_value(ags_config,
-		   AGS_CONFIG_GENERIC,
-		   "autosave-thread\0",
-		   "false\0");
+    ags_config_set_value(config,
+			 AGS_CONFIG_GENERIC,
+			 "autosave-thread\0",
+			 "false\0");
   }
 }
 
@@ -200,16 +202,22 @@ ags_generic_preferences_reset(AgsApplicable *applicable)
 {
   AgsPreferences *preferences;
   AgsGenericPreferences *generic_preferences; 
+
+  AgsApplicationContext *application_context;
+  AgsConfig *config;
  
   generic_preferences = AGS_GENERIC_PREFERENCES(applicable);
 
   preferences = (AgsPreferences *) gtk_widget_get_ancestor(GTK_WIDGET(generic_preferences),
 							   AGS_TYPE_PREFERENCES);
+
+  application_context = AGS_WINDOW(preferences->window)->application_context;
+  config = application_context->config;
   
   gtk_toggle_button_set_active(generic_preferences->autosave_thread,
-			       ((!strncmp(ags_config_get_value(ags_config,
-							 AGS_CONFIG_GENERIC,
-							 "autosave-thread\0"),
+			       ((!strncmp(ags_config_get_value( config,
+								AGS_CONFIG_GENERIC,
+								"autosave-thread\0"),
 					  "true\0",
 					  5)) ? TRUE: FALSE));
 }
diff --git a/src/ags/X/ags_line_callbacks.c b/src/ags/X/ags_line_callbacks.c
index e490d4f..396d633 100644
--- a/src/ags/X/ags_line_callbacks.c
+++ b/src/ags/X/ags_line_callbacks.c
@@ -36,13 +36,11 @@
 
 #include <ags/widget/ags_vindicator.h>
 
+#include <ags/X/ags_window.h>
 #include <ags/X/ags_machine.h>
 #include <ags/X/ags_pad.h>
 #include <ags/X/ags_line_member.h>
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-
 int
 ags_line_parent_set_callback(GtkWidget *widget, GtkObject *old_parent, AgsLine *line)
 {
@@ -162,29 +160,29 @@ void
 ags_line_peak_run_post_callback(AgsRecall *peak_channel,
 				AgsLine *line)
 {
-  AgsThread *main_loop, *current;
-  AgsTaskThread *task_thread;
-  AgsChangeIndicator *change_indicator;
+  AgsWindow *window;
   AgsMachine *machine;
+  AgsChangeIndicator *change_indicator;
+
+  AgsThread *main_loop;
+  AgsTaskThread *task_thread;
+
+  AgsApplicationContext *application_context;
+  
   GList *list, *list_start;
 
   machine = (AgsMachine *) gtk_widget_get_ancestor(line,
 						   AGS_TYPE_MACHINE);
 
-  task_thread = NULL;
-  
-  main_loop = ags_application_context->main_loop;
-  current = main_loop->children;
+  window = gtk_widget_get_ancestor(machine,
+				   AGS_TYPE_WINDOW);
 
-  while(current != NULL){
-    if(AGS_IS_TASK_THREAD(current)){
-      task_thread = current;
-    
-      break;
-    }
+  application_context = window->application_context;
 
-    current = current->next;
-  }
+  main_loop = application_context->main_loop;
+  
+  task_thread = ags_thread_find_type(main_loop,
+				     AGS_TYPE_TASK_THREAD);
   
   list_start = 
     list = gtk_container_get_children(AGS_LINE(line)->expander->table);
diff --git a/src/ags/X/ags_navigation.c b/src/ags/X/ags_navigation.c
index a46666e..f178fa8 100644
--- a/src/ags/X/ags_navigation.c
+++ b/src/ags/X/ags_navigation.c
@@ -59,7 +59,7 @@ void ags_navigation_real_change_position(AgsNavigation *navigation,
 
 enum{
   PROP_0,
-  PROP_DEVOUT,
+  PROP_SOUNDCARD,
 };
 
 enum{
@@ -125,19 +125,19 @@ ags_navigation_class_init(AgsNavigationClass *navigation)
 
   /* properties */
   /**
-   * AgsNavigation:devout:
+   * AgsNavigation:soundcard:
    *
-   * The assigned #AgsDevout to use as default sink.
+   * The assigned #GObject to use as default sink.
    * 
    * Since: 0.4
    */
-  param_spec = g_param_spec_object("devout\0",
-				   "assigned devout\0",
-				   "The devout it is assigned with\0",
+  param_spec = g_param_spec_object("soundcard\0",
+				   "assigned soundcard\0",
+				   "The soundcard it is assigned with\0",
 				   G_TYPE_OBJECT,
 				   G_PARAM_READABLE | G_PARAM_WRITABLE);
   g_object_class_install_property(gobject,
-				  PROP_DEVOUT,
+				  PROP_SOUNDCARD,
 				  param_spec);
 
   /* AgsNavigationClass */
@@ -179,7 +179,7 @@ ags_navigation_init(AgsNavigation *navigation)
 
   navigation->flags = 0;
 
-  navigation->devout = NULL;
+  navigation->soundcard = NULL;
 
   g_signal_connect_after(G_OBJECT(navigation), "parent-set\0",
 			 G_CALLBACK(ags_navigation_parent_set_callback), NULL);
@@ -298,19 +298,19 @@ ags_navigation_set_property(GObject *gobject,
   navigation = AGS_NAVIGATION(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
+  case PROP_SOUNDCARD:
     {
-      AgsDevout *devout;
+      GObject *soundcard;
 
-      devout = (AgsDevout *) g_value_get_object(value);
+      soundcard = (GObject *) g_value_get_object(value);
 
-      if(navigation->devout == devout)
+      if(navigation->soundcard == soundcard)
 	return;
 
-      if(devout != NULL)
-	g_object_ref(devout);
+      if(soundcard != NULL)
+	g_object_ref(soundcard);
 
-      navigation->devout = devout;
+      navigation->soundcard = soundcard;
     }
     break;
   default:
@@ -330,8 +330,8 @@ ags_navigation_get_property(GObject *gobject,
   navigation = AGS_NAVIGATION(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
-    g_value_set_object(value, navigation->devout);
+  case PROP_SOUNDCARD:
+    g_value_set_object(value, navigation->soundcard);
     break;
   default:
     G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec);
@@ -385,8 +385,8 @@ ags_navigation_connect(AgsConnectable *connectable)
   g_signal_connect((GObject *) navigation->duration_tact, "value-changed\0",
 		   G_CALLBACK(ags_navigation_duration_tact_callback), (gpointer) navigation);
 
-  /* devout */
-  g_signal_connect_after((GObject *) navigation->devout, "tic\0",
+  /* soundcard */
+  g_signal_connect_after((GObject *) navigation->soundcard, "tic\0",
   			 G_CALLBACK(ags_navigation_tic_callback), (gpointer) navigation);
 
   /* expansion */
diff --git a/src/ags/X/ags_navigation.h b/src/ags/X/ags_navigation.h
index dfd2036..d7c5747 100644
--- a/src/ags/X/ags_navigation.h
+++ b/src/ags/X/ags_navigation.h
@@ -23,7 +23,7 @@
 #include <glib-object.h>
 #include <gtk/gtk.h>
 
-#include <ags/audio/ags_devout.h>
+#include <ags/object/ags_soundcard.h>
 
 #define AGS_TYPE_NAVIGATION                (ags_navigation_get_type())
 #define AGS_NAVIGATION(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_NAVIGATION, AgsNavigation))
@@ -50,7 +50,7 @@ struct _AgsNavigation
 
   guint flags;
 
-  AgsDevout *devout;
+  GObject *soundcard;
 
   GtkToggleButton *expander;
 
diff --git a/src/ags/X/ags_preferences.c b/src/ags/X/ags_preferences.c
index ce199c3..382c5fb 100644
--- a/src/ags/X/ags_preferences.c
+++ b/src/ags/X/ags_preferences.c
@@ -57,11 +57,6 @@ void ags_preferences_show(GtkWidget *widget);
 
 static gpointer ags_preferences_parent_class = NULL;
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-extern pthread_key_t config;
-AgsConfig *ags_config =  pthread_getspecific(config);
-
 GType
 ags_preferences_get_type(void)
 {
diff --git a/src/ags/X/ags_window.c b/src/ags/X/ags_window.c
index 6945865..1d74056 100644
--- a/src/ags/X/ags_window.c
+++ b/src/ags/X/ags_window.c
@@ -21,8 +21,6 @@
 
 #include <ags-lib/object/ags_connectable.h>
 
-#include <ags/main.h>
-
 #include <ags/X/machine/ags_panel.h>
 #include <ags/X/machine/ags_mixer.h>
 #include <ags/X/machine/ags_drum.h>
@@ -63,7 +61,7 @@ static GList* ags_window_standard_machine_counter();
 
 enum{
   PROP_0,
-  PROP_DEVOUT,
+  PROP_SOUNDCARD,
   PROP_APPLICATION_CONTEXT,
 };
 
@@ -123,13 +121,13 @@ ags_window_class_init(AgsWindowClass *window)
   gobject->finalize = ags_window_finalize;
 
   /* properties */
-  param_spec = g_param_spec_object("devout\0",
-				   "assigned devout\0",
-				   "The devout it is assigned with\0",
+  param_spec = g_param_spec_object("soundcard\0",
+				   "assigned soundcard\0",
+				   "The soundcard it is assigned with\0",
 				   G_TYPE_OBJECT,
 				   G_PARAM_READABLE | G_PARAM_WRITABLE);
   g_object_class_install_property(gobject,
-				  PROP_DEVOUT,
+				  PROP_SOUNDCARD,
 				  param_spec);
 
   param_spec = g_param_spec_object("application-context\0",
@@ -174,7 +172,7 @@ ags_window_init(AgsWindow *window)
   	       NULL);
 
   window->application_context = NULL;
-  window->devout = NULL;
+  window->soundcard = NULL;
 
   window->name = g_strdup("unnamed\0");
 
@@ -228,30 +226,30 @@ ags_window_set_property(GObject *gobject,
   window = AGS_WINDOW(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
+  case PROP_SOUNDCARD:
     {
-      AgsDevout *devout;
+      GObject *soundcard;
 
-      devout = g_value_get_object(value);
+      soundcard = g_value_get_object(value);
 
-      if(window->devout == devout)
+      if(window->soundcard == soundcard)
 	return;
 
-      if(devout != NULL)
-	g_object_ref(devout);
+      if(soundcard != NULL)
+	g_object_ref(soundcard);
 
-      window->devout = devout;
+      window->soundcard = soundcard;
 
       g_object_set(G_OBJECT(window->editor),
-		   "devout\0", devout,
+		   "soundcard\0", soundcard,
 		   NULL);
 
       g_object_set(G_OBJECT(window->navigation),
-		   "devout\0", devout,
+		   "soundcard\0", soundcard,
 		   NULL);
 
       g_object_set(G_OBJECT(window->export_window),
-		   "devout\0", devout,
+		   "soundcard\0", soundcard,
 		   NULL);
     }
     break;
@@ -296,8 +294,8 @@ ags_window_get_property(GObject *gobject,
   window = AGS_WINDOW(gobject);
 
   switch(prop_id){
-  case PROP_DEVOUT:
-    g_value_set_object(value, window->devout);
+  case PROP_SOUNDCARD:
+    g_value_set_object(value, window->soundcard);
     break;
   case PROP_APPLICATION_CONTEXT:
     g_value_set_object(value, window->application_context);
@@ -354,7 +352,7 @@ ags_window_finalize(GObject *gobject)
 
   window = (AgsWindow *) gobject;
 
-  g_object_unref(G_OBJECT(window->devout));
+  g_object_unref(G_OBJECT(window->soundcard));
   g_object_unref(G_OBJECT(window->export_window));
 
   free(window->name);
diff --git a/src/ags/X/ags_window.h b/src/ags/X/ags_window.h
index 0da6640..6f2a420 100644
--- a/src/ags/X/ags_window.h
+++ b/src/ags/X/ags_window.h
@@ -23,7 +23,7 @@
 #include <glib-object.h>
 #include <gtk/gtk.h>
 
-#include <ags/audio/ags_devout.h>
+#include <ags/object/ags_soundcard.h>
 
 #include <ags/X/ags_automation_editor.h>
 
@@ -62,7 +62,7 @@ struct _AgsWindow
 
   GObject *application_context;
 
-  AgsDevout *devout;
+  GObject *soundcard;
 
   char *name;
 
diff --git a/src/ags/X/ags_xorg_application_context.c b/src/ags/X/ags_xorg_application_context.c
index 9dd3f81..5757275 100644
--- a/src/ags/X/ags_xorg_application_context.c
+++ b/src/ags/X/ags_xorg_application_context.c
@@ -402,7 +402,7 @@ ags_xorg_application_context_write(AgsFile *file, xmlNode *parent, GObject *appl
 }
 
 AgsXorgApplicationContext*
-ags_xorg_application_context_new(AgsMainLoop *main_loop,
+ags_xorg_application_context_new(GObject *main_loop,
 				 AgsConfig *config)
 {
   AgsXorgApplicationContext *xorg_application_context;
diff --git a/src/ags/X/ags_xorg_application_context.h b/src/ags/X/ags_xorg_application_context.h
index d9ed77f..5aa4835 100644
--- a/src/ags/X/ags_xorg_application_context.h
+++ b/src/ags/X/ags_xorg_application_context.h
@@ -58,7 +58,7 @@ struct _AgsXorgApplicationContextClass
 
 GType ags_xorg_application_context_get_type();
 
-AgsXorgApplicationContext* ags_xorg_application_context_new(AgsMainLoop *main_loop,
+AgsXorgApplicationContext* ags_xorg_application_context_new(GObject *main_loop,
 							    AgsConfig *config);
 
 #endif /*__AGS_XORG_APPLICATION_CONTEXT_H__*/
diff --git a/src/ags/X/ags_xorg_init.c b/src/ags/X/ags_xorg_init.c
index 2a8bd6e..f21a594 100644
--- a/src/ags/X/ags_xorg_init.c
+++ b/src/ags/X/ags_xorg_init.c
@@ -18,20 +18,12 @@
 
 #include <ags/X/ags_xorg_init.h>
 
-#include <ags/object/ags_application_context.h>
-
 #include <ags/audio/ags_audio_init.h>
 
 #include <ags/widget/ags_gui_init.h>
 
-#include <ags/X/ags_xorg_application_context.h>
-
 void ags_xorg_colors_alloc();
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-extern AgsXorgApplicationContext *ags_xorg_application_context;
-
 extern GtkStyle *matrix_style;
 extern GtkStyle *ffplayer_style;
 extern GtkStyle *editor_style;
@@ -265,15 +257,9 @@ ags_xorg_colors_alloc()
 }
 
 void
-ags_xorg_init_context(int *argc, gchar ***argv)
+ags_xorg_init_context(AgsApplicationContext *application_context)
 {  
   /* map x11 collors */
   ags_xorg_colors_alloc();
-  
-  /* instantiate application context */
-  ags_xorg_application_context = ags_xorg_application_context_new(NULL,
-								  NULL);
-  ags_application_context_add_sibling(ags_application_context,
-				      ags_xorg_application_context);
 }
 
diff --git a/src/ags/X/ags_xorg_init.h b/src/ags/X/ags_xorg_init.h
index b18d701..584eba0 100644
--- a/src/ags/X/ags_xorg_init.h
+++ b/src/ags/X/ags_xorg_init.h
@@ -24,6 +24,8 @@
 
 #include <gtk/gtk.h>
 
-void ags_xorg_init_context(int *argc, gchar ***argv);
+#include <ags/object/ags_application_context.h>
+
+void ags_xorg_init_context(AgsApplicationContext *application_context);
 
 #endif /*__AGS_XORG_INIT_H__*/
diff --git a/src/ags/audio/ags_sound_provider.h b/src/ags/audio/ags_sound_provider.h
new file mode 100644
index 0000000..3638290
--- /dev/null
+++ b/src/ags/audio/ags_sound_provider.h
@@ -0,0 +1,47 @@
+/* AGS - Advanced GTK Sequencer
+ * Copyright (C) 2015 Joël Krähemann
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __AGS_SOUND_PROVIDER_H__
+#define __AGS_SOUND_PROVIDER_H__
+
+#include <glib-object.h>
+
+#include <ags/object/ags_soundcard.h>
+
+#define AGS_TYPE_SOUND_PROVIDER                    (ags_sound_provider_get_type())
+#define AGS_SOUND_PROVIDER(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_SOUND_PROVIDER, AgsSoundProvider))
+#define AGS_SOUND_PROVIDER_INTERFACE(vtable)       (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_SOUND_PROVIDER, AgsSoundProviderInterface))
+#define AGS_IS_SOUND_PROVIDER(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_SOUND_PROVIDER))
+#define AGS_IS_SOUND_PROVIDER_INTERFACE(vtable)    (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_SOUND_PROVIDER))
+#define AGS_SOUND_PROVIDER_GET_INTERFACE(obj)      (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_SOUND_PROVIDER, AgsSoundProviderInterface))
+
+typedef void AgsSoundProvider;
+typedef struct _AgsSoundProviderInterface AgsSoundProviderInterface;
+
+struct _AgsSoundProviderInterface
+{
+  GTypeInterface interface;
+
+  GList* (*get_soundcard)(AgsSoundProvider *sound_provider);
+};
+
+GType ags_sound_provider_get_type();
+
+GList* ags_sound_provider_get_soundcard(AgsSoundProvider *sound_provider);
+
+#endif /*__AGS_SOUND_PROVIDER_H__*/
diff --git a/src/ags/audio/ags_sound_provider.h~ b/src/ags/audio/ags_sound_provider.h~
new file mode 100644
index 0000000..a0552fd
--- /dev/null
+++ b/src/ags/audio/ags_sound_provider.h~
@@ -0,0 +1,47 @@
+/* AGS - Advanced GTK Sequencer
+ * Copyright (C) 2015 Joël Krähemann
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __AGS_SOUND_PROVIDER_H__
+#define __AGS_SOUND_PROVIDER_H__
+
+#include <glib-object.h>
+
+#include <ags/object/ags_soundcard.h>
+
+#define AGS_TYPE_SOUND_PROVIDER                    (ags_sound_provider_get_type())
+#define AGS_SOUND_PROVIDER(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_SOUND_PROVIDER, AgsSoundProvider))
+#define AGS_SOUND_PROVIDER_INTERFACE(vtable)       (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_SOUND_PROVIDER, AgsSoundProviderInterface))
+#define AGS_IS_SOUND_PROVIDER(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_SOUND_PROVIDER))
+#define AGS_IS_SOUND_PROVIDER_INTERFACE(vtable)    (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_SOUND_PROVIDER))
+#define AGS_SOUND_PROVIDER_GET_INTERFACE(obj)      (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_SOUND_PROVIDER, AgsSoundProviderInterface))
+
+typedef void AgsSoundProvider;
+typedef struct _AgsSoundProviderInterface AgsSoundProviderInterface;
+
+struct _AgsSoundProviderInterface
+{
+  GTypeInterface interface;
+
+  AgsSoundcard* (*get_soundcard)(AgsSoundProvider *sound_provider);
+};
+
+GType ags_sound_provider_get_type();
+
+AgsSoundcard* ags_sound_provider_get_soundcard(AgsSoundProvider *sound_provider);
+
+#endif /*__AGS_SOUND_PROVIDER_H__*/
diff --git a/src/ags/audio/task/ags_export_output.c b/src/ags/audio/task/ags_export_output.c
index 17717fd..f552922 100644
--- a/src/ags/audio/task/ags_export_output.c
+++ b/src/ags/audio/task/ags_export_output.c
@@ -19,13 +19,10 @@
 #include <ags/audio/task/ags_export_output.h>
 
 #include <ags-lib/object/ags_connectable.h>
-
-#include <ags/main.h>
+#include <ags/object/ags_soundcard.h>
 
 #include <ags/thread/ags_export_thread.h>
 
-#include <ags/audio/ags_devout.h>
-
 #include <ags/audio/file/ags_audio_file.h>
 
 void ags_export_output_class_init(AgsExportOutputClass *export_output);
@@ -44,7 +41,7 @@ void ags_export_output_launch(AgsTask *task);
  * @section_id:
  * @include: ags/audio/task/ags_export_output.h
  *
- * The #AgsExportOutput task exports #AgsDevout to file.
+ * The #AgsExportOutput task exports #AgsSoundcard to file.
  */
 
 static gpointer ags_export_output_parent_class = NULL;
@@ -119,7 +116,7 @@ void
 ags_export_output_init(AgsExportOutput *export_output)
 {
   export_output->export_thread = NULL;
-  export_output->devout = NULL;
+  export_output->soundcard = NULL;
   export_output->filename = NULL;
   export_output->tic = 0;
   export_output->live_performance = TRUE;
@@ -154,25 +151,35 @@ ags_export_output_launch(AgsTask *task)
 {
   AgsExportOutput *export_output;
   AgsExportThread *export_thread;
-  AgsDevout *devout;
+  AgsSoundcard *soundcard;
   AgsAudioFile *audio_file;
   gchar *filename;
+  guint samplerate, dsp_channels;
   guint tic;
   guint val;
   
   export_output = AGS_EXPORT_OUTPUT(task);
-  devout = export_output->devout;
+
+  soundcard = export_output->soundcard;
   export_thread = export_output->export_thread;
+
   filename = export_output->filename;
+
+  ags_soundcard_get_presets(soundcard,
+			    &dsp_channels,
+			    &samplerate,
+			    NULL,
+			    NULL);
+  
   tic = export_output->tic;
 
   /* open read/write audio file */
   audio_file = ags_audio_file_new(filename,
-				  devout,
-				  0, devout->dsp_channels);
+				  soundcard,
+				  0, dsp_channels);
 
-  audio_file->samplerate = (int) devout->frequency;
-  audio_file->channels = devout->dsp_channels;
+  audio_file->samplerate = (int) samplerate;
+  audio_file->channels = dsp_channels;
 
   ags_audio_file_rw_open(audio_file,
 			 TRUE);
@@ -182,7 +189,7 @@ ags_export_output_launch(AgsTask *task)
   /* start export thread */
   export_thread->tic = tic;
   g_object_set(G_OBJECT(export_thread),
-	       "devout\0", devout,
+	       "soundcard\0", soundcard,
 	       "audio-file\0", audio_file,
 	       NULL);
   ags_thread_start(export_thread);
@@ -211,7 +218,7 @@ ags_export_output_launch(AgsTask *task)
 /**
  * ags_export_output_new:
  * @export_thread: the #AgsExportThread to start
- * @devout: the #AgsDevout to export
+ * @soundcard: the #AgsSoundcard to export
  * @filename: the filename to save
  * @tic: stream duration in tact
  * @live_performance: if %TRUE export is done during real-time
@@ -224,7 +231,7 @@ ags_export_output_launch(AgsTask *task)
  */
 AgsExportOutput*
 ags_export_output_new(AgsExportThread *export_thread,
-		      AgsDevout *devout,
+		      GObject *soundcard,
 		      gchar *filename,
 		      guint tic,
 		      gboolean live_performance)
@@ -235,7 +242,7 @@ ags_export_output_new(AgsExportThread *export_thread,
 						   NULL);
 
   export_output->export_thread = export_thread;
-  export_output->devout = devout;
+  export_output->soundcard = soundcard;
   export_output->filename = filename;
   export_output->tic = tic;
   export_output->live_performance = live_performance;
diff --git a/src/ags/audio/task/ags_export_output.h b/src/ags/audio/task/ags_export_output.h
index 3dab04e..40abc95 100644
--- a/src/ags/audio/task/ags_export_output.h
+++ b/src/ags/audio/task/ags_export_output.h
@@ -22,10 +22,9 @@
 #include <glib.h>
 #include <glib-object.h>
 
+#include <ags/audio/ags_task.h>
 #include <ags/thread/ags_export_thread.h>
 
-#include <ags/X/ags_window.h>
-
 #define AGS_TYPE_EXPORT_OUTPUT                (ags_export_output_get_type())
 #define AGS_EXPORT_OUTPUT(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_EXPORT_OUTPUT, AgsExportOutput))
 #define AGS_EXPORT_OUTPUT_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_EXPORT_OUTPUT, AgsExportOutputClass))
@@ -41,7 +40,7 @@ struct _AgsExportOutput
   AgsTask task;
 
   AgsExportThread *export_thread;
-  AgsDevout *devout;
+  GObject *soundcard;
   gchar *filename;
   guint tic;
   gboolean live_performance;
@@ -55,7 +54,7 @@ struct _AgsExportOutputClass
 GType ags_export_output_get_type();
 
 AgsExportOutput* ags_export_output_new(AgsExportThread *export_thread,
-				       AgsDevout *devout,
+				       GObject *soundcard,
 				       gchar *filename,
 				       guint tic,
 				       gboolean live_performance);
diff --git a/src/ags/main.c b/src/ags/main.c
index 9859d6a..7a414b6 100644
--- a/src/ags/main.c
+++ b/src/ags/main.c
@@ -21,21 +21,19 @@
 #include <ags/object/ags_application_context.h>
 #include <ags/object/ags_config.h>
 #include <ags-lib/object/ags_connectable.h>
-
-#include <ags/server/ags_server_application_context.h>
+#include <ags/object/ags_soundcard.h>
 
 #include <ags/thread/ags_thread_init.h>
-#include <ags/thread/ags_thread_application_context.h>
 #include <ags/thread/ags_thread-posix.h>
 #include <ags/thread/ags_single_thread.h>
 #include <ags/thread/ags_autosave_thread.h>
+#include <ags/thread/ags_concurrency_provider.h>
 
-#include <ags/server/ags_server_application_context.h>
+#include <ags/server/ags_server.h>
 
 #include <ags/plugin/ags_ladspa_manager.h>
 
-#include <ags/audio/ags_audio_application_context.h>
-#include <ags/audio/ags_devout.h>
+#include <ags/audio/ags_sound_provider.h>
 
 #include <ags/X/ags_xorg_init.h>
 #include <ags/X/ags_xorg_application_context.h>
@@ -50,7 +48,6 @@
 #include <mcheck.h>
 
 #include <ao/ao.h>
-#include <libinstpatch/libinstpatch.h>
 
 #include <X11/Xlib.h>
 
@@ -74,13 +71,6 @@ extern void ags_thread_suspend_handler(int sig);
 
 static sigset_t ags_wait_mask;
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-extern AgsThreadApplicationContext *ags_thread_application_context;
-extern AgsServerApplicationContext *ags_server_application_context;
-extern AgsAudioApplicationContext *ags_audio_application_context;
-extern AgsXorgApplicationContext *ags_xorg_application_context;
-
 extern AgsLadspaManager *ags_ladspa_manager;
 
 struct sigaction ags_sigact;
@@ -95,9 +85,9 @@ ags_signal_handler(int signr)
   }else{
     sigemptyset(&(ags_sigact.sa_mask));
 
-    if(signr == AGS_ASYNC_QUEUE_SIGNAL_HIGH){
+    //    if(signr == AGS_ASYNC_QUEUE_SIGNAL_HIGH){
       // pthread_yield();
-    }
+    //    }
   }
 }
 
@@ -134,6 +124,8 @@ main(int argc, char **argv)
 {
   AgsThread *audio_loop;
   AgsThread *gui_thread;
+  AgsConfig *config;
+  AgsApplicationContext *application_context;
   GFile *autosave_file;
     
   gchar *filename, *autosave_filename;
@@ -208,11 +200,20 @@ main(int argc, char **argv)
   g_thread_init(NULL);  
   gtk_init(&argc, &argv);
 
-  ags_init_context(argc, argv);
-  ags_thread_init(argc, argv);
-  ags_audio_init_context(argc, argv);
-  ags_gui_init_context(argc, &argv);
-  ags_xorg_init_context(&argc, &argv);
+  config = ags_config_new(NULL);
+
+  application_context = ags_xorg_application_context_new(NULL,
+							 config);
+
+  g_object_set(config,
+	       "application-context\0", application_context,
+	       NULL);
+  
+  ags_init_context(application_context);
+  ags_thread_init(application_context);
+  ags_audio_init_context(application_context);
+  ags_gui_init_context(application_context);
+  ags_xorg_init_context(application_context);
 
   /* Declare ourself as a real time task */
   param.sched_priority = AGS_RT_PRIORITY;
@@ -246,7 +247,7 @@ main(int argc, char **argv)
     ags_file_close(file);
   }else{
     AgsThread *audio_loop;
-    AgsDevout *devout;
+    AgsSoundcard *soundcard;
     AgsWindow *window;
     AgsServer *server;
 
@@ -265,23 +266,22 @@ main(int argc, char **argv)
 				  wdir,
 				  AGS_DEFAULT_CONFIG);
 
-    ags_config_load_from_file(ags_config,
+    ags_config_load_from_file(config,
 			      config_file);
 
     g_free(wdir);
     g_free(config_file);
 
-    /* AgsDevout */
-    devout = ags_devout_new(ags_application_context);
-    g_object_set(ags_audio_application_context,
-		 "soundcard\0", devout,
+    /* AgsSoundcard */
+    soundcard = ags_devout_new(application_context);
+    g_object_set(application_context,
+		 "soundcard\0", soundcard,
 		 NULL);
     
       /* AgsWindow */
-    window = ags_window_new(ags_application_context);
-    g_object_set(ags_xorg_application_context,
+    window = ags_window_new(application_context);
+    g_object_set(application_context,
 		 "window\0", window,
-		 "soundcard\0", devout,
 		 NULL);
     g_object_ref(G_OBJECT(window));
 
@@ -292,15 +292,15 @@ main(int argc, char **argv)
     gtk_widget_show_all((GtkWidget *) window);
 
     /* AgsServer */
-    server = ags_server_new(ags_application_context);
-    g_object_set(ags_server_application_context,
+    server = ags_server_new(application_context);
+    g_object_set(application_context,
 		 "server\0", server,
 		 NULL);
 
     /* AgsMainLoop */
-    audio_loop = (AgsThread *) ags_audio_loop_new((GObject *) devout,
-						  ags_application_context);
-    g_object_set(ags_application_context,
+    audio_loop = (AgsThread *) ags_audio_loop_new((GObject *) soundcard,
+						  application_context);
+    g_object_set(application_context,
 		 "main-loop\0", audio_loop,
 		 NULL);
 
@@ -311,27 +311,18 @@ main(int argc, char **argv)
     ags_thread_start(audio_loop);
 
     /* complete thread pool */
-    ags_thread_pool_start(ags_thread_application_context->thread_pool);
+    ags_thread_pool_start(ags_concurrency_provider_get_thread_pool(application_context));
   }
 
   if(!single_thread){
     GList *children;
 
     /* find gui thread */
-    children = AGS_THREAD(ags_application_context->main_loop)->children;
-
-    while(children != NULL){
-      if(AGS_IS_GUI_THREAD(children)){
-	gui_thread = children;
-
-	break;
-      }
-
-      children = children->next;
-    }
+    gui_thread = ags_thread_find_type(AGS_THREAD(application_context->main_loop),
+				      AGS_TYPE_GUI_THREAD);
 
     /* start main loop */
-    ags_thread_start(AGS_THREAD(ags_application_context->main_loop));
+    ags_thread_start(AGS_THREAD(application_context->main_loop));
 
     /* join gui thread */
 #ifdef _USE_PTH
@@ -345,7 +336,7 @@ main(int argc, char **argv)
     AgsSingleThread *single_thread;
 
     /* single thread */
-    single_thread = ags_single_thread_new((GObject *) ags_audio_application_context->soundcard->data);
+    single_thread = ags_single_thread_new((GObject *) ags_sound_provider_get_soundcard(application_context)->data);
 
     /* add known threads to single_thread */
     ags_thread_add_child(AGS_THREAD(single_thread),
diff --git a/src/ags/object/ags_soundcard.c b/src/ags/object/ags_soundcard.c
index c7434e1..ac1baf8 100644
--- a/src/ags/object/ags_soundcard.c
+++ b/src/ags/object/ags_soundcard.c
@@ -88,6 +88,7 @@ ags_soundcard_get_application_context(AgsSoundcard *soundcard)
   g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), NULL);
   soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
   g_return_val_if_fail(soundcard_interface->get_application_context, NULL);
+
   return(soundcard_interface->get_application_context(soundcard));
 }
 
@@ -303,6 +304,7 @@ ags_soundcard_get_buffer(AgsSoundcard *soundcard)
   g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), NULL);
   soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
   g_return_val_if_fail(soundcard_interface->get_buffer, NULL);
+
   return(soundcard_interface->get_buffer(soundcard));
 }
 
@@ -320,6 +322,7 @@ ags_soundcard_get_next_buffer(AgsSoundcard *soundcard)
   g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), NULL);
   soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
   g_return_val_if_fail(soundcard_interface->get_next_buffer, NULL);
+
   return(soundcard_interface->get_next_buffer(soundcard));
 }
 
@@ -331,6 +334,7 @@ ags_soundcard_get_delay(AgsSoundcard *soundcard)
   g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), G_MAXUINT);
   soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
   g_return_val_if_fail(soundcard_interface->get_delay, G_MAXUINT);
+
   return(soundcard_interface->get_delay(soundcard));
 }
 
@@ -342,6 +346,7 @@ ags_soundcard_get_attack(AgsSoundcard *soundcard)
   g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), G_MAXUINT);
   soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
   g_return_val_if_fail(soundcard_interface->get_attack, G_MAXUINT);
+
   return(soundcard_interface->get_attack(soundcard));
 }
 
@@ -366,5 +371,31 @@ ags_soundcard_get_note_offset(AgsSoundcard *soundcard)
   g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), G_MAXUINT);
   soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
   g_return_val_if_fail(soundcard_interface->get_note_offset, G_MAXUINT);
+
   return(soundcard_interface->get_note_offset(soundcard));
 }
+
+GList*
+ags_soundcard_get_audio(AgsSoundcard *soundcard)
+{
+  AgsSoundcardInterface *soundcard_interface;
+
+  g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), NULL);
+  soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
+  g_return_val_if_fail(soundcard_interface->get_audio, NULL);
+
+  return(soundcard_interface->get_audio(soundcard));
+}
+
+void
+ags_soundcard_set_audio(AgsSoundcard *soundcard,
+			GList *audio)
+{
+  AgsSoundcardInterface *soundcard_interface;
+
+  g_return_if_fail(AGS_IS_SOUNDCARD(soundcard));
+  soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard);
+  g_return_if_fail(soundcard_interface->set_audio);
+  soundcard_interface->set_audio(soundcard,
+				 audio);
+}
diff --git a/src/ags/object/ags_soundcard.h b/src/ags/object/ags_soundcard.h
index 0fc66f9..69ddaff 100644
--- a/src/ags/object/ags_soundcard.h
+++ b/src/ags/object/ags_soundcard.h
@@ -78,6 +78,10 @@ struct _AgsSoundcardInterface
   void (*set_note_offset)(AgsSoundcard *soundcard,
 			  guint note_offset);
   guint (*get_note_offset)(AgsSoundcard *soundcard);
+
+  void (*set_audio)(AgsSoundcard *soundcard,
+		    GList *audio);
+  GList* (*get_audio)(AgsSoundcard *soundcard);
 };
 
 GType ags_soundcard_get_type();
@@ -124,4 +128,8 @@ void ags_soundcard_set_note_offset(AgsSoundcard *soundcard,
 				   guint note_offset);
 guint ags_soundcard_get_note_offset(AgsSoundcard *soundcard);
 
+GList* ags_soundcard_get_audio(AgsSoundcard *soundcard);
+void ags_soundcard_set_audio(AgsSoundcard *soundcard,
+			     GList *audio);
+
 #endif /*__AGS_SOUNDCARD_H__*/
diff --git a/src/ags/audio/ags_audio_init.h b/src/ags/server/#ags_server_init.c#
similarity index 78%
copy from src/ags/audio/ags_audio_init.h
copy to src/ags/server/#ags_server_init.c#
index 846c644..a9a4c65 100644
--- a/src/ags/audio/ags_audio_init.h
+++ b/src/ags/server/#ags_server_init.c#
@@ -16,14 +16,18 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#ifndef __AGS_AUDIO_INIT_H__
-#define __AGS_AUDIO_INIT_H__
-
-#include <glib.h>
-#include <glib-object.h>
+#include <ags/server/ags_server_init.h>
 
 #include <ags/object/ags_application_context.h>
 
-void ags_audio_init_context(AgsApplicationContext *application_context);
+void
+ags_server_init_context(AgsApplicationContext *application_context)
+{
+  const char *error;
+
+#ifdef AGS_WITH_XMLRPC_C
+  AbyssInit(&error);
 
-#endif /*__AGS_AUDIO_INIT_H__*/
+  xmlrpc_env_init(&(ags_main->env));
+#endif
+}
diff --git a/src/ags/server/.#ags_server_init.c b/src/ags/server/.#ags_server_init.c
new file mode 120000
index 0000000..33a253d
--- /dev/null
+++ b/src/ags/server/.#ags_server_init.c
@@ -0,0 +1 @@
+minos at Device-03036C.27864:1428021034
\ No newline at end of file
diff --git a/src/ags/server/ags_server.c b/src/ags/server/ags_server.c
index 5f9b9ba..ad31855 100644
--- a/src/ags/server/ags_server.c
+++ b/src/ags/server/ags_server.c
@@ -44,10 +44,6 @@ static guint server_signals[LAST_SIGNAL];
 
 static GList *ags_server_list = NULL;
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-extern AgsServerApplicationContext *ags_server_application_context;
-
 GType
 ags_server_get_type()
 {
@@ -158,7 +154,7 @@ ags_server_add_to_registry(AgsConnectable *connectable)
   method_info->methodName = "ags_server_create_object\0";
   method_info->methodFunction = &ags_server_create_object;
   method_info->serverInfo = NULL;
-  xmlrpc_registry_add_method3(&(ags_server_application_context->env),
+  xmlrpc_registry_add_method3(&(ags_service_provider_get_env(AGS_SERVICE_PROVIDER(server->application_context))),
 			      registry->registry,
 			      method_info);
 
@@ -167,7 +163,7 @@ ags_server_add_to_registry(AgsConnectable *connectable)
   method_info->methodName = "ags_server_object_set_property\0";
   method_info->methodFunction = &ags_server_object_set_property;
   method_info->serverInfo = NULL;
-  xmlrpc_registry_add_method3(&(ags_server_application_context->env),
+  xmlrpc_registry_add_method3(&(ags_service_provider_get_env(AGS_SERVICE_PROVIDER(server->application_context))),
 			      registry->registry,
 			      method_info);
 #endif /* AGS_WITH_XMLRPC_C */
@@ -213,10 +209,10 @@ ags_server_real_start(AgsServer *server)
 
   registry = AGS_REGISTRY(server->registry);
 #ifdef AGS_WITH_XMLRPC_C
-  registry->registry = xmlrpc_registry_new(&(ags_server_application_context->env));
+  registry->registry = xmlrpc_registry_new(&(ags_service_provider_get_env(AGS_SERVICE_PROVIDER(server->application_context))));
 #endif /* AGS_WITH_XMLRPC_C */
 
-  ags_connectable_add_to_registry(AGS_CONNECTABLE(ags_application_context));
+  ags_connectable_add_to_registry(AGS_CONNECTABLE(server->application_context));
 
   //  xmlrpc_registry_set_shutdown(registry,
   //			       &requestShutdown, &terminationRequested);
diff --git a/src/ags/server/ags_server_init.c b/src/ags/server/ags_server_init.c
index bce7422..604fa56 100644
--- a/src/ags/server/ags_server_init.c
+++ b/src/ags/server/ags_server_init.c
@@ -22,12 +22,8 @@
 
 #include <ags/server/ags_server_application_context.h>
 
-extern pthread_key_t application_context;
-AgsApplicationContext *ags_application_context =  pthread_getspecific(application_context);
-extern AgsServerApplicationContext *ags_server_application_context;
-
 void
-ags_server_init_context(int *argc, gchar ***argv)
+ags_server_init_context(AgsApplicationContext *application_context)
 {
   const char *error;
 
@@ -36,10 +32,4 @@ ags_server_init_context(int *argc, gchar ***argv)
 
   xmlrpc_env_init(&(ags_main->env));
 #endif
-
-  /* instantiate application context */
-  ags_server_application_context = ags_server_application_context_new(NULL,
-								      NULL);
-  ags_application_context_add_sibling(ags_application_context,
-				      ags_server_application_context);
 }
diff --git a/src/ags/server/ags_server_init.h b/src/ags/server/ags_server_init.h
index e86bf0f..af25ceb 100644
--- a/src/ags/server/ags_server_init.h
+++ b/src/ags/server/ags_server_init.h
@@ -24,6 +24,8 @@
 
 #include <gtk/gtk.h>
 
-void ags_server_init_context(int *argc, gchar ***argv);
+#include <ags/object/ags_application_context.h>
+
+void ags_server_init_context(AgsApplicationContext *application_context);
 
 #endif /*__AGS_SERVER_INIT_H__*/
diff --git a/src/ags/thread/ags_concurrency_provider.h b/src/ags/thread/ags_concurrency_provider.h
new file mode 100644
index 0000000..e199074
--- /dev/null
+++ b/src/ags/thread/ags_concurrency_provider.h
@@ -0,0 +1,47 @@
+/* AGS - Advanced GTK Sequencer
+ * Copyright (C) 2015 Joël Krähemann
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __AGS_CONCURRENCY_PROVIDER_H__
+#define __AGS_CONCURRENCY_PROVIDER_H__
+
+#include <glib-object.h>
+
+#include <ags/object/ags_main_loop.h>
+
+#define AGS_TYPE_CONCURRENCY_PROVIDER                    (ags_concurrency_provider_get_type())
+#define AGS_CONCURRENCY_PROVIDER(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_CONCURRENCY_PROVIDER, AgsConcurrencyProvider))
+#define AGS_CONCURRENCY_PROVIDER_INTERFACE(vtable)       (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_CONCURRENCY_PROVIDER, AgsConcurrencyProviderInterface))
+#define AGS_IS_CONCURRENCY_PROVIDER(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_CONCURRENCY_PROVIDER))
+#define AGS_IS_CONCURRENCY_PROVIDER_INTERFACE(vtable)    (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_CONCURRENCY_PROVIDER))
+#define AGS_CONCURRENCY_PROVIDER_GET_INTERFACE(obj)      (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_CONCURRENCY_PROVIDER, AgsConcurrencyProviderInterface))
+
+typedef void AgsConcurrencyProvider;
+typedef struct _AgsConcurrencyProviderInterface AgsConcurrencyProviderInterface;
+
+struct _AgsConcurrencyProviderInterface
+{
+  GTypeInterface interface;
+
+  AgsThread* (*get_main_loop)(AgsConcurrencyProvider *concurrency_provider);
+};
+
+GType ags_concurrency_provider_get_type();
+
+AgsThread* ags_concurrency_provider_get_main_loop(AgsConcurrencyProvider *concurrency_provider);
+
+#endif /*__AGS_CONCURRENCY_PROVIDER_H__*/
diff --git a/src/ags/thread/ags_concurrency_provider.h~ b/src/ags/thread/ags_concurrency_provider.h~
new file mode 100644
index 0000000..f5436ff
--- /dev/null
+++ b/src/ags/thread/ags_concurrency_provider.h~
@@ -0,0 +1,47 @@
+/* AGS - Advanced GTK Sequencer
+ * Copyright (C) 2015 Joël Krähemann
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __AGS_CONCURRENCY_PROVIDER_H__
+#define __AGS_CONCURRENCY_PROVIDER_H__
+
+#include <glib-object.h>
+
+#include <ags/server/ags_server.h>
+
+#define AGS_TYPE_CONCURRENCY_PROVIDER                    (ags_concurrency_provider_get_type())
+#define AGS_CONCURRENCY_PROVIDER(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_CONCURRENCY_PROVIDER, AgsConcurrencyProvider))
+#define AGS_CONCURRENCY_PROVIDER_INTERFACE(vtable)       (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_CONCURRENCY_PROVIDER, AgsConcurrencyProviderInterface))
+#define AGS_IS_CONCURRENCY_PROVIDER(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_CONCURRENCY_PROVIDER))
+#define AGS_IS_CONCURRENCY_PROVIDER_INTERFACE(vtable)    (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_CONCURRENCY_PROVIDER))
+#define AGS_CONCURRENCY_PROVIDER_GET_INTERFACE(obj)      (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_CONCURRENCY_PROVIDER, AgsConcurrencyProviderInterface))
+
+typedef void AgsConcurrencyProvider;
+typedef struct _AgsConcurrencyProviderInterface AgsConcurrencyProviderInterface;
+
+struct _AgsConcurrencyProviderInterface
+{
+  GTypeInterface interface;
+
+  AgsServer* (*get_server)(AgsConcurrencyProvider *concurrency_provider);
+};
+
+GType ags_concurrency_provider_get_type();
+
+AgsServer* ags_concurrency_provider_get_server(AgsConcurrencyProvider *concurrency_provider);
+
+#endif /*__AGS_CONCURRENCY_PROVIDER_H__*/

-- 
gsequencer packaging



More information about the pkg-multimedia-commits mailing list