[SCM] gsequencer/master: Imported Debian patch 0.4.2-67-1
jkraehemann-guest at users.alioth.debian.org
jkraehemann-guest at users.alioth.debian.org
Fri Jun 19 13:22:05 UTC 2015
The following commit has been merged in the master branch:
commit e7fd2136094a4b4e8125d9ae51bf298d2e2715a9
Author: Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) <jkraehemann at gmail.com>
Date: Thu Jun 11 11:52:06 2015 +0200
Imported Debian patch 0.4.2-67-1
diff --git a/Makefile.am b/Makefile.am
index 5874793..36e9667 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -10,52 +10,10 @@ LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now
# this lists the binaries to produce, the (non-PHONY, binary) targets in
# the previous manual Makefile
noinst_LIBRARIES =
-bin_PROGRAMS = ags midi2xml
-EXTRA_DIST = gsequencer.share acsite.m4 ags.1 midi2xml.1 README
+bin_PROGRAMS = ags
+EXTRA_DIST = gsequencer.share acsite.m4 ags.1
CLEANFILES =
-man1_MANS = ags.1 midi2xml.1
-
-appdatadir = $(datadir)/applications
-appdata_DATA = ags.desktop
-
-EXTRA_DIST += ags.desktop.in
-CLEANFILES += $(appdata_DATA)
-
-docdir = $(datadir)/doc/gsequencer
-doc_DATA = README
-
-# documentation
-userdoc = \
- doc/usersBook.xml \
- doc/appa.xml \
- doc/usersBook/appb.xml \
- doc/usersBook/chap1.xml \
- doc/usersBook/chap2.xml \
- doc/usersBook/chap3.xml \
- doc/usersBook/chap4.xml \
- doc/usersBook/preface.xml
-
-userdocimages = \
- $(top_srcdir)/doc/images/ags_export_window.png \
- $(top_srcdir)/doc/images/ags_machine_properties-input.png \
- $(top_srcdir)/doc/images/ags_machine_properties-resize_channels.png \
- $(top_srcdir)/doc/images/ags_navigation.png \
- $(top_srcdir)/doc/images/ags_synth.png \
- $(top_srcdir)/doc/images/ags_audio_preferences.png \
- $(top_srcdir)/doc/images/ags_ffplayer.png \
- $(top_srcdir)/doc/images/ags_ladspa_browser.png \
- $(top_srcdir)/doc/images/ags_machine_properties-link_input.png \
- $(top_srcdir)/doc/images/ags_matrix.png \
- $(top_srcdir)/doc/images/ags_panel.png \
- $(top_srcdir)/doc/images/ags-toolbar.png \
- $(top_srcdir)/doc/images/ags_drum.png \
- $(top_srcdir)/doc/images/ags_generic_preferences.png \
- $(top_srcdir)/doc/images/ags_machine_properties-output.png \
- $(top_srcdir)/doc/images/ags_mixer.png \
- $(top_srcdir)/doc/images/ags_performance_preferences.png \
- $(top_srcdir)/doc/images/ags_server_preferences.png
-
-EXTRA_DIST += $(userdoc) $(userdocimages)
+man1_MANS = ags.1
# library
libags_a_CFLAGS= $(GOBJECT_CFLAGS) $(LIBXML2_CFLAGS)
@@ -67,37 +25,22 @@ ags_CFLAGS= $(CFLAGS) $(UUID_CFLAGS) $(LIBASOUND2_CFLAGS) $(LIBAO_CFLAGS) $(LIBX
ags_LDFLAGS= -ldl $(LDFLAGS) $(UUID_LIBS) $(LIBASOUND2_LIBS) $(LIBAO_LIBS) $(LIBXML2_LIBS) $(OPENSSL_LIBS) $(SNDFILE_LIBS) $(LIBINSTPATCH_LIBS) $(GOBJECT_LIBS) $(GDKPIXBUF_LIBS) $(CAIRO_LIBS) $(GTK_LIBS) $(XMLRPC_LIBS) $(XMLRPC_UTIL_LIBS) $(XMLRPC_SERVER_ABYSS_LIBS) $(XMLRPC_SERVER_CGI_LIBS) $(XMLRPC_SERVER_LIBS) -lm -lrt -lX11 -pthread
ags_LDADD =
-ags_SOURCES = ./src/ags-lib/object/ags_connectable.c ./src/ags-lib/object/ags_connectable.h src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c src/ags/lib/ags_container.c src/ags/lib/ags_parameter.h src/ags/lib/ags_list.h src/ags/lib/ags_log.c src/ags/lib/ags_container.h src/ags/lib/ags_combo_box_text.h src/ags/lib/ags_log.h src/ags/lib/ags_parameter.c src/ags/X/editor/ags_notebook_callbacks.c src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_machine_radio_button.h src/ags/X/editor/ags_file_selection_callbacks.h src/ags/X/editor/ags_notebook_callbacks.h src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_meter_callbacks.c src/ags/X/editor/ags_notebook.h src/ags/X/editor/ags_sf2_chooser.h src/ags/X/editor/ags_toolbar_mode_stock.h src/ags/X/editor/ags_meter_callbacks.h src/ags/X/editor/ags_toolbar_callbacks.c src/ags/X/editor/ags_machine_selector.c src/ags/X/editor/ags_machine_selector_callbacks.c src/ags/X/editor/ags_machine_radio_button.c src/ags/X/editor/ags_sf2_chooser.c src/ags/X/editor/ags_machine_selector_callbacks.h src/ags/X/editor/ags_sf2_chooser_callbacks.c src/ags/X/editor/ags_notebook.c src/ags/X/editor/ags_note_edit_callbacks.c src/ags/X/editor/ags_file_selection_callbacks.c src/ags/X/editor/ags_machine_selection.c src/ags/X/editor/ags_inline_player_callbacks.h src/ags/X/editor/ags_inline_player.c src/ags/X/editor/ags_meter.c src/ags/X/editor/ags_file_selection.h src/ags/X/editor/ags_inline_player.h src/ags/X/editor/ags_sf2_chooser_callbacks.h src/ags/X/editor/ags_file_selection.c src/ags/X/editor/ags_machine_selector.h src/ags/X/editor/ags_note_edit_callbacks.h src/ags/X/editor/ags_note_edit.c src/ags/X/editor/ags_inline_player_callbacks.c src/ags/X/editor/ags_toolbar_callbacks.h src/ags/X/editor/ags_machine_selection.h src/ags/X/editor/ags_toolbar.c src/ags/X/ags_line_callbacks.h src/ags/X/ags_plugin_preferences.c src/ags/X/ags_link_editor.c src/ags/X/ags_pad_callbacks.h src/ags/X/ags_machine_callbacks.c src/ags/X/ags_server_preferences_callbacks.h src/ags/X/ags_listing_editor_callbacks.c src/ags/X/ags_link_collection_editor_callbacks.c src/ags/X/ags_generic_preferences_callbacks.c src/ags/X/ags_property_collection_editor_callbacks.c src/ags/X/ags_property_collection_editor.h src/ags/X/ags_resize_editor.h src/ags/X/ags_property_editor.h src/ags/X/ags_window_callbacks.h src/ags/X/ags_property_editor_callbacks.c src/ags/X/machine/ags_synth_callbacks.h src/ags/X/machine/ags_synth.c src/ags/X/machine/ags_mixer.c src/ags/X/machine/ags_matrix_callbacks.c src/ags/X/machine/ags_panel_input_line.c src/ags/X/machine/ags_synth_input_line.c src/ags/X/machine/ags_drum_callbacks.h src/ags/X/machine/ags_mixer_callbacks.c src/ags/X/machine/ags_synth_callbacks.c src/ags/X/machine/ags_ffplayer_callbacks.h src/ags/X/machine/ags_drum_input_line.h src/ags/X/machine/ags_matrix.h src/ags/X/machine/ags_mixer_input_line.c src/ags/X/machine/ags_oscillator.c src/ags/X/machine/ags_oscillator.h src/ags/X/machine/ags_oscillator_callbacks.h src/ags/X/machine/ags_mixer.h src/ags/X/machine/ags_panel_input_pad.h src/ags/X/machine/ags_panel_input_pad.c src/ags/X/machine/ags_matrix.c src/ags/X/machine/ags_panel.h src/ags/X/machine/ags_drum_output_line_callbacks.c src/ags/X/machine/ags_ffplayer.h src/ags/X/machine/ags_panel_callbacks.c src/ags/X/machine/ags_mixer_input_pad.c src/ags/X/machine/ags_panel.c src/ags/X/machine/ags_drum.c src/ags/X/machine/ags_matrix_callbacks.h src/ags/X/machine/ags_drum_output_line.h src/ags/X/machine/ags_drum_output_pad.h src/ags/X/machine/ags_synth_input_pad.h src/ags/X/machine/ags_panel_callbacks.h src/ags/X/machine/ags_ffplayer.c src/ags/X/machine/ags_drum_output_line_callbacks.h src/ags/X/machine/ags_drum_output_pad_callbacks.c src/ags/X/machine/ags_drum_output_pad_callbacks.h src/ags/X/machine/ags_drum_input_pad_callbacks.h src/ags/X/machine/ags_oscillator_callbacks.c src/ags/X/machine/ags_drum_callbacks.c src/ags/X/machine/ags_synth_input_line.h src/ags/X/machine/ags_drum_input_pad_callbacks.c src/ags/X/machine/ags_drum_input_pad.c src/ags/X/machine/ags_panel_input_line.h src/ags/X/machine/ags_drum_input_line_callbacks.h src/ags/X/machine/ags_drum_output_line.c src/ags/X/machine/ags_mixer_callbacks.h src/ags/X/machine/ags_synth.h src/ags/X/machine/ags_mixer_input_line.h src/ags/X/machine/ags_drum.h src/ags/X/machine/ags_drum_input_line.c src/ags/X/machine/ags_ffplayer_callbacks.c src/ags/X/machine/ags_drum_output_pad.c src/ags/X/machine/ags_drum_input_pad.h src/ags/X/machine/ags_drum_input_line_callbacks.c src/ags/X/machine/ags_mixer_input_pad.h src/ags/X/machine/ags_synth_input_pad.c src/ags/X/ags_server_preferences.h src/ags/X/ags_line_editor_callbacks.h src/ags/X/ags_pad_editor_callbacks.c src/ags/X/ags_listing_editor_callbacks.h src/ags/X/ags_line_member_callbacks.c src/ags/X/ags_editor.h src/ags/X/ags_machine_editor.h src/ags/X/ags_plugin_preferences_callbacks.h src/ags/X/ags_export_window_callbacks.h src/ags/X/ags_editor_callbacks.c src/ags/X/ags_pad_editor.h src/ags/X/ags_server_preferences.c src/ags/X/ags_line_editor.c src/ags/X/ags_ladspa_browser.h src/ags/X/ags_audio_preferences.c src/ags/X/ags_pad.c src/ags/X/ags_line.c src/ags/X/ags_menu_bar_callbacks.c src/ags/X/ags_generic_preferences_callbacks.h src/ags/X/ags_pad.h src/ags/X/ags_audio_preferences_callbacks.h src/ags/X/ags_generic_preferences.c src/ags/X/ags_window.c src/ags/X/ags_machine_editor_callbacks.h src/ags/X/ags_editor_callbacks.h src/ags/X/ags_menu_bar_callbacks.h src/ags/X/ags_line_member_editor.h src/ags/X/ags_property_collection_editor_callbacks.h src/ags/X/ags_line_editor_callbacks.c src/ags/X/ags_property_editor.c src/ags/X/ags_link_editor_callbacks.c src/ags/X/ags_server_preferences_callbacks.c src/ags/X/ags_pad_callbacks.c src/ags/X/ags_line_member.h src/ags/X/ags_audio_preferences_callbacks.c src/ags/X/ags_performance_preferences.h src/ags/X/ags_property_collection_editor.c src/ags/X/ags_performance_preferences_callbacks.h src/ags/X/ags_line.h src/ags/X/ags_machine.c src/ags/X/ags_preferences_callbacks.c src/ags/X/ags_export_window.c src/ags/X/ags_menu_bar.c src/ags/X/ags_plugin_preferences_callbacks.c src/ags/X/ags_line_member_callbacks.h src/ags/X/ags_preferences.c src/ags/X/ags_export_window.h src/ags/X/ags_pad_editor_callbacks.h src/ags/X/ags_window.h src/ags/X/ags_machine_callbacks.h src/ags/X/ags_machine.h src/ags/X/ags_line_callbacks.c src/ags/X/ags_link_editor_callbacks.h src/ags/X/ags_navigation_callbacks.h src/ags/X/ags_pad_editor.c src/ags/X/ags_ladspa_browser.c src/ags/X/ags_editor.c src/ags/X/ags_resize_editor.c src/ags/X/ags_property_listing_editor.c src/ags/X/ags_property_editor_callbacks.h src/ags/X/ags_line_member_editor_callbacks.h src/ags/X/ags_window_callbacks.c src/ags/X/ags_audio_preferences.h src/ags/X/ags_navigation_callbacks.c src/ags/X/ags_plugin_preferences.h src/ags/X/ags_performance_preferences_callbacks.c src/ags/X/ags_line_member.c src/ags/X/ags_preferences.h src/ags/X/ags_generic_preferences.h src/ags/X/ags_navigation.h src/ags/X/ags_listing_editor.h src/ags/X/ags_performance_preferences.c src/ags/X/ags_link_editor.h src/ags/X/ags_ladspa_browser_callbacks.c src/ags/X/ags_link_collection_editor.c src/ags/X/ags_preferences_callbacks.h src/ags/X/ags_machine_editor_callbacks.c src/ags/X/ags_menu_bar.h src/ags/X/ags_export_window_callbacks.c src/ags/X/ags_line_member_editor_callbacks.c src/ags/X/ags_link_collection_editor.h src/ags/X/ags_link_collection_editor_callbacks.h src/ags/X/ags_property_listing_editor.h src/ags/X/ags_navigation.c src/ags/X/ags_machine_editor.c src/ags/X/ags_line_member_editor.c src/ags/X/ags_ladspa_browser_callbacks.h src/ags/X/ags_line_editor.h src/ags/X/ags_listing_editor.c src/ags/object/ags_applicable.c src/ags/object/ags_seekable.h src/ags/object/ags_packable.c src/ags/object/ags_persistable.h src/ags/object/ags_packable.h src/ags/object/ags_applicable.h src/ags/object/ags_main_loop.c src/ags/object/ags_soundcard.c src/ags/object/ags_marshal.c src/ags/object/ags_mutable.h src/ags/object/ags_plugin.h src/ags/object/ags_stackable.h src/ags/object/ags_runnable.c src/ags/object/ags_tactable.h src/ags/object/ags_mutable.c src/ags/object/ags_runnable.h src/ags/object/ags_effect.c src/ags/object/ags_playable.c src/ags/object/ags_dynamic_connectable.c src/ags/object/ags_seekable.c src/ags/object/ags_countable.c src/ags/object/ags_plugin.c src/ags/object/ags_tree_iterator.h src/ags/object/ags_playable.h src/ags/object/ags_effect.h src/ags/object/ags_soundcard.h src/ags/object/ags_countable.h src/ags/object/ags_marshal.h src/ags/object/ags_portlet.h src/ags/object/ags_dynamic_connectable.h src/ags/object/ags_tactable.c src/ags/object/ags_tree_iterator.c src/ags/object/ags_persistable.c src/ags/object/ags_main_loop.h src/ags/object/ags_stackable.c src/ags/object/ags_portlet.c src/ags/util/ags_id_generator.c src/ags/util/ags_id_generator.h src/ags/widget/ags_led.h src/ags/widget/ags_expander_set.c src/ags/widget/ags_expander_set.h src/ags/widget/ags_menu.c src/ags/widget/ags_hindicator.h src/ags/widget/ags_menu.h src/ags/widget/ags_timebar.c src/ags/widget/ags_dial.c src/ags/widget/ags_ruler.h src/ags/widget/ags_dial.h src/ags/widget/ags_segment.c src/ags/widget/ags_htimebar.c src/ags/widget/ags_option_menu.h src/ags/widget/ags_indicator.c src/ags/widget/ags_htimebar.h src/ags/widget/ags_option_menu.c src/ags/widget/ags_expander.h src/ags/widget/ags_menu_item.h src/ags/widget/ags_hindicator.c src/ags/widget/ags_cartesian.h src/ags/widget/ags_indicator.h src/ags/widget/ags_cartesian.c src/ags/widget/ags_menu_item.c src/ags/widget/ags_waveform.c src/ags/widget/ags_ruler.c src/ags/widget/ags_expander.c src/ags/widget/ags_vindicator.c src/ags/widget/ags_timebar.h src/ags/widget/ags_led.c src/ags/widget/ags_waveform.h src/ags/widget/ags_table.c src/ags/widget/ags_table.h src/ags/widget/ags_vindicator.h src/ags/widget/ags_segment.h src/ags/main.c src/ags/audio/task/ags_export_output.h src/ags/audio/task/ags_set_output_device.c src/ags/audio/task/ags_add_audio.h src/ags/audio/task/ags_set_samplerate.c src/ags/audio/task/ags_remove_point_from_selection.c src/ags/audio/task/ags_save_file.h src/ags/audio/task/ags_set_buffer_size.h src/ags/audio/task/ags_link_channel.c src/ags/audio/task/ags_save_file.c src/ags/audio/task/ags_append_audio_threaded.h src/ags/audio/task/ags_cancel_channel.h src/ags/audio/task/ags_apply_synth.h src/ags/audio/task/ags_seek_devout.h src/ags/audio/task/ags_append_recall.h src/ags/audio/task/ags_add_audio_signal.c src/ags/audio/task/ags_unref_audio_signal.c src/ags/audio/task/ags_remove_region_from_selection.c src/ags/audio/task/ags_change_indicator.h src/ags/audio/task/ags_remove_point_from_selection.h src/ags/audio/task/ags_set_audio_channels.h src/ags/audio/task/ags_scroll_on_play.h src/ags/audio/task/ags_remove_audio.h src/ags/audio/task/ags_remove_recall_container.c src/ags/audio/task/ags_remove_recall.c src/ags/audio/task/ags_seek_devout.c src/ags/audio/task/ags_append_recall.c src/ags/audio/task/ags_free_selection.h src/ags/audio/task/ags_add_recall_container.c src/ags/audio/task/ags_add_recall.c src/ags/audio/task/ags_export_output.c src/ags/audio/task/ags_init_channel.h src/ags/audio/task/ags_remove_note.c src/ags/audio/task/ags_apply_wavetable.h src/ags/audio/task/ags_add_audio_signal.h src/ags/audio/task/ags_cancel_recall.h src/ags/audio/task/ags_set_audio_channels.c src/ags/audio/task/ags_cancel_audio.c src/ags/audio/task/ags_unref_audio_signal.h src/ags/audio/task/ags_add_region_to_selection.c src/ags/audio/task/ags_change_tact.h src/ags/audio/task/ags_init_audio.c src/ags/audio/task/ags_channel_set_recycling.c src/ags/audio/task/ags_display_tact.c src/ags/audio/task/ags_add_point_to_selection.h src/ags/audio/task/ags_toggle_pattern_bit.h src/ags/audio/task/ags_append_channel.c src/ags/audio/task/ags_change_indicator.c src/ags/audio/task/ags_add_note.c src/ags/audio/task/ags_channel_set_recycling.h src/ags/audio/task/ags_cancel_audio.h src/ags/audio/task/recall/ags_set_muted.c src/ags/audio/task/recall/ags_set_muted.h src/ags/audio/task/recall/ags_apply_sequencer_length.c src/ags/audio/task/recall/ags_apply_bpm.h src/ags/audio/task/recall/ags_apply_tact.c src/ags/audio/task/recall/ags_apply_bpm.c src/ags/audio/task/recall/ags_apply_sequencer_length.h src/ags/audio/task/recall/ags_apply_tact.h src/ags/audio/task/ags_remove_region_from_selection.h src/ags/audio/task/ags_cancel_channel.c src/ags/audio/task/ags_add_recall_container.h src/ags/audio/task/ags_add_recall.h src/ags/audio/task/ags_add_note.h src/ags/audio/task/ags_start_devout.c src/ags/audio/task/ags_append_audio_threaded.c src/ags/audio/task/ags_append_audio.c src/ags/audio/task/ags_init_channel.c src/ags/audio/task/ags_remove_audio_signal.h src/ags/audio/task/ags_toggle_led.c src/ags/audio/task/ags_set_buffer_size.c src/ags/audio/task/ags_add_region_to_selection.h src/ags/audio/task/ags_audio_set_recycling.h src/ags/audio/task/ags_toggle_led.h src/ags/audio/task/ags_resize_audio.h src/ags/audio/task/ags_free_selection.c src/ags/audio/task/ags_add_audio.c src/ags/audio/task/ags_set_samplerate.h src/ags/audio/task/ags_apply_synth.c src/ags/audio/task/ags_open_single_file.h src/ags/audio/task/ags_remove_audio.c src/ags/audio/task/ags_cancel_recall.c src/ags/audio/task/ags_init_audio.h src/ags/audio/task/ags_remove_note.h src/ags/audio/task/ags_remove_audio_signal.c src/ags/audio/task/ags_audio_set_recycling.c src/ags/audio/task/ags_add_point_to_selection.c src/ags/audio/task/ags_scroll_on_play.c src/ags/audio/task/ags_set_devout_play_flags.c src/ags/audio/task/ags_apply_wavetable.c src/ags/audio/task/ags_add_line_member.c src/ags/audio/task/ags_open_file.h src/ags/audio/task/ags_set_output_device.h src/ags/audio/task/ags_toggle_pattern_bit.c src/ags/audio/task/ags_open_file.c src/ags/audio/task/ags_open_single_file.c src/ags/audio/task/ags_append_audio.h src/ags/audio/task/ags_start_devout.h src/ags/audio/task/ags_display_tact.h src/ags/audio/task/ags_remove_recall_container.h src/ags/audio/task/ags_remove_recall.h src/ags/audio/task/ags_change_tact.c src/ags/audio/task/ags_append_channel.h src/ags/audio/task/ags_resize_audio.c src/ags/audio/task/ags_link_channel.h src/ags/audio/task/ags_add_line_member.h src/ags/audio/task/ags_set_devout_play_flags.h src/ags/audio/ags_devout.c src/ags/audio/ags_recall_channel.h src/ags/audio/ags_timestamp_factory.h src/ags/audio/ags_garbage_collector.c src/ags/audio/ags_garbage_collector.h src/ags/audio/ags_recall_container.c src/ags/audio/ags_timestamp.c src/ags/audio/ags_channel_iter.h src/ags/audio/ags_recall_channel_run.c src/ags/audio/ags_audio.h src/ags/audio/ags_port.c src/ags/audio/ags_notation.c src/ags/audio/ags_recall_dependency.h src/ags/audio/ags_recycling.c src/ags/audio/ags_recall_audio_signal.h src/ags/audio/ags_input.c src/ags/audio/ags_synths.c src/ags/audio/ags_input.h src/ags/audio/ags_recycling_container.h src/ags/audio/ags_recall_id.h src/ags/audio/ags_note.c src/ags/audio/ags_timestamp_factory.c src/ags/audio/ags_channel.c src/ags/audio/ags_recall_audio.c src/ags/audio/ags_audio_signal.c src/ags/audio/ags_output.h src/ags/audio/ags_libao.c src/ags/audio/file/ags_ipatch_sf2_reader.c src/ags/audio/file/ags_audio_file_xml.h src/ags/audio/file/ags_ipatch.c src/ags/audio/file/ags_audio_file.c src/ags/audio/file/ags_sndfile.h src/ags/audio/file/ags_ipatch.h src/ags/audio/file/ags_audio_file.h src/ags/audio/file/ags_ipatch_sf2_reader.h src/ags/audio/file/ags_audio_file_xml.c src/ags/audio/file/ags_sndfile.c src/ags/audio/ags_devout.h src/ags/audio/ags_port.h src/ags/audio/ags_note.h src/ags/audio/ags_timestamp.h src/ags/audio/ags_notation.h src/ags/audio/ags_recall_audio_run.c src/ags/audio/ags_recycling_container.c src/ags/audio/ags_audio_signal.h src/ags/audio/ags_recall_recycling.h src/ags/audio/recall/ags_mute_audio.h src/ags/audio/recall/ags_mute_audio_run.h src/ags/audio/recall/ags_clone_channel.c src/ags/audio/recall/ags_copy_channel.c src/ags/audio/recall/ags_copy_pattern_channel.c src/ags/audio/recall/ags_copy_recycling.c src/ags/audio/recall/ags_volume_audio_signal.h src/ags/audio/recall/ags_play_channel.h src/ags/audio/recall/ags_play_notation_audio_run.c src/ags/audio/recall/ags_buffer_audio_signal.c src/ags/audio/recall/ags_play_channel_run.c src/ags/audio/recall/ags_stream_channel_run.c src/ags/audio/recall/ags_copy_notation_audio_run.c src/ags/audio/recall/ags_mute_channel.c src/ags/audio/recall/ags_count_beats_audio.h src/ags/audio/recall/ags_copy_pattern_audio.c src/ags/audio/recall/ags_copy_pattern_audio_run.c src/ags/audio/recall/ags_clone_channel_run.h src/ags/audio/recall/ags_delay_audio.h src/ags/audio/recall/ags_copy_notation_audio_run.h src/ags/audio/recall/ags_stream.c src/ags/audio/recall/ags_play_audio_file.h src/ags/audio/recall/ags_loop_channel_run.c src/ags/audio/recall/ags_play_pattern.c src/ags/audio/recall/ags_stream_channel_run.h src/ags/audio/recall/ags_amplifier.h src/ags/audio/recall/ags_echo.c src/ags/audio/recall/ags_play_note.c src/ags/audio/recall/ags_buffer_channel.c src/ags/audio/recall/ags_clone_channel_run.c src/ags/audio/recall/ags_peak_channel.h src/ags/audio/recall/ags_peak_recycling.h src/ags/audio/recall/ags_peak_audio_signal.h src/ags/audio/recall/ags_play_recycling.h src/ags/audio/recall/ags_stream_channel.h src/ags/audio/recall/ags_amplifier.c src/ags/audio/recall/ags_mute_audio_signal.h src/ags/audio/recall/ags_copy_notation_audio.c src/ags/audio/recall/ags_buffer_channel_run.h src/ags/audio/recall/ags_copy_recycling.h src/ags/audio/recall/ags_down_mix.h src/ags/audio/recall/ags_volume_recycling.h src/ags/audio/recall/ags_volume_channel_run.h src/ags/audio/recall/ags_stream_channel.c src/ags/audio/recall/ags_echo.h src/ags/audio/recall/ags_delay_audio_run.h src/ags/audio/recall/ags_stream_audio_signal.h src/ags/audio/recall/ags_mute_recycling.c src/ags/audio/recall/ags_play_pattern.h src/ags/audio/recall/ags_delay_audio.c src/ags/audio/recall/ags_buffer_recycling.c src/ags/audio/recall/ags_stream_recycling.h src/ags/audio/recall/ags_play_audio_signal.c src/ags/audio/recall/ags_play_channel_run_master.h src/ags/audio/recall/ags_volume_recycling.c src/ags/audio/recall/ags_loop_channel.c src/ags/audio/recall/ags_buffer_recycling.h src/ags/audio/recall/ags_copy_pattern_channel_run.h src/ags/audio/recall/ags_peak_channel_run.c src/ags/audio/recall/ags_peak_recycling.c src/ags/audio/recall/ags_peak_audio_signal.c src/ags/audio/recall/ags_loop_channel.h src/ags/audio/recall/ags_play_audio.h src/ags/audio/recall/ags_copy_audio_signal.c src/ags/audio/recall/ags_mute_channel_run.h src/ags/audio/recall/ags_copy_channel.h src/ags/audio/recall/ags_play_notation_audio.h src/ags/audio/recall/ags_play_note.h src/ags/audio/recall/ags_synths.h src/ags/audio/recall/ags_play_recycling.c src/ags/audio/recall/ags_mute_channel_run.c src/ags/audio/recall/ags_buffer_channel.h src/ags/audio/recall/ags_play_notation_audio_run.h src/ags/audio/recall/ags_volume_channel_run.c src/ags/audio/recall/ags_play_channel_run_master.c src/ags/audio/recall/ags_stream.h src/ags/audio/recall/ags_copy_pattern_channel.h src/ags/audio/recall/ags_play_channel_run.h src/ags/audio/recall/ags_mute_channel.h src/ags/audio/recall/ags_mute_audio.c src/ags/audio/recall/ags_mute_audio_run.c src/ags/audio/recall/ags_volume_channel.h src/ags/audio/recall/ags_volume_audio_signal.c src/ags/audio/recall/ags_stream_audio_signal.c src/ags/audio/recall/ags_count_beats_audio_run.h src/ags/audio/recall/ags_copy_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.c src/ags/audio/recall/ags_delay_audio_run.c src/ags/audio/recall/ags_mute_audio_signal.c src/ags/audio/recall/ags_copy_notation_audio.h src/ags/audio/recall/ags_clone_channel.h src/ags/audio/recall/ags_buffer_channel_run.c src/ags/audio/recall/ags_play_audio.c src/ags/audio/recall/ags_copy_pattern_audio.h src/ags/audio/recall/ags_count_beats_audio.c src/ags/audio/recall/ags_play_channel.c src/ags/audio/recall/ags_count_beats_audio_run.c src/ags/audio/recall/ags_copy_pattern_audio_run.h src/ags/audio/recall/ags_stream_recycling.c src/ags/audio/recall/ags_play_audio_file.c src/ags/audio/recall/ags_play_notation_audio.c src/ags/audio/recall/ags_loop_channel_run.h src/ags/audio/recall/ags_mute_recycling.h src/ags/audio/recall/ags_peak_channel.c src/ags/audio/recall/ags_buffer_audio_signal.h src/ags/audio/recall/ags_peak_channel_run.h src/ags/audio/recall/ags_volume_channel.c src/ags/audio/recall/ags_play_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.h src/ags/audio/recall/ags_copy_pattern_channel_run.c src/ags/audio/ags_recall_ladspa.h src/ags/audio/ags_recall_recycling.c src/ags/audio/ags_recall.h src/ags/audio/ags_recall_channel_run.h src/ags/audio/ags_recall_audio.h src/ags/audio/ags_channel.h src/ags/audio/ags_pattern.c src/ags/audio/ags_synths.h src/ags/audio/ags_recall_factory.h src/ags/audio/ags_recall_audio_signal.c src/ags/audio/ags_config.h src/ags/audio/ags_effect.h src/ags/audio/ags_pattern.h src/ags/audio/ags_output.c src/ags/audio/ags_recall_channel_run_dummy.c src/ags/audio/ags_recall_dependency.c src/ags/audio/ags_channel_iter.c src/ags/audio/ags_recall_channel_run_dummy.h src/ags/audio/ags_recall.c src/ags/audio/ags_recall_ladspa_run.h src/ags/audio/ags_recall_recycling_dummy.h src/ags/audio/ags_libao.h src/ags/audio/ags_task.h src/ags/audio/ags_config.c src/ags/audio/ags_recall_channel.c src/ags/audio/ags_audio.c src/ags/audio/ags_recall_ladspa_run.c src/ags/audio/ags_recall_audio_run.h src/ags/audio/ags_recall_id.c src/ags/audio/ags_task.c src/ags/audio/ags_recall_ladspa.c src/ags/audio/ags_recall_factory.c src/ags/audio/ags_recall_container.h src/ags/audio/ags_recycling.h src/ags/audio/ags_recall_recycling_dummy.c src/ags/file/ags_file_util.h src/ags/file/ags_file_sound.h src/ags/file/ags_file_thread.h src/ags/file/ags_file_gui.h src/ags/file/ags_file_lookup.h src/ags/file/ags_file_id_ref.c src/ags/file/ags_file.h src/ags/file/ags_file_link.c src/ags/file/ags_file_write.h src/ags/file/ags_file_read.h src/ags/file/ags_file_id_ref.h src/ags/file/ags_file_sound.c src/ags/file/ags_file_thread.c src/ags/file/ags_file_util.c src/ags/file/ags_file_lookup.c src/ags/file/ags_file_launch.c src/ags/file/ags_file_stock.h src/ags/file/ags_file_gui.c src/ags/file/ags_file.c src/ags/file/ags_file_launch.h src/ags/file/ags_file_link.h src/ags/thread/ags_record_thread.c src/ags/thread/ags_thread_pool.h src/ags/thread/ags_timestamp_thread.h src/ags/thread/ags_mutex_manager.h src/ags/thread/ags_mutex_manager.c src/ags/thread/ags_task_thread.h src/ags/thread/ags_audio_loop.h src/ags/thread/ags_gui_task_thread.h src/ags/thread/ags_task_completion.h src/ags/thread/ags_task_completion.c src/ags/thread/ags_recycling_thread.h src/ags/thread/ags_autosave_thread.h src/ags/thread/ags_returnable_thread.c src/ags/thread/ags_autosave_thread.c src/ags/thread/ags_export_thread.h src/ags/thread/ags_history.h src/ags/thread/ags_iterator_thread.h src/ags/thread/ags_devout_thread.c src/ags/thread/ags_thread_pool.c src/ags/thread/ags_gui_task_thread.c src/ags/thread/ags_gui_thread.h src/ags/thread/ags_task_thread.c src/ags/thread/ags_timestamp_thread.c src/ags/thread/ags_thread-posix.h src/ags/thread/ags_async_queue.h src/ags/thread/ags_record_thread.h src/ags/thread/ags_recycling_thread_callbacks.c src/ags/thread/ags_recycling_thread_callbacks.h src/ags/thread/ags_iterator_thread.c src/ags/thread/ags_async_queue.c src/ags/thread/ags_export_thread.c src/ags/thread/ags_audio_loop.c src/ags/thread/ags_returnable_thread.h src/ags/thread/ags_recycling_thread.c src/ags/thread/ags_devout_thread.h src/ags/thread/ags_single_thread.h src/ags/thread/ags_thread-posix.c src/ags/thread/ags_history.c src/ags/thread/ags_gui_thread.c src/ags/thread/ags_single_thread.c src/ags/server/ags_registry.c src/ags/server/ags_registry.h src/ags/server/ags_server.h src/ags/server/ags_remote_task.h src/ags/server/ags_remote_task.c src/ags/server/ags_server.c src/ags/plugin/ags_plugin_stock.h src/ags/plugin/ags_plugin_factory.h src/ags/plugin/ags_ladspa_manager.h src/ags/plugin/ags_plugin_factory.c src/ags/plugin/ags_ladspa_manager.c src/ags/main.h
-
-midi2xml_CFLAGS= $(CFLAGS) $(LIBXML2_CFLAGS) $(GOBJECT_CFLAGS)
-midi2xml_LDFLAGS= -ldl $(LDFLAGS) $(LIBXML2_LIBS) $(GOBJECT_LIBS)
+appdatadir = $(datadir)/applications
+appdata_DATA = ags.desktop
-midi2xml_SOURCES = src/midi2ags/main.c src/midi2ags/midi/ags_midi_parser.c src/midi2ags/midi/ags_midi_parser.h src/midi2ags/object/ags_marshal.c src/midi2ags/object/ags_marshal.h
+EXTRA_DIST += ags.desktop.in
+CLEANFILES += $(appdata_DATA)
+ags_SOURCES = ./src/ags-lib/object/ags_connectable.c ./src/ags-lib/object/ags_connectable.h src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c src/ags/lib/ags_container.c src/ags/lib/ags_parameter.h src/ags/lib/ags_list.h src/ags/lib/ags_log.c src/ags/lib/ags_container.h src/ags/lib/ags_combo_box_text.h src/ags/lib/ags_log.h src/ags/lib/ags_parameter.c src/ags/X/editor/ags_notebook_callbacks.c src/ags/X/editor/ags_meter.h src/ags/X/editor/ags_toolbar.h src/ags/X/editor/ags_machine_radio_button.h src/ags/X/editor/ags_file_selection_callbacks.h src/ags/X/editor/ags_notebook_callbacks.h src/ags/X/editor/ags_note_edit.h src/ags/X/editor/ags_meter_callbacks.c src/ags/X/editor/ags_notebook.h src/ags/X/editor/ags_sf2_chooser.h src/ags/X/editor/ags_toolbar_mode_stock.h src/ags/X/editor/ags_meter_callbacks.h src/ags/X/editor/ags_toolbar_callbacks.c src/ags/X/editor/ags_machine_selector.c src/ags/X/editor/ags_machine_selector_callbacks.c src/ags/X/editor/ags_machine_radio_button.c src/ags/X/editor/ags_sf2_chooser.c src/ags/X/editor/ags_machine_selector_callbacks.h src/ags/X/editor/ags_sf2_chooser_callbacks.c src/ags/X/editor/ags_notebook.c src/ags/X/editor/ags_note_edit_callbacks.c src/ags/X/editor/ags_file_selection_callbacks.c src/ags/X/editor/ags_machine_selection.c src/ags/X/editor/ags_inline_player_callbacks.h src/ags/X/editor/ags_inline_player.c src/ags/X/editor/ags_meter.c src/ags/X/editor/ags_file_selection.h src/ags/X/editor/ags_inline_player.h src/ags/X/editor/ags_sf2_chooser_callbacks.h src/ags/X/editor/ags_file_selection.c src/ags/X/editor/ags_machine_selector.h src/ags/X/editor/ags_note_edit_callbacks.h src/ags/X/editor/ags_note_edit.c src/ags/X/editor/ags_inline_player_callbacks.c src/ags/X/editor/ags_toolbar_callbacks.h src/ags/X/editor/ags_machine_selection.h src/ags/X/editor/ags_toolbar.c src/ags/X/ags_line_callbacks.h src/ags/X/ags_plugin_preferences.c src/ags/X/ags_link_editor.c src/ags/X/ags_pad_callbacks.h src/ags/X/ags_machine_callbacks.c src/ags/X/ags_server_preferences_callbacks.h src/ags/X/ags_listing_editor_callbacks.c src/ags/X/ags_link_collection_editor_callbacks.c src/ags/X/ags_generic_preferences_callbacks.c src/ags/X/ags_property_collection_editor_callbacks.c src/ags/X/ags_property_collection_editor.h src/ags/X/ags_resize_editor.h src/ags/X/ags_property_editor.h src/ags/X/ags_window_callbacks.h src/ags/X/ags_property_editor_callbacks.c src/ags/X/machine/ags_synth_callbacks.h src/ags/X/machine/ags_synth.c src/ags/X/machine/ags_mixer.c src/ags/X/machine/ags_matrix_callbacks.c src/ags/X/machine/ags_panel_input_line.c src/ags/X/machine/ags_synth_input_line.c src/ags/X/machine/ags_drum_callbacks.h src/ags/X/machine/ags_mixer_callbacks.c src/ags/X/machine/ags_synth_callbacks.c src/ags/X/machine/ags_ffplayer_callbacks.h src/ags/X/machine/ags_drum_input_line.h src/ags/X/machine/ags_matrix.h src/ags/X/machine/ags_mixer_input_line.c src/ags/X/machine/ags_oscillator.c src/ags/X/machine/ags_oscillator.h src/ags/X/machine/ags_oscillator_callbacks.h src/ags/X/machine/ags_mixer.h src/ags/X/machine/ags_panel_input_pad.h src/ags/X/machine/ags_panel_input_pad.c src/ags/X/machine/ags_matrix.c src/ags/X/machine/ags_panel.h src/ags/X/machine/ags_drum_output_line_callbacks.c src/ags/X/machine/ags_ffplayer.h src/ags/X/machine/ags_panel_callbacks.c src/ags/X/machine/ags_mixer_input_pad.c src/ags/X/machine/ags_panel.c src/ags/X/machine/ags_drum.c src/ags/X/machine/ags_matrix_callbacks.h src/ags/X/machine/ags_drum_output_line.h src/ags/X/machine/ags_drum_output_pad.h src/ags/X/machine/ags_synth_input_pad.h src/ags/X/machine/ags_panel_callbacks.h src/ags/X/machine/ags_ffplayer.c src/ags/X/machine/ags_drum_output_line_callbacks.h src/ags/X/machine/ags_drum_output_pad_callbacks.c src/ags/X/machine/ags_drum_output_pad_callbacks.h src/ags/X/machine/ags_drum_input_pad_callbacks.h src/ags/X/machine/ags_oscillator_callbacks.c src/ags/X/machine/ags_drum_callbacks.c src/ags/X/machine/ags_synth_input_line.h src/ags/X/machine/ags_drum_input_pad_callbacks.c src/ags/X/machine/ags_drum_input_pad.c src/ags/X/machine/ags_panel_input_line.h src/ags/X/machine/ags_drum_input_line_callbacks.h src/ags/X/machine/ags_drum_output_line.c src/ags/X/machine/ags_mixer_callbacks.h src/ags/X/machine/ags_synth.h src/ags/X/machine/ags_mixer_input_line.h src/ags/X/machine/ags_drum.h src/ags/X/machine/ags_drum_input_line.c src/ags/X/machine/ags_ffplayer_callbacks.c src/ags/X/machine/ags_drum_output_pad.c src/ags/X/machine/ags_drum_input_pad.h src/ags/X/machine/ags_drum_input_line_callbacks.c src/ags/X/machine/ags_mixer_input_pad.h src/ags/X/machine/ags_synth_input_pad.c src/ags/X/ags_server_preferences.h src/ags/X/ags_line_editor_callbacks.h src/ags/X/ags_pad_editor_callbacks.c src/ags/X/ags_listing_editor_callbacks.h src/ags/X/ags_line_member_callbacks.c src/ags/X/ags_editor.h src/ags/X/ags_machine_editor.h src/ags/X/ags_plugin_preferences_callbacks.h src/ags/X/ags_export_window_callbacks.h src/ags/X/ags_editor_callbacks.c src/ags/X/ags_pad_editor.h src/ags/X/ags_server_preferences.c src/ags/X/ags_line_editor.c src/ags/X/ags_ladspa_browser.h src/ags/X/ags_audio_preferences.c src/ags/X/ags_pad.c src/ags/X/ags_line.c src/ags/X/ags_menu_bar_callbacks.c src/ags/X/ags_generic_preferences_callbacks.h src/ags/X/ags_pad.h src/ags/X/ags_audio_preferences_callbacks.h src/ags/X/ags_generic_preferences.c src/ags/X/ags_window.c src/ags/X/ags_machine_editor_callbacks.h src/ags/X/ags_editor_callbacks.h src/ags/X/ags_menu_bar_callbacks.h src/ags/X/ags_line_member_editor.h src/ags/X/ags_property_collection_editor_callbacks.h src/ags/X/ags_line_editor_callbacks.c src/ags/X/ags_property_editor.c src/ags/X/ags_link_editor_callbacks.c src/ags/X/ags_server_preferences_callbacks.c src/ags/X/ags_pad_callbacks.c src/ags/X/ags_line_member.h src/ags/X/ags_audio_preferences_callbacks.c src/ags/X/ags_performance_preferences.h src/ags/X/ags_property_collection_editor.c src/ags/X/ags_performance_preferences_callbacks.h src/ags/X/ags_line.h src/ags/X/ags_machine.c src/ags/X/ags_preferences_callbacks.c src/ags/X/ags_export_window.c src/ags/X/ags_menu_bar.c src/ags/X/ags_plugin_preferences_callbacks.c src/ags/X/ags_line_member_callbacks.h src/ags/X/ags_preferences.c src/ags/X/ags_export_window.h src/ags/X/ags_pad_editor_callbacks.h src/ags/X/ags_window.h src/ags/X/ags_machine_callbacks.h src/ags/X/ags_machine.h src/ags/X/ags_line_callbacks.c src/ags/X/ags_link_editor_callbacks.h src/ags/X/ags_navigation_callbacks.h src/ags/X/ags_pad_editor.c src/ags/X/ags_ladspa_browser.c src/ags/X/ags_editor.c src/ags/X/ags_resize_editor.c src/ags/X/ags_property_listing_editor.c src/ags/X/ags_property_editor_callbacks.h src/ags/X/ags_line_member_editor_callbacks.h src/ags/X/ags_window_callbacks.c src/ags/X/ags_audio_preferences.h src/ags/X/ags_navigation_callbacks.c src/ags/X/ags_plugin_preferences.h src/ags/X/ags_performance_preferences_callbacks.c src/ags/X/ags_line_member.c src/ags/X/ags_preferences.h src/ags/X/ags_generic_preferences.h src/ags/X/ags_navigation.h src/ags/X/ags_listing_editor.h src/ags/X/ags_performance_preferences.c src/ags/X/ags_link_editor.h src/ags/X/ags_ladspa_browser_callbacks.c src/ags/X/ags_link_collection_editor.c src/ags/X/ags_preferences_callbacks.h src/ags/X/ags_machine_editor_callbacks.c src/ags/X/ags_menu_bar.h src/ags/X/ags_export_window_callbacks.c src/ags/X/ags_line_member_editor_callbacks.c src/ags/X/ags_link_collection_editor.h src/ags/X/ags_link_collection_editor_callbacks.h src/ags/X/ags_property_listing_editor.h src/ags/X/ags_navigation.c src/ags/X/ags_machine_editor.c src/ags/X/ags_line_member_editor.c src/ags/X/ags_ladspa_browser_callbacks.h src/ags/X/ags_line_editor.h src/ags/X/ags_listing_editor.c src/ags/object/ags_applicable.c src/ags/object/ags_seekable.h src/ags/object/ags_packable.c src/ags/object/ags_persistable.h src/ags/object/ags_packable.h src/ags/object/ags_applicable.h src/ags/object/ags_main_loop.c src/ags/object/ags_soundcard.c src/ags/object/ags_marshal.c src/ags/object/ags_mutable.h src/ags/object/ags_plugin.h src/ags/object/ags_stackable.h src/ags/object/ags_runnable.c src/ags/object/ags_tactable.h src/ags/object/ags_mutable.c src/ags/object/ags_runnable.h src/ags/object/ags_effect.c src/ags/object/ags_playable.c src/ags/object/ags_dynamic_connectable.c src/ags/object/ags_seekable.c src/ags/object/ags_countable.c src/ags/object/ags_plugin.c src/ags/object/ags_tree_iterator.h src/ags/object/ags_playable.h src/ags/object/ags_effect.h src/ags/object/ags_soundcard.h src/ags/object/ags_countable.h src/ags/object/ags_marshal.h src/ags/object/ags_portlet.h src/ags/object/ags_dynamic_connectable.h src/ags/object/ags_tactable.c src/ags/object/ags_tree_iterator.c src/ags/object/ags_persistable.c src/ags/object/ags_main_loop.h src/ags/object/ags_stackable.c src/ags/object/ags_portlet.c src/ags/util/ags_id_generator.c src/ags/util/ags_id_generator.h src/ags/widget/ags_led.h src/ags/widget/ags_expander_set.c src/ags/widget/ags_expander_set.h src/ags/widget/ags_menu.c src/ags/widget/ags_hindicator.h src/ags/widget/ags_menu.h src/ags/widget/ags_timebar.c src/ags/widget/ags_dial.c src/ags/widget/ags_ruler.h src/ags/widget/ags_dial.h src/ags/widget/ags_segment.c src/ags/widget/ags_htimebar.c src/ags/widget/ags_option_menu.h src/ags/widget/ags_indicator.c src/ags/widget/ags_htimebar.h src/ags/widget/ags_option_menu.c src/ags/widget/ags_expander.h src/ags/widget/ags_menu_item.h src/ags/widget/ags_hindicator.c src/ags/widget/ags_cartesian.h src/ags/widget/ags_indicator.h src/ags/widget/ags_cartesian.c src/ags/widget/ags_menu_item.c src/ags/widget/ags_waveform.c src/ags/widget/ags_ruler.c src/ags/widget/ags_expander.c src/ags/widget/ags_vindicator.c src/ags/widget/ags_timebar.h src/ags/widget/ags_led.c src/ags/widget/ags_waveform.h src/ags/widget/ags_table.c src/ags/widget/ags_table.h src/ags/widget/ags_vindicator.h src/ags/widget/ags_segment.h src/ags/main.c src/ags/audio/task/ags_export_output.h src/ags/audio/task/ags_set_output_device.c src/ags/audio/task/ags_add_audio.h src/ags/audio/task/ags_set_samplerate.c src/ags/audio/task/ags_remove_point_from_selection.c src/ags/audio/task/ags_save_file.h src/ags/audio/task/ags_set_buffer_size.h src/ags/audio/task/ags_link_channel.c src/ags/audio/task/ags_save_file.c src/ags/audio/task/ags_append_audio_threaded.h src/ags/audio/task/ags_cancel_channel.h src/ags/audio/task/ags_apply_synth.h src/ags/audio/task/ags_seek_devout.h src/ags/audio/task/ags_append_recall.h src/ags/audio/task/ags_add_audio_signal.c src/ags/audio/task/ags_unref_audio_signal.c src/ags/audio/task/ags_remove_region_from_selection.c src/ags/audio/task/ags_change_indicator.h src/ags/audio/task/ags_remove_point_from_selection.h src/ags/audio/task/ags_set_audio_channels.h src/ags/audio/task/ags_scroll_on_play.h src/ags/audio/task/ags_remove_audio.h src/ags/audio/task/ags_remove_recall_container.c src/ags/audio/task/ags_remove_recall.c src/ags/audio/task/ags_seek_devout.c src/ags/audio/task/ags_append_recall.c src/ags/audio/task/ags_free_selection.h src/ags/audio/task/ags_add_recall_container.c src/ags/audio/task/ags_add_recall.c src/ags/audio/task/ags_export_output.c src/ags/audio/task/ags_init_channel.h src/ags/audio/task/ags_remove_note.c src/ags/audio/task/ags_apply_wavetable.h src/ags/audio/task/ags_add_audio_signal.h src/ags/audio/task/ags_cancel_recall.h src/ags/audio/task/ags_set_audio_channels.c src/ags/audio/task/ags_cancel_audio.c src/ags/audio/task/ags_unref_audio_signal.h src/ags/audio/task/ags_add_region_to_selection.c src/ags/audio/task/ags_change_tact.h src/ags/audio/task/ags_init_audio.c src/ags/audio/task/ags_channel_set_recycling.c src/ags/audio/task/ags_display_tact.c src/ags/audio/task/ags_add_point_to_selection.h src/ags/audio/task/ags_toggle_pattern_bit.h src/ags/audio/task/ags_append_channel.c src/ags/audio/task/ags_change_indicator.c src/ags/audio/task/ags_add_note.c src/ags/audio/task/ags_channel_set_recycling.h src/ags/audio/task/ags_cancel_audio.h src/ags/audio/task/recall/ags_set_muted.c src/ags/audio/task/recall/ags_set_muted.h src/ags/audio/task/recall/ags_apply_sequencer_length.c src/ags/audio/task/recall/ags_apply_bpm.h src/ags/audio/task/recall/ags_apply_tact.c src/ags/audio/task/recall/ags_apply_bpm.c src/ags/audio/task/recall/ags_apply_sequencer_length.h src/ags/audio/task/recall/ags_apply_tact.h src/ags/audio/task/ags_remove_region_from_selection.h src/ags/audio/task/ags_cancel_channel.c src/ags/audio/task/ags_add_recall_container.h src/ags/audio/task/ags_add_recall.h src/ags/audio/task/ags_add_note.h src/ags/audio/task/ags_start_devout.c src/ags/audio/task/ags_append_audio_threaded.c src/ags/audio/task/ags_append_audio.c src/ags/audio/task/ags_init_channel.c src/ags/audio/task/ags_remove_audio_signal.h src/ags/audio/task/ags_toggle_led.c src/ags/audio/task/ags_set_buffer_size.c src/ags/audio/task/ags_add_region_to_selection.h src/ags/audio/task/ags_audio_set_recycling.h src/ags/audio/task/ags_toggle_led.h src/ags/audio/task/ags_resize_audio.h src/ags/audio/task/ags_free_selection.c src/ags/audio/task/ags_add_audio.c src/ags/audio/task/ags_set_samplerate.h src/ags/audio/task/ags_apply_synth.c src/ags/audio/task/ags_open_single_file.h src/ags/audio/task/ags_remove_audio.c src/ags/audio/task/ags_cancel_recall.c src/ags/audio/task/ags_init_audio.h src/ags/audio/task/ags_remove_note.h src/ags/audio/task/ags_remove_audio_signal.c src/ags/audio/task/ags_audio_set_recycling.c src/ags/audio/task/ags_add_point_to_selection.c src/ags/audio/task/ags_scroll_on_play.c src/ags/audio/task/ags_set_devout_play_flags.c src/ags/audio/task/ags_apply_wavetable.c src/ags/audio/task/ags_add_line_member.c src/ags/audio/task/ags_open_file.h src/ags/audio/task/ags_set_output_device.h src/ags/audio/task/ags_toggle_pattern_bit.c src/ags/audio/task/ags_open_file.c src/ags/audio/task/ags_open_single_file.c src/ags/audio/task/ags_append_audio.h src/ags/audio/task/ags_start_devout.h src/ags/audio/task/ags_display_tact.h src/ags/audio/task/ags_remove_recall_container.h src/ags/audio/task/ags_remove_recall.h src/ags/audio/task/ags_change_tact.c src/ags/audio/task/ags_append_channel.h src/ags/audio/task/ags_resize_audio.c src/ags/audio/task/ags_link_channel.h src/ags/audio/task/ags_add_line_member.h src/ags/audio/task/ags_set_devout_play_flags.h src/ags/audio/ags_devout.c src/ags/audio/ags_recall_channel.h src/ags/audio/ags_timestamp_factory.h src/ags/audio/ags_garbage_collector.c src/ags/audio/ags_garbage_collector.h src/ags/audio/ags_recall_container.c src/ags/audio/ags_timestamp.c src/ags/audio/ags_channel_iter.h src/ags/audio/ags_recall_channel_run.c src/ags/audio/ags_audio.h src/ags/audio/ags_port.c src/ags/audio/ags_notation.c src/ags/audio/ags_recall_dependency.h src/ags/audio/ags_recycling.c src/ags/audio/ags_recall_audio_signal.h src/ags/audio/ags_input.c src/ags/audio/ags_synths.c src/ags/audio/ags_input.h src/ags/audio/ags_recycling_container.h src/ags/audio/ags_recall_id.h src/ags/audio/ags_note.c src/ags/audio/ags_timestamp_factory.c src/ags/audio/ags_channel.c src/ags/audio/ags_recall_audio.c src/ags/audio/ags_audio_signal.c src/ags/audio/ags_output.h src/ags/audio/ags_libao.c src/ags/audio/file/ags_ipatch_sf2_reader.c src/ags/audio/file/ags_audio_file_xml.h src/ags/audio/file/ags_ipatch.c src/ags/audio/file/ags_audio_file.c src/ags/audio/file/ags_sndfile.h src/ags/audio/file/ags_ipatch.h src/ags/audio/file/ags_audio_file.h src/ags/audio/file/ags_ipatch_sf2_reader.h src/ags/audio/file/ags_audio_file_xml.c src/ags/audio/file/ags_sndfile.c src/ags/audio/ags_devout.h src/ags/audio/ags_port.h src/ags/audio/ags_note.h src/ags/audio/ags_timestamp.h src/ags/audio/ags_notation.h src/ags/audio/ags_recall_audio_run.c src/ags/audio/ags_recycling_container.c src/ags/audio/ags_audio_signal.h src/ags/audio/ags_recall_recycling.h src/ags/audio/recall/ags_mute_audio.h src/ags/audio/recall/ags_mute_audio_run.h src/ags/audio/recall/ags_clone_channel.c src/ags/audio/recall/ags_copy_channel.c src/ags/audio/recall/ags_copy_pattern_channel.c src/ags/audio/recall/ags_copy_recycling.c src/ags/audio/recall/ags_volume_audio_signal.h src/ags/audio/recall/ags_play_channel.h src/ags/audio/recall/ags_play_notation_audio_run.c src/ags/audio/recall/ags_buffer_audio_signal.c src/ags/audio/recall/ags_play_channel_run.c src/ags/audio/recall/ags_stream_channel_run.c src/ags/audio/recall/ags_copy_notation_audio_run.c src/ags/audio/recall/ags_mute_channel.c src/ags/audio/recall/ags_count_beats_audio.h src/ags/audio/recall/ags_copy_pattern_audio.c src/ags/audio/recall/ags_copy_pattern_audio_run.c src/ags/audio/recall/ags_clone_channel_run.h src/ags/audio/recall/ags_delay_audio.h src/ags/audio/recall/ags_copy_notation_audio_run.h src/ags/audio/recall/ags_stream.c src/ags/audio/recall/ags_play_audio_file.h src/ags/audio/recall/ags_loop_channel_run.c src/ags/audio/recall/ags_play_pattern.c src/ags/audio/recall/ags_stream_channel_run.h src/ags/audio/recall/ags_amplifier.h src/ags/audio/recall/ags_echo.c src/ags/audio/recall/ags_play_note.c src/ags/audio/recall/ags_buffer_channel.c src/ags/audio/recall/ags_clone_channel_run.c src/ags/audio/recall/ags_peak_channel.h src/ags/audio/recall/ags_peak_recycling.h src/ags/audio/recall/ags_peak_audio_signal.h src/ags/audio/recall/ags_play_recycling.h src/ags/audio/recall/ags_stream_channel.h src/ags/audio/recall/ags_amplifier.c src/ags/audio/recall/ags_mute_audio_signal.h src/ags/audio/recall/ags_copy_notation_audio.c src/ags/audio/recall/ags_buffer_channel_run.h src/ags/audio/recall/ags_copy_recycling.h src/ags/audio/recall/ags_down_mix.h src/ags/audio/recall/ags_volume_recycling.h src/ags/audio/recall/ags_volume_channel_run.h src/ags/audio/recall/ags_stream_channel.c src/ags/audio/recall/ags_echo.h src/ags/audio/recall/ags_delay_audio_run.h src/ags/audio/recall/ags_stream_audio_signal.h src/ags/audio/recall/ags_mute_recycling.c src/ags/audio/recall/ags_play_pattern.h src/ags/audio/recall/ags_delay_audio.c src/ags/audio/recall/ags_buffer_recycling.c src/ags/audio/recall/ags_stream_recycling.h src/ags/audio/recall/ags_play_audio_signal.c src/ags/audio/recall/ags_play_channel_run_master.h src/ags/audio/recall/ags_volume_recycling.c src/ags/audio/recall/ags_loop_channel.c src/ags/audio/recall/ags_buffer_recycling.h src/ags/audio/recall/ags_copy_pattern_channel_run.h src/ags/audio/recall/ags_peak_channel_run.c src/ags/audio/recall/ags_peak_recycling.c src/ags/audio/recall/ags_peak_audio_signal.c src/ags/audio/recall/ags_loop_channel.h src/ags/audio/recall/ags_play_audio.h src/ags/audio/recall/ags_copy_audio_signal.c src/ags/audio/recall/ags_mute_channel_run.h src/ags/audio/recall/ags_copy_channel.h src/ags/audio/recall/ags_play_notation_audio.h src/ags/audio/recall/ags_play_note.h src/ags/audio/recall/ags_synths.h src/ags/audio/recall/ags_play_recycling.c src/ags/audio/recall/ags_mute_channel_run.c src/ags/audio/recall/ags_buffer_channel.h src/ags/audio/recall/ags_play_notation_audio_run.h src/ags/audio/recall/ags_volume_channel_run.c src/ags/audio/recall/ags_play_channel_run_master.c src/ags/audio/recall/ags_stream.h src/ags/audio/recall/ags_copy_pattern_channel.h src/ags/audio/recall/ags_play_channel_run.h src/ags/audio/recall/ags_mute_channel.h src/ags/audio/recall/ags_mute_audio.c src/ags/audio/recall/ags_mute_audio_run.c src/ags/audio/recall/ags_volume_channel.h src/ags/audio/recall/ags_volume_audio_signal.c src/ags/audio/recall/ags_stream_audio_signal.c src/ags/audio/recall/ags_count_beats_audio_run.h src/ags/audio/recall/ags_copy_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.c src/ags/audio/recall/ags_delay_audio_run.c src/ags/audio/recall/ags_mute_audio_signal.c src/ags/audio/recall/ags_copy_notation_audio.h src/ags/audio/recall/ags_clone_channel.h src/ags/audio/recall/ags_buffer_channel_run.c src/ags/audio/recall/ags_play_audio.c src/ags/audio/recall/ags_copy_pattern_audio.h src/ags/audio/recall/ags_count_beats_audio.c src/ags/audio/recall/ags_play_channel.c src/ags/audio/recall/ags_count_beats_audio_run.c src/ags/audio/recall/ags_copy_pattern_audio_run.h src/ags/audio/recall/ags_stream_recycling.c src/ags/audio/recall/ags_play_audio_file.c src/ags/audio/recall/ags_play_notation_audio.c src/ags/audio/recall/ags_loop_channel_run.h src/ags/audio/recall/ags_mute_recycling.h src/ags/audio/recall/ags_peak_channel.c src/ags/audio/recall/ags_buffer_audio_signal.h src/ags/audio/recall/ags_peak_channel_run.h src/ags/audio/recall/ags_volume_channel.c src/ags/audio/recall/ags_play_audio_signal.h src/ags/audio/recall/ags_copy_channel_run.h src/ags/audio/recall/ags_copy_pattern_channel_run.c src/ags/audio/ags_recall_ladspa.h src/ags/audio/ags_recall_recycling.c src/ags/audio/ags_recall.h src/ags/audio/ags_recall_channel_run.h src/ags/audio/ags_recall_audio.h src/ags/audio/ags_channel.h src/ags/audio/ags_pattern.c src/ags/audio/ags_synths.h src/ags/audio/ags_recall_factory.h src/ags/audio/ags_recall_audio_signal.c src/ags/audio/ags_config.h src/ags/audio/ags_effect.h src/ags/audio/ags_pattern.h src/ags/audio/ags_output.c src/ags/audio/ags_recall_channel_run_dummy.c src/ags/audio/ags_recall_dependency.c src/ags/audio/ags_channel_iter.c src/ags/audio/ags_recall_channel_run_dummy.h src/ags/audio/ags_recall.c src/ags/audio/ags_recall_ladspa_run.h src/ags/audio/ags_recall_recycling_dummy.h src/ags/audio/ags_libao.h src/ags/audio/ags_task.h src/ags/audio/ags_config.c src/ags/audio/ags_recall_channel.c src/ags/audio/ags_audio.c src/ags/audio/ags_recall_ladspa_run.c src/ags/audio/ags_recall_audio_run.h src/ags/audio/ags_recall_id.c src/ags/audio/ags_task.c src/ags/audio/ags_recall_ladspa.c src/ags/audio/ags_recall_factory.c src/ags/audio/ags_recall_container.h src/ags/audio/ags_recycling.h src/ags/audio/ags_recall_recycling_dummy.c src/ags/file/ags_file_util.h src/ags/file/ags_file_sound.h src/ags/file/ags_file_thread.h src/ags/file/ags_file_gui.h src/ags/file/ags_file_lookup.h src/ags/file/ags_file_id_ref.c src/ags/file/ags_file.h src/ags/file/ags_file_link.c src/ags/file/ags_file_write.h src/ags/file/ags_file_read.h src/ags/file/ags_file_id_ref.h src/ags/file/ags_file_sound.c src/ags/file/ags_file_thread.c src/ags/file/ags_file_util.c src/ags/file/ags_file_lookup.c src/ags/file/ags_file_launch.c src/ags/file/ags_file_stock.h src/ags/file/ags_file_gui.c src/ags/file/ags_file.c src/ags/file/ags_file_launch.h src/ags/file/ags_file_link.h src/ags/thread/ags_record_thread.c src/ags/thread/ags_thread_pool.h src/ags/thread/ags_timestamp_thread.h src/ags/thread/ags_mutex_manager.h src/ags/thread/ags_mutex_manager.c src/ags/thread/ags_task_thread.h src/ags/thread/ags_audio_loop.h src/ags/thread/ags_gui_task_thread.h src/ags/thread/ags_task_completion.h src/ags/thread/ags_task_completion.c src/ags/thread/ags_recycling_thread.h src/ags/thread/ags_autosave_thread.h src/ags/thread/ags_returnable_thread.c src/ags/thread/ags_autosave_thread.c src/ags/thread/ags_export_thread.h src/ags/thread/ags_history.h src/ags/thread/ags_iterator_thread.h src/ags/thread/ags_devout_thread.c src/ags/thread/ags_thread_pool.c src/ags/thread/ags_gui_task_thread.c src/ags/thread/ags_gui_thread.h src/ags/thread/ags_task_thread.c src/ags/thread/ags_timestamp_thread.c src/ags/thread/ags_thread-posix.h src/ags/thread/ags_async_queue.h src/ags/thread/ags_record_thread.h src/ags/thread/ags_recycling_thread_callbacks.c src/ags/thread/ags_recycling_thread_callbacks.h src/ags/thread/ags_iterator_thread.c src/ags/thread/ags_async_queue.c src/ags/thread/ags_export_thread.c src/ags/thread/ags_audio_loop.c src/ags/thread/ags_returnable_thread.h src/ags/thread/ags_recycling_thread.c src/ags/thread/ags_devout_thread.h src/ags/thread/ags_single_thread.h src/ags/thread/ags_thread-posix.c src/ags/thread/ags_history.c src/ags/thread/ags_gui_thread.c src/ags/thread/ags_single_thread.c src/ags/server/ags_registry.c src/ags/server/ags_registry.h src/ags/server/ags_server.h src/ags/server/ags_remote_task.h src/ags/server/ags_remote_task.c src/ags/server/ags_server.c src/ags/plugin/ags_plugin_stock.h src/ags/plugin/ags_plugin_factory.h src/ags/plugin/ags_ladspa_manager.h src/ags/plugin/ags_plugin_factory.c src/ags/plugin/ags_ladspa_manager.c src/ags/main.h
ags.desktop: ags.desktop.in
$(AM_V_GEN)sed -e 's,\@datadir\@,$(datadir),g' < "$<" > $@
-html:
- mkdir -p html/
- xsltproc --output html/ --xinclude /usr/share/xml/docbook/stylesheet/docbook-xsl/htmlhelp/htmlhelp.xsl $(top_srcdir)/doc/usersBook.xml
-
-all: html
-
-install-data-local: install-html
+install-data-local:
mkdir -p $(DESTDIR)/$(datadir)/gsequencer/icons
mkdir -p $(DESTDIR)/$(datadir)/gsequencer/images
cp $(top_srcdir)/gsequencer.share/icons/ags.xpm $(DESTDIR)/$(datadir)/gsequencer/icons/ags.xpm
cp $(top_srcdir)/gsequencer.share/images/ags.png $(DESTDIR)/$(datadir)/gsequencer/images/ags.png
-install-html:
- mkdir -p $(DESTDIR)/$(datadir)/doc/gsequencer/{images,html}/
- cp $(userdocimages) $(DESTDIR)/$(datadir)/doc/gsequencer/images/
- cp html/* $(DESTDIR)/$(datadir)/doc/gsequencer/html/
-
uninstall-hook:
rm -rf $(DESTDIR)/$(datadir)/gsequencer
- rm -rf $(DESTDIR)/$(datadir)/doc/gsequencer
-
-clean-local:
- rm -rf html
diff --git a/Makefile.in b/Makefile.in
index bc5069e..7c131f6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -78,7 +78,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-bin_PROGRAMS = ags$(EXEEXT) midi2xml$(EXEEXT)
+bin_PROGRAMS = ags$(EXEEXT)
subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
@@ -97,7 +97,7 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
- "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(docdir)"
+ "$(DESTDIR)$(appdatadir)"
PROGRAMS = $(bin_PROGRAMS)
am_ags_OBJECTS = ags-ags_connectable.$(OBJEXT) \
ags-ags_combo_box_text.$(OBJEXT) ags-ags_list.$(OBJEXT) \
@@ -344,13 +344,6 @@ ags_OBJECTS = $(am_ags_OBJECTS)
ags_DEPENDENCIES =
ags_LINK = $(CCLD) $(ags_CFLAGS) $(CFLAGS) $(ags_LDFLAGS) $(LDFLAGS) \
-o $@
-am_midi2xml_OBJECTS = midi2xml-main.$(OBJEXT) \
- midi2xml-ags_midi_parser.$(OBJEXT) \
- midi2xml-ags_marshal.$(OBJEXT)
-midi2xml_OBJECTS = $(am_midi2xml_OBJECTS)
-midi2xml_LDADD = $(LDADD)
-midi2xml_LINK = $(CCLD) $(midi2xml_CFLAGS) $(CFLAGS) \
- $(midi2xml_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_ at AM_V@)
am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
am__v_P_0 = false
@@ -383,8 +376,8 @@ AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(ags_SOURCES) $(midi2xml_SOURCES)
-DIST_SOURCES = $(ags_SOURCES) $(midi2xml_SOURCES)
+SOURCES = $(ags_SOURCES)
+DIST_SOURCES = $(ags_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -420,7 +413,7 @@ am__uninstall_files_from_dir = { \
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man1_MANS)
-DATA = $(appdata_DATA) $(doc_DATA)
+DATA = $(appdata_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
@@ -547,7 +540,7 @@ build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
-docdir = $(datadir)/doc/gsequencer
+docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
@@ -581,45 +574,9 @@ AM_CPPFLAGS = -I$(top_srcdir)/src -DDESTDIR=\"$(DESTDIR)$(datadir)\" -D_FORTIFY_
# this lists the binaries to produce, the (non-PHONY, binary) targets in
# the previous manual Makefile
noinst_LIBRARIES =
-EXTRA_DIST = gsequencer.share acsite.m4 ags.1 midi2xml.1 README \
- ags.desktop.in $(userdoc) $(userdocimages)
+EXTRA_DIST = gsequencer.share acsite.m4 ags.1 ags.desktop.in
CLEANFILES = $(appdata_DATA)
-man1_MANS = ags.1 midi2xml.1
-appdatadir = $(datadir)/applications
-appdata_DATA = ags.desktop
-doc_DATA = README
-
-# documentation
-userdoc = \
- doc/usersBook.xml \
- doc/appa.xml \
- doc/usersBook/appb.xml \
- doc/usersBook/chap1.xml \
- doc/usersBook/chap2.xml \
- doc/usersBook/chap3.xml \
- doc/usersBook/chap4.xml \
- doc/usersBook/preface.xml
-
-userdocimages = \
- $(top_srcdir)/doc/images/ags_export_window.png \
- $(top_srcdir)/doc/images/ags_machine_properties-input.png \
- $(top_srcdir)/doc/images/ags_machine_properties-resize_channels.png \
- $(top_srcdir)/doc/images/ags_navigation.png \
- $(top_srcdir)/doc/images/ags_synth.png \
- $(top_srcdir)/doc/images/ags_audio_preferences.png \
- $(top_srcdir)/doc/images/ags_ffplayer.png \
- $(top_srcdir)/doc/images/ags_ladspa_browser.png \
- $(top_srcdir)/doc/images/ags_machine_properties-link_input.png \
- $(top_srcdir)/doc/images/ags_matrix.png \
- $(top_srcdir)/doc/images/ags_panel.png \
- $(top_srcdir)/doc/images/ags-toolbar.png \
- $(top_srcdir)/doc/images/ags_drum.png \
- $(top_srcdir)/doc/images/ags_generic_preferences.png \
- $(top_srcdir)/doc/images/ags_machine_properties-output.png \
- $(top_srcdir)/doc/images/ags_mixer.png \
- $(top_srcdir)/doc/images/ags_performance_preferences.png \
- $(top_srcdir)/doc/images/ags_server_preferences.png
-
+man1_MANS = ags.1
# library
libags_a_CFLAGS = $(GOBJECT_CFLAGS) $(LIBXML2_CFLAGS)
@@ -629,6 +586,8 @@ libags_a_SOURCES =
ags_CFLAGS = $(CFLAGS) $(UUID_CFLAGS) $(LIBASOUND2_CFLAGS) $(LIBAO_CFLAGS) $(LIBXML2_CFLAGS) $(OPENSSL_CFLAGS) $(SNDFILE_CFLAGS) $(LIBINSTPATCH_CFLAGS) $(GOBJECT_CFLAGS) $(GDKPIXBUF_CFLAGS) $(CAIRO_CFLAGS) $(GTK_CFLAGS) $(XMLRPC_CFLAGS) $(XMLRPC_UTIL_CFLAGS) $(XMLRPC_SERVER_ABYSS_CFLAGS) $(XMLRPC_SERVER_CGI_CFLAGS) $(XMLRPC_SERVER_CFLAGS) $(PTH_FLAGS)
ags_LDFLAGS = -ldl $(LDFLAGS) $(UUID_LIBS) $(LIBASOUND2_LIBS) $(LIBAO_LIBS) $(LIBXML2_LIBS) $(OPENSSL_LIBS) $(SNDFILE_LIBS) $(LIBINSTPATCH_LIBS) $(GOBJECT_LIBS) $(GDKPIXBUF_LIBS) $(CAIRO_LIBS) $(GTK_LIBS) $(XMLRPC_LIBS) $(XMLRPC_UTIL_LIBS) $(XMLRPC_SERVER_ABYSS_LIBS) $(XMLRPC_SERVER_CGI_LIBS) $(XMLRPC_SERVER_LIBS) -lm -lrt -lX11 -pthread
ags_LDADD =
+appdatadir = $(datadir)/applications
+appdata_DATA = ags.desktop
ags_SOURCES = ./src/ags-lib/object/ags_connectable.c \
./src/ags-lib/object/ags_connectable.h \
src/ags/lib/ags_combo_box_text.c src/ags/lib/ags_list.c \
@@ -1186,9 +1145,6 @@ ags_SOURCES = ./src/ags-lib/object/ags_connectable.c \
src/ags/plugin/ags_ladspa_manager.h \
src/ags/plugin/ags_plugin_factory.c \
src/ags/plugin/ags_ladspa_manager.c src/ags/main.h
-midi2xml_CFLAGS = $(CFLAGS) $(LIBXML2_CFLAGS) $(GOBJECT_CFLAGS)
-midi2xml_LDFLAGS = -ldl $(LDFLAGS) $(LIBXML2_LIBS) $(GOBJECT_LIBS)
-midi2xml_SOURCES = src/midi2ags/main.c src/midi2ags/midi/ags_midi_parser.c src/midi2ags/midi/ags_midi_parser.h src/midi2ags/object/ags_marshal.c src/midi2ags/object/ags_marshal.h
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -1293,10 +1249,6 @@ ags$(EXEEXT): $(ags_OBJECTS) $(ags_DEPENDENCIES) $(EXTRA_ags_DEPENDENCIES)
@rm -f ags$(EXEEXT)
$(AM_V_CCLD)$(ags_LINK) $(ags_OBJECTS) $(ags_LDADD) $(LIBS)
-midi2xml$(EXEEXT): $(midi2xml_OBJECTS) $(midi2xml_DEPENDENCIES) $(EXTRA_midi2xml_DEPENDENCIES)
- @rm -f midi2xml$(EXEEXT)
- $(AM_V_CCLD)$(midi2xml_LINK) $(midi2xml_OBJECTS) $(midi2xml_LDADD) $(LIBS)
-
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -1625,9 +1577,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_window.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-ags_window_callbacks.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ags-main.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midi2xml-ags_marshal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midi2xml-ags_midi_parser.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/midi2xml-main.Po at am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -6150,48 +6099,6 @@ ags-ags_ladspa_manager.obj: src/ags/plugin/ags_ladspa_manager.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ags/plugin/ags_ladspa_manager.c' object='ags-ags_ladspa_manager.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ags_CFLAGS) $(CFLAGS) -c -o ags-ags_ladspa_manager.obj `if test -f 'src/ags/plugin/ags_ladspa_manager.c'; then $(CYGPATH_W) 'src/ags/plugin/ags_ladspa_manager.c'; else $(CYGPATH_W) '$(srcdir)/src/ags/plugin/ags_ladspa_manager.c'; fi`
-
-midi2xml-main.o: src/midi2ags/main.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -MT midi2xml-main.o -MD -MP -MF $(DEPDIR)/midi2xml-main.Tpo -c -o midi2xml-main.o `test -f 'src/midi2ags/main.c' || echo '$(srcdir)/'`src/midi2ags/main.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midi2xml-main.Tpo $(DEPDIR)/midi2xml-main.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/midi2ags/main.c' object='midi2xml-main.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -c -o midi2xml-main.o `test -f 'src/midi2ags/main.c' || echo '$(srcdir)/'`src/midi2ags/main.c
-
-midi2xml-main.obj: src/midi2ags/main.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -MT midi2xml-main.obj -MD -MP -MF $(DEPDIR)/midi2xml-main.Tpo -c -o midi2xml-main.obj `if test -f 'src/midi2ags/main.c'; then $(CYGPATH_W) 'src/midi2ags/main.c'; else $(CYGPATH_W) '$(srcdir)/src/midi2ags/main.c'; fi`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midi2xml-main.Tpo $(DEPDIR)/midi2xml-main.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/midi2ags/main.c' object='midi2xml-main.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -c -o midi2xml-main.obj `if test -f 'src/midi2ags/main.c'; then $(CYGPATH_W) 'src/midi2ags/main.c'; else $(CYGPATH_W) '$(srcdir)/src/midi2ags/main.c'; fi`
-
-midi2xml-ags_midi_parser.o: src/midi2ags/midi/ags_midi_parser.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -MT midi2xml-ags_midi_parser.o -MD -MP -MF $(DEPDIR)/midi2xml-ags_midi_parser.Tpo -c -o midi2xml-ags_midi_parser.o `test -f 'src/midi2ags/midi/ags_midi_parser.c' || echo '$(srcdir)/'`src/midi2ags/midi/ags_midi_parser.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midi2xml-ags_midi_parser.Tpo $(DEPDIR)/midi2xml-ags_midi_parser.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/midi2ags/midi/ags_midi_parser.c' object='midi2xml-ags_midi_parser.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -c -o midi2xml-ags_midi_parser.o `test -f 'src/midi2ags/midi/ags_midi_parser.c' || echo '$(srcdir)/'`src/midi2ags/midi/ags_midi_parser.c
-
-midi2xml-ags_midi_parser.obj: src/midi2ags/midi/ags_midi_parser.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -MT midi2xml-ags_midi_parser.obj -MD -MP -MF $(DEPDIR)/midi2xml-ags_midi_parser.Tpo -c -o midi2xml-ags_midi_parser.obj `if test -f 'src/midi2ags/midi/ags_midi_parser.c'; then $(CYGPATH_W) 'src/midi2ags/midi/ags_midi_parser.c'; else $(CYGPATH_W) '$(srcdir)/src/midi2ags/midi/ags_midi_parser.c'; fi`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midi2xml-ags_midi_parser.Tpo $(DEPDIR)/midi2xml-ags_midi_parser.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/midi2ags/midi/ags_midi_parser.c' object='midi2xml-ags_midi_parser.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -c -o midi2xml-ags_midi_parser.obj `if test -f 'src/midi2ags/midi/ags_midi_parser.c'; then $(CYGPATH_W) 'src/midi2ags/midi/ags_midi_parser.c'; else $(CYGPATH_W) '$(srcdir)/src/midi2ags/midi/ags_midi_parser.c'; fi`
-
-midi2xml-ags_marshal.o: src/midi2ags/object/ags_marshal.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -MT midi2xml-ags_marshal.o -MD -MP -MF $(DEPDIR)/midi2xml-ags_marshal.Tpo -c -o midi2xml-ags_marshal.o `test -f 'src/midi2ags/object/ags_marshal.c' || echo '$(srcdir)/'`src/midi2ags/object/ags_marshal.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midi2xml-ags_marshal.Tpo $(DEPDIR)/midi2xml-ags_marshal.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/midi2ags/object/ags_marshal.c' object='midi2xml-ags_marshal.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -c -o midi2xml-ags_marshal.o `test -f 'src/midi2ags/object/ags_marshal.c' || echo '$(srcdir)/'`src/midi2ags/object/ags_marshal.c
-
-midi2xml-ags_marshal.obj: src/midi2ags/object/ags_marshal.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -MT midi2xml-ags_marshal.obj -MD -MP -MF $(DEPDIR)/midi2xml-ags_marshal.Tpo -c -o midi2xml-ags_marshal.obj `if test -f 'src/midi2ags/object/ags_marshal.c'; then $(CYGPATH_W) 'src/midi2ags/object/ags_marshal.c'; else $(CYGPATH_W) '$(srcdir)/src/midi2ags/object/ags_marshal.c'; fi`
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/midi2xml-ags_marshal.Tpo $(DEPDIR)/midi2xml-ags_marshal.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/midi2ags/object/ags_marshal.c' object='midi2xml-ags_marshal.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(midi2xml_CFLAGS) $(CFLAGS) -c -o midi2xml-ags_marshal.obj `if test -f 'src/midi2ags/object/ags_marshal.c'; then $(CYGPATH_W) 'src/midi2ags/object/ags_marshal.c'; else $(CYGPATH_W) '$(srcdir)/src/midi2ags/object/ags_marshal.c'; fi`
install-man1: $(man1_MANS)
@$(NORMAL_INSTALL)
@list1='$(man1_MANS)'; \
@@ -6254,27 +6161,6 @@ uninstall-appdataDATA:
@list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(appdatadir)'; $(am__uninstall_files_from_dir)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -6502,7 +6388,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS) $(DATA) config.h
installdirs:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(docdir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(appdatadir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -6538,8 +6424,8 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-binPROGRAMS clean-generic clean-local \
- clean-noinstLIBRARIES mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-noinstLIBRARIES \
+ mostlyclean-am
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -6552,14 +6438,15 @@ dvi: dvi-am
dvi-am:
+html: html-am
+
html-am:
info: info-am
info-am:
-install-data-am: install-appdataDATA install-data-local \
- install-docDATA install-man
+install-data-am: install-appdataDATA install-data-local install-man
install-dvi: install-dvi-am
@@ -6567,6 +6454,8 @@ install-dvi-am:
install-exec-am: install-binPROGRAMS
+install-html: install-html-am
+
install-html-am:
install-info: install-info-am
@@ -6605,7 +6494,7 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-appdataDATA uninstall-binPROGRAMS \
- uninstall-docDATA uninstall-man
+ uninstall-man
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
uninstall-man: uninstall-man1
@@ -6613,7 +6502,7 @@ uninstall-man: uninstall-man1
.MAKE: all install-am install-strip uninstall-am
.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \
- clean-binPROGRAMS clean-cscope clean-generic clean-local \
+ clean-binPROGRAMS clean-cscope clean-generic \
clean-noinstLIBRARIES cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip distcheck distclean distclean-compile \
@@ -6621,44 +6510,28 @@ uninstall-man: uninstall-man1
distdir distuninstallcheck dvi dvi-am html html-am info \
info-am install install-am install-appdataDATA \
install-binPROGRAMS install-data install-data-am \
- install-data-local install-docDATA install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-man1 \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
- tags tags-am uninstall uninstall-am uninstall-appdataDATA \
- uninstall-binPROGRAMS uninstall-docDATA uninstall-hook \
- uninstall-man uninstall-man1
+ install-data-local install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-appdataDATA uninstall-binPROGRAMS \
+ uninstall-hook uninstall-man uninstall-man1
ags.desktop: ags.desktop.in
$(AM_V_GEN)sed -e 's,\@datadir\@,$(datadir),g' < "$<" > $@
-html:
- mkdir -p html/
- xsltproc --output html/ --xinclude /usr/share/xml/docbook/stylesheet/docbook-xsl/htmlhelp/htmlhelp.xsl $(top_srcdir)/doc/usersBook.xml
-
-all: html
-
-install-data-local: install-html
+install-data-local:
mkdir -p $(DESTDIR)/$(datadir)/gsequencer/icons
mkdir -p $(DESTDIR)/$(datadir)/gsequencer/images
cp $(top_srcdir)/gsequencer.share/icons/ags.xpm $(DESTDIR)/$(datadir)/gsequencer/icons/ags.xpm
cp $(top_srcdir)/gsequencer.share/images/ags.png $(DESTDIR)/$(datadir)/gsequencer/images/ags.png
-install-html:
- mkdir -p $(DESTDIR)/$(datadir)/doc/gsequencer/{images,html}/
- cp $(userdocimages) $(DESTDIR)/$(datadir)/doc/gsequencer/images/
- cp html/* $(DESTDIR)/$(datadir)/doc/gsequencer/html/
-
uninstall-hook:
rm -rf $(DESTDIR)/$(datadir)/gsequencer
- rm -rf $(DESTDIR)/$(datadir)/doc/gsequencer
-
-clean-local:
- rm -rf html
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/configure b/configure
index 07bd9e4..72c3b6e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ags 0.4.2-68.
+# Generated by GNU Autoconf 2.69 for ags 0.4.2-67.
#
# Report bugs to <jkraehemann at gmail.com>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ags'
PACKAGE_TARNAME='ags'
-PACKAGE_VERSION='0.4.2-68'
-PACKAGE_STRING='ags 0.4.2-68'
+PACKAGE_VERSION='0.4.2-67'
+PACKAGE_STRING='ags 0.4.2-67'
PACKAGE_BUGREPORT='jkraehemann at gmail.com'
PACKAGE_URL=''
@@ -1317,7 +1317,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ags 0.4.2-68 to adapt to many kinds of systems.
+\`configure' configures ags 0.4.2-67 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1387,7 +1387,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ags 0.4.2-68:";;
+ short | recursive ) echo "Configuration of ags 0.4.2-67:";;
esac
cat <<\_ACEOF
@@ -1523,7 +1523,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ags configure 0.4.2-68
+ags configure 0.4.2-67
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2000,7 +2000,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ags $as_me 0.4.2-68, which was
+It was created by ags $as_me 0.4.2-67, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2866,7 +2866,7 @@ fi
# Define the identity of the package.
PACKAGE='ags'
- VERSION='0.4.2-68'
+ VERSION='0.4.2-67'
cat >>confdefs.h <<_ACEOF
@@ -7161,7 +7161,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ags $as_me 0.4.2-68, which was
+This file was extended by ags $as_me 0.4.2-67, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7227,7 +7227,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ags config.status 0.4.2-68
+ags config.status 0.4.2-67
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index e883c78..b000043 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([ags],[0.4.2-68],[jkraehemann at gmail.com])
+AC_INIT([ags],[0.4.2-67],[jkraehemann at gmail.com])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
diff --git a/debian/changelog b/debian/changelog
index fbc997a..356a9cd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,7 @@
-ags (0.4.2-68-1) unstable; urgency=low
+ags (0.4.2-67-1) unstable; urgency=low
[ Joël Krähemann (Maintainer of Advanced Gtk+ Sequencer) ]
- * fixed itp-bug (Closes: #788590)
- * fixed audio preferences
- * added midi2xml
+ * fixed extended LADSPA support XML IO
[ Joël Krähemann ]
diff --git a/debian/gsequencer.doc b/debian/gsequencer.doc
deleted file mode 100644
index 7306ca4..0000000
--- a/debian/gsequencer.doc
+++ /dev/null
@@ -1,8 +0,0 @@
-Document: gsequencer
-Title: GSequencer Manual
-Author: Emil Brink
-Abstract: This manual describes what GSequencer is, and how it can be used.
-Section: x11
-Format: HTML
-Index: /usr/share/doc/gsequencer/html/index.html
-Files: /usr/share/doc/gsequencer/html/*.html
diff --git a/debian/midi2xml.1.xml b/debian/midi2xml.1.xml
deleted file mode 100644
index 50d4630..0000000
--- a/debian/midi2xml.1.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="midi2xml">
-
- <refentryinfo>
- <date>2015-06-15</date>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>
- <application>midi2xml</application>
- </refentrytitle>
- <manvolnum>1</manvolnum>
- <refmiscinfo>midi2xml v0.4.2</refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>midi2xml</refname>
- <refpurpose>midi2xml converts your MIDI files to XML format</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>/usr/bin/midi2xml</command>
- <arg>--help</arg>
- <arg>--version</arg>
- <arg>file</arg>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1><title>Description</title>
- <para>
- midi2xml takes your MIDI file from command line and outputs the resulting XML
- to stdout.
- </para>
- </refsect1>
-
- <refsect1 id="options">
- <title>OPTIONS</title>
- <para>The program follows the usual GNU command line syntax,
- with long options starting with two dashes (`-'). A summary of
- options is included below. For a complete description, see the
- <citerefentry>
- <refentrytitle>info</refentrytitle>
- <manvolnum>1</manvolnum>
- </citerefentry> files.</para>
- <variablelist>
- <varlistentry>
- <term><option>file</option></term>
- <listitem>
- <para>Open file from command line.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Show summary of options.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--version</option></term>
- <listitem>
- <para>Show version of program.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>BUGS</title>
- <para>
- None. So far I know.
- </para>
- </refsect1>
- <refsect1>
- <title>AUTHOR</title>
- <para>
- <author>
- <firstname>Joël</firstname>
- <surname>Krähemann</surname>
- <contrib>Original author</contrib>
- </author>
- </para>
- </refsect1>
-</refentry>
diff --git a/debian/rules b/debian/rules
index d978431..a3b1879 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,7 +17,6 @@ include /usr/share/dpkg/default.mk
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
override_dh_auto_build:
- xsltproc --nonet --param make.year.ranges 1 --param make.single.year.ranges 1 --param man.charmap.use.subset 0 -o debian/ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl debian/midi2xml.1.xml
xsltproc --nonet --param make.year.ranges 1 --param make.single.year.ranges 1 --param man.charmap.use.subset 0 -o debian/ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl debian/ags.1.xml
dh_auto_build
diff --git a/doc/appa.xml b/doc/appa.xml
deleted file mode 100644
index a3a3a34..0000000
--- a/doc/appa.xml
+++ /dev/null
@@ -1,560 +0,0 @@
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
-<appendix id="fdl">
- <title>GNU Free Documentation License</title>
- <simpara>Version 1.3, 3 November 2008</simpara>
- <simpara>
- Copyright © 2000, 2001, 2002, 2007, 2008
- <ulink url="http://www.fsf.org/">Free Software Foundation, Inc.</ulink>
- </simpara>
- <simpara>
- Everyone is permitted to copy and distribute verbatim copies of this
- license document, but changing it is not allowed.
- </simpara>
- <bridgehead id="section0" renderas="sect2">
- 0. PREAMBLE
- </bridgehead>
- <simpara>
- The purpose of this License is to make a manual, textbook, or other
- functional and useful document “free” in the sense of freedom:
- to assure everyone the effective freedom to copy and redistribute it, with
- or without modifying it, either commercially or
- noncommercially. Secondarily, this License preserves for the author and
- publisher a way to get credit for their work, while not being considered
- responsible for modifications made by others.
- </simpara>
- <simpara>
- This License is a kind of “copyleft”, which means that
- derivative works of the document must themselves be free in the same
- sense. It complements the GNU General Public License, which is a copyleft
- license designed for free software.
- </simpara>
- <simpara>
- We have designed this License in order to use it for manuals for free
- software, because free software needs free documentation: a free program
- should come with manuals providing the same freedoms that the software
- does. But this License is not limited to software manuals; it can be used
- for any textual work, regardless of subject matter or whether it is
- published as a printed book. We recommend this License principally for
- works whose purpose is instruction or reference.
- </simpara>
- <bridgehead id="section1" renderas="sect2">
- 1. APPLICABILITY AND DEFINITIONS
- </bridgehead>
- <simpara>
- This License applies to any manual or other work, in any medium, that
- contains a notice placed by the copyright holder saying it can be
- distributed under the terms of this License. Such a notice grants a
- world-wide, royalty-free license, unlimited in duration, to use that work
- under the conditions stated herein. The “Document”, below,
- refers to any such manual or work. Any member of the public is a licensee,
- and is addressed as “you”. You accept the license if you copy,
- modify or distribute the work in a way requiring permission under
- copyright law.
- </simpara>
- <simpara>
- A “Modified Version” of the Document means any work containing
- the Document or a portion of it, either copied verbatim, or with
- modifications and/or translated into another language.
- </simpara>
- <simpara>
- A “Secondary Section” is a named appendix or a front-matter
- section of the Document that deals exclusively with the relationship of
- the publishers or authors of the Document to the Document’s overall
- subject (or to related matters) and contains nothing that could fall
- directly within that overall subject. (Thus, if the Document is in part a
- textbook of mathematics, a Secondary Section may not explain any
- mathematics.) The relationship could be a matter of historical connection
- with the subject or with related matters, or of legal, commercial,
- philosophical, ethical or political position regarding them.
- </simpara>
- <simpara>
- The “Invariant Sections” are certain Secondary Sections whose
- titles are designated, as being those of Invariant Sections, in the notice
- that says that the Document is released under this License. If a section
- does not fit the above definition of Secondary then it is not allowed to
- be designated as Invariant. The Document may contain zero Invariant
- Sections. If the Document does not identify any Invariant Sections then
- there are none.
- </simpara>
- <simpara>
- The “Cover Texts” are certain short passages of text that are
- listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says
- that the Document is released under this License. A Front-Cover Text may
- be at most 5 words, and a Back-Cover Text may be at most 25 words.
- </simpara>
- <simpara>
- A “Transparent” copy of the Document means a machine-readable
- copy, represented in a format whose specification is available to the
- general public, that is suitable for revising the document
- straightforwardly with generic text editors or (for images composed of
- pixels) generic paint programs or (for drawings) some widely available
- drawing editor, and that is suitable for input to text formatters or for
- automatic translation to a variety of formats suitable for input to text
- formatters. A copy made in an otherwise Transparent file format whose
- markup, or absence of markup, has been arranged to thwart or discourage
- subsequent modification by readers is not Transparent. An image format is
- not Transparent if used for any substantial amount of text. A copy that is
- not “Transparent” is called “Opaque”.
- </simpara>
- <simpara>
- Examples of suitable formats for Transparent copies include plain ASCII
- without markup, Texinfo input format, LaTeX input format, SGML or XML
- using a publicly available DTD, and standard-conforming simple HTML,
- PostScript or PDF designed for human modification. Examples of transparent
- image formats include PNG, XCF and JPG. Opaque formats include proprietary
- formats that can be read and edited only by proprietary word processors,
- SGML or XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML, PostScript or PDF produced by
- some word processors for output purposes only.
- </simpara>
- <simpara>
- The “Title Page” means, for a printed book, the title page
- itself, plus such following pages as are needed to hold, legibly, the
- material this License requires to appear in the title page. For works in
- formats which do not have any title page as such, “Title Page”
- means the text near the most prominent appearance of the work’s
- title, preceding the beginning of the body of the text.
- </simpara>
- <simpara>
- The “publisher” means any person or entity that distributes
- copies of the Document to the public.
- </simpara>
- <simpara>
- A section “Entitled XYZ” means a named subunit of the Document
- whose title either is precisely XYZ or contains XYZ in parentheses
- following text that translates XYZ in another language. (Here XYZ stands
- for a specific section name mentioned below, such as
- “Acknowledgements”, “Dedications”,
- “Endorsements”, or “History”.) To “Preserve
- the Title” of such a section when you modify the Document means that
- it remains a section “Entitled XYZ” according to this
- definition.
- </simpara>
- <simpara>
- The Document may include Warranty Disclaimers next to the notice which
- states that this License applies to the Document. These Warranty
- Disclaimers are considered to be included by reference in this License,
- but only as regards disclaiming warranties: any other implication that
- these Warranty Disclaimers may have is void and has no effect on the
- meaning of this License.
- </simpara>
- <bridgehead id="section2" renderas="sect2">
- 2. VERBATIM COPYING
- </bridgehead>
- <simpara>
- You may copy and distribute the Document in any medium, either
- commercially or noncommercially, provided that this License, the copyright
- notices, and the license notice saying this License applies to the
- Document are reproduced in all copies, and that you add no other
- conditions whatsoever to those of this License. You may not use technical
- measures to obstruct or control the reading or further copying of the
- copies you make or distribute. However, you may accept compensation in
- exchange for copies. If you distribute a large enough number of copies you
- must also follow the conditions in section 3.
- </simpara>
- <simpara>
- You may also lend copies, under the same conditions stated above, and you
- may publicly display copies.
- </simpara>
- <bridgehead id="section3" renderas="sect2">
- 3. COPYING IN QUANTITY
- </bridgehead>
- <simpara>
- If you publish printed copies (or copies in media that commonly have
- printed covers) of the Document, numbering more than 100, and the
- Document’s license notice requires Cover Texts, you must enclose
- the copies in covers that carry, clearly and legibly, all these Cover
- Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the
- back cover. Both covers must also clearly and legibly identify you as the
- publisher of these copies. The front cover must present the full title
- with all words of the title equally prominent and visible. You may add
- other material on the covers in addition. Copying with changes limited to
- the covers, as long as they preserve the title of the Document and satisfy
- these conditions, can be treated as verbatim copying in other respects.
- </simpara>
- <simpara>
- If the required texts for either cover are too voluminous to fit legibly,
- you should put the first ones listed (as many as fit reasonably) on the
- actual cover, and continue the rest onto adjacent pages.
- </simpara>
- <simpara>
- If you publish or distribute Opaque copies of the Document numbering more
- than 100, you must either include a machine-readable Transparent copy
- along with each Opaque copy, or state in or with each Opaque copy a
- computer-network location from which the general network-using public has
- access to download using public-standard network protocols a complete
- Transparent copy of the Document, free of added material. If you use the
- latter option, you must take reasonably prudent steps, when you begin
- distribution of Opaque copies in quantity, to ensure that this Transparent
- copy will remain thus accessible at the stated location until at least one
- year after the last time you distribute an Opaque copy (directly or
- through your agents or retailers) of that edition to the public.
- </simpara>
- <simpara>
- It is requested, but not required, that you contact the authors of the
- Document well before redistributing any large number of copies, to give
- them a chance to provide you with an updated version of the Document.
- </simpara>
- <bridgehead id="section4" renderas="sect2">
- 4. MODIFICATIONS
- </bridgehead>
- <simpara>
- You may copy and distribute a Modified Version of the Document under the
- conditions of sections 2 and 3 above, provided that you release the
- Modified Version under precisely this License, with the Modified Version
- filling the role of the Document, thus licensing distribution and
- modification of the Modified Version to whoever possesses a copy of it. In
- addition, you must do these things in the Modified Version:
- </simpara>
- <orderedlist numeration="upperalpha">
- <listitem>
- <simpara>
- Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions (which
- should, if there were any, be listed in the History section of the
- Document). You may use the same title as a previous version if the
- original publisher of that version gives permission.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- State on the Title page the name of the publisher of the Modified
- Version, as the publisher.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Preserve all the copyright notices of the Document.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Add an appropriate copyright notice for your modifications adjacent to
- the other copyright notices.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document’s license
- notice.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Include an unaltered copy of this License.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Preserve the section Entitled “History”, Preserve its
- Title, and add to it an item stating at least the title, year, new
- authors, and publisher of the Modified Version as given on the Title
- Page. If there is no section Entitled “History” in the
- Document, create one stating the title, year, authors, and publisher
- of the Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous sentence.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise the
- network locations given in the Document for previous versions it was
- based on. These may be placed in the “History”
- section. You may omit a network location for a work that was published
- at least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- For any section Entitled “Acknowledgements” or
- “Dedications”, Preserve the Title of the section, and
- preserve in the section all the substance and tone of each of the
- contributor acknowledgements and/or dedications given therein.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Preserve all the Invariant Sections of the Document, unaltered in
- their text and in their titles. Section numbers or the equivalent are
- not considered part of the section titles.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Delete any section Entitled “Endorsements”. Such a section
- may not be included in the Modified Version.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Do not retitle any existing section to be Entitled
- “Endorsements” or to conflict in title with any Invariant
- Section.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Preserve any Warranty Disclaimers.
- </simpara>
- </listitem>
- </orderedlist>
- <simpara>
- If the Modified Version includes new front-matter sections or appendices
- that qualify as Secondary Sections and contain no material copied from the
- Document, you may at your option designate some or all of these sections
- as invariant. To do this, add their titles to the list of Invariant
- Sections in the Modified Version’s license notice. These titles
- must be distinct from any other section titles.
- </simpara>
- <simpara>
- You may add a section Entitled “Endorsements”, provided it
- contains nothing but endorsements of your Modified Version by various
- parties — for example, statements of peer review or that the text
- has been approved by an organization as the authoritative definition of a
- standard.
- </simpara>
- <simpara>
- You may add a passage of up to five words as a Front-Cover Text, and a
- passage of up to 25 words as a Back-Cover Text, to the end of the list of
- Cover Texts in the Modified Version. Only one passage of Front-Cover Text
- and one of Back-Cover Text may be added by (or through arrangements made
- by) any one entity. If the Document already includes a cover text for the
- same cover, previously added by you or by arrangement made by the same
- entity you are acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous publisher
- that added the old one.
- </simpara>
- <simpara>
- The author(s) and publisher(s) of the Document do not by this License give
- permission to use their names for publicity for or to assert or imply
- endorsement of any Modified Version.
- </simpara>
- <bridgehead id="section5" renderas="sect2">
- 5. COMBINING DOCUMENTS
- </bridgehead>
- <simpara>
- You may combine the Document with other documents released under this
- License, under the terms defined in section 4 above for modified versions,
- provided that you include in the combination all of the Invariant Sections
- of all of the original documents, unmodified, and list them all as
- Invariant Sections of your combined work in its license notice, and that
- you preserve all their Warranty Disclaimers.
- </simpara>
- <simpara>
- The combined work need only contain one copy of this License, and multiple
- identical Invariant Sections may be replaced with a single copy. If there
- are multiple Invariant Sections with the same name but different contents,
- make the title of each such section unique by adding at the end of it, in
- parentheses, the name of the original author or publisher of that section
- if known, or else a unique number. Make the same adjustment to the section
- titles in the list of Invariant Sections in the license notice of the
- combined work.
- </simpara>
- <simpara>
- In the combination, you must combine any sections Entitled
- “History” in the various original documents, forming one
- section Entitled “History”; likewise combine any sections
- Entitled “Acknowledgements”, and any sections Entitled
- “Dedications”. You must delete all sections Entitled
- “Endorsements”.
- </simpara>
- <bridgehead id="section6" renderas="sect2">
- 6. COLLECTIONS OF DOCUMENTS
- </bridgehead>
- <simpara>
- You may make a collection consisting of the Document and other documents
- released under this License, and replace the individual copies of this
- License in the various documents with a single copy that is included in
- the collection, provided that you follow the rules of this License for
- verbatim copying of each of the documents in all other respects.
- </simpara>
- <simpara>
- You may extract a single document from such a collection, and distribute
- it individually under this License, provided you insert a copy of this
- License into the extracted document, and follow this License in all other
- respects regarding verbatim copying of that document.
- </simpara>
- <bridgehead id="section7" renderas="sect2">
- 7. AGGREGATION WITH INDEPENDENT WORKS
- </bridgehead>
- <simpara>
- A compilation of the Document or its derivatives with other separate and
- independent documents or works, in or on a volume of a storage or
- distribution medium, is called an “aggregate” if the copyright
- resulting from the compilation is not used to limit the legal rights of
- the compilation’s users beyond what the individual works
- permit. When the Document is included in an aggregate, this License does
- not apply to the other works in the aggregate which are not themselves
- derivative works of the Document.
- </simpara>
- <simpara>
- If the Cover Text requirement of section 3 is applicable to these copies
- of the Document, then if the Document is less than one half of the entire
- aggregate, the Document’s Cover Texts may be placed on covers that
- bracket the Document within the aggregate, or the electronic equivalent of
- covers if the Document is in electronic form. Otherwise they must appear
- on printed covers that bracket the whole aggregate.
- </simpara>
- <bridgehead id="section8" renderas="sect2">
- 8. TRANSLATION
- </bridgehead>
- <simpara>
- Translation is considered a kind of modification, so you may distribute
- translations of the Document under the terms of section 4. Replacing
- Invariant Sections with translations requires special permission from
- their copyright holders, but you may include translations of some or all
- Invariant Sections in addition to the original versions of these Invariant
- Sections. You may include a translation of this License, and all the
- license notices in the Document, and any Warranty Disclaimers, provided
- that you also include the original English version of this License and the
- original versions of those notices and disclaimers. In case of a
- disagreement between the translation and the original version of this
- License or a notice or disclaimer, the original version will prevail.
- </simpara>
- <simpara>
- If a section in the Document is Entitled “Acknowledgements”,
- “Dedications”, or “History”, the requirement
- (section 4) to Preserve its Title (section 1) will typically require
- changing the actual title.
- </simpara>
- <bridgehead id="section9" renderas="sect2">
- 9. TERMINATION
- </bridgehead>
- <simpara>
- You may not copy, modify, sublicense, or distribute the Document except as
- expressly provided under this License. Any attempt otherwise to copy,
- modify, sublicense, or distribute it is void, and will automatically
- terminate your rights under this License.
- </simpara>
- <simpara>
- However, if you cease all violation of this License, then your license
- from a particular copyright holder is reinstated (a) provisionally, unless
- and until the copyright holder explicitly and finally terminates your
- license, and (b) permanently, if the copyright holder fails to notify you
- of the violation by some reasonable means prior to 60 days after the
- cessation.
- </simpara>
- <simpara>
- Moreover, your license from a particular copyright holder is reinstated
- permanently if the copyright holder notifies you of the violation by some
- reasonable means, this is the first time you have received notice of
- violation of this License (for any work) from that copyright holder, and
- you cure the violation prior to 30 days after your receipt of the notice.
- </simpara>
- <simpara>
- Termination of your rights under this section does not terminate the
- licenses of parties who have received copies or rights from you under this
- License. If your rights have been terminated and not permanently
- reinstated, receipt of a copy of some or all of the same material does not
- give you any rights to use it.
- </simpara>
- <bridgehead id="section10" renderas="sect2">
- 10. FUTURE REVISIONS OF THIS LICENSE
- </bridgehead>
- <simpara>
- The Free Software Foundation may publish new, revised versions of the GNU
- Free Documentation License from time to time. Such new versions will be
- similar in spirit to the present version, but may differ in detail to
- address new problems or concerns. See
- <ulink url="http://www.gnu.org/copyleft/">Copyleft</ulink>.
- </simpara>
- <simpara>
- Each version of the License is given a distinguishing version number. If
- the Document specifies that a particular numbered version of this License
- “or any later version” applies to it, you have the option of
- following the terms and conditions either of that specified version or of
- any later version that has been published (not as a draft) by the Free
- Software Foundation. If the Document does not specify a version number of
- this License, you may choose any version ever published (not as a draft)
- by the Free Software Foundation. If the Document specifies that a proxy
- can decide which future versions of this License can be used, that
- proxy’s public statement of acceptance of a version permanently
- authorizes you to choose that version for the Document.
- </simpara>
- <bridgehead id="section11" renderas="sect2">
- 11. RELICENSING
- </bridgehead>
- <simpara>
- “Massive Multiauthor Collaboration Site” (or “MMC
- Site”) means any World Wide Web server that publishes copyrightable
- works and also provides prominent facilities for anybody to edit those
- works. A public wiki that anybody can edit is an example of such a
- server. A “Massive Multiauthor Collaboration” (or
- “MMC”) contained in the site means any set of copyrightable
- works thus published on the MMC site.
- </simpara>
- <simpara>
- “CC-BY-SA” means the Creative Commons Attribution-Share Alike
- 3.0 license published by Creative Commons Corporation, a not-for-profit
- corporation with a principal place of business in San Francisco,
- California, as well as future copyleft versions of that license published
- by that same organization.
- </simpara>
- <simpara>
- “Incorporate” means to publish or republish a Document, in
- whole or in part, as part of another Document.
- </simpara>
- <simpara>
- An MMC is “eligible for relicensing” if it is licensed under
- this License, and if all works that were first published under this
- License somewhere other than this MMC, and subsequently incorporated in
- whole or in part into the MMC, (1) had no cover texts or invariant
- sections, and (2) were thus incorporated prior to November 1, 2008.
- </simpara>
- <simpara>
- The operator of an MMC Site may republish an MMC contained in the site
- under CC-BY-SA on the same site at any time before August 1, 2009,
- provided the MMC is eligible for relicensing.
- </simpara>
- <bridgehead id="addendum" renderas="sect2">
- ADDENDUM: How to use this License for your documents
- </bridgehead>
- <simpara>
- To use this License in a document you have written, include a copy of the
- License in the document and put the following copyright and license
- notices just after the title page:
- </simpara>
- <screen>Copyright © 2013 Joël Krähemann
-
-Permission is granted to copy, distribute and/or modify this document under the
-terms of the GNU Free Documentation License, Version 1.3 or any later version
-published by the Free Software Foundation; with no Invariant Sections, no
-Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in
-the section entitled “GNU Free Documentation License”.</screen>
- <simpara>
- If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
- replace the “with… Texts.” line with this:
- </simpara>
- <screen>with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts
-being LIST, and with the Back-Cover Texts being LIST.</screen>
- <simpara>
- If you have Invariant Sections without Cover Texts, or some other
- combination of the three, merge those two alternatives to suit the
- situation.
- </simpara>
- <simpara>
- If your document contains nontrivial examples of program code, we
- recommend releasing these examples in parallel under your choice of free
- software license, such as the GNU General Public License, to permit their
- use in free software.
- </simpara>
-</appendix>
diff --git a/doc/images/ags-toolbar.png b/doc/images/ags-toolbar.png
deleted file mode 100644
index 5b922b2..0000000
Binary files a/doc/images/ags-toolbar.png and /dev/null differ
diff --git a/doc/images/ags_audio_preferences.png b/doc/images/ags_audio_preferences.png
deleted file mode 100644
index 138f0c0..0000000
Binary files a/doc/images/ags_audio_preferences.png and /dev/null differ
diff --git a/doc/images/ags_drum.png b/doc/images/ags_drum.png
deleted file mode 100644
index a08a1c0..0000000
Binary files a/doc/images/ags_drum.png and /dev/null differ
diff --git a/doc/images/ags_export_window.png b/doc/images/ags_export_window.png
deleted file mode 100644
index 182792e..0000000
Binary files a/doc/images/ags_export_window.png and /dev/null differ
diff --git a/doc/images/ags_ffplayer.png b/doc/images/ags_ffplayer.png
deleted file mode 100644
index bcb7bf3..0000000
Binary files a/doc/images/ags_ffplayer.png and /dev/null differ
diff --git a/doc/images/ags_generic_preferences.png b/doc/images/ags_generic_preferences.png
deleted file mode 100644
index c513d1c..0000000
Binary files a/doc/images/ags_generic_preferences.png and /dev/null differ
diff --git a/doc/images/ags_ladspa_browser.png b/doc/images/ags_ladspa_browser.png
deleted file mode 100644
index e8c9784..0000000
Binary files a/doc/images/ags_ladspa_browser.png and /dev/null differ
diff --git a/doc/images/ags_machine_properties-input.png b/doc/images/ags_machine_properties-input.png
deleted file mode 100644
index e301172..0000000
Binary files a/doc/images/ags_machine_properties-input.png and /dev/null differ
diff --git a/doc/images/ags_machine_properties-link_input.png b/doc/images/ags_machine_properties-link_input.png
deleted file mode 100644
index b4e31af..0000000
Binary files a/doc/images/ags_machine_properties-link_input.png and /dev/null differ
diff --git a/doc/images/ags_machine_properties-output.png b/doc/images/ags_machine_properties-output.png
deleted file mode 100644
index 6b57eb7..0000000
Binary files a/doc/images/ags_machine_properties-output.png and /dev/null differ
diff --git a/doc/images/ags_machine_properties-resize_channels.png b/doc/images/ags_machine_properties-resize_channels.png
deleted file mode 100644
index 851c48b..0000000
Binary files a/doc/images/ags_machine_properties-resize_channels.png and /dev/null differ
diff --git a/doc/images/ags_matrix.png b/doc/images/ags_matrix.png
deleted file mode 100644
index 436cce1..0000000
Binary files a/doc/images/ags_matrix.png and /dev/null differ
diff --git a/doc/images/ags_mixer.png b/doc/images/ags_mixer.png
deleted file mode 100644
index 187185d..0000000
Binary files a/doc/images/ags_mixer.png and /dev/null differ
diff --git a/doc/images/ags_navigation.png b/doc/images/ags_navigation.png
deleted file mode 100644
index 65ea10c..0000000
Binary files a/doc/images/ags_navigation.png and /dev/null differ
diff --git a/doc/images/ags_panel.png b/doc/images/ags_panel.png
deleted file mode 100644
index a2b0830..0000000
Binary files a/doc/images/ags_panel.png and /dev/null differ
diff --git a/doc/images/ags_performance_preferences.png b/doc/images/ags_performance_preferences.png
deleted file mode 100644
index 15ef9ea..0000000
Binary files a/doc/images/ags_performance_preferences.png and /dev/null differ
diff --git a/doc/images/ags_server_preferences.png b/doc/images/ags_server_preferences.png
deleted file mode 100644
index cd64304..0000000
Binary files a/doc/images/ags_server_preferences.png and /dev/null differ
diff --git a/doc/images/ags_synth.png b/doc/images/ags_synth.png
deleted file mode 100644
index 752fc16..0000000
Binary files a/doc/images/ags_synth.png and /dev/null differ
diff --git a/doc/usersBook.xml b/doc/usersBook.xml
deleted file mode 100644
index 231587e..0000000
--- a/doc/usersBook.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<!DOCTYPE book [
-<!ENTITY jkraehemann "Joël Krähemann">
-<!ENTITY bookpath ".">
-]>
-<book xmlns="http://docbook.org/ns/docbook"
- xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
- <title>Advanced Gtk+ Sequencer</title>
- <subtitle>User's Handbook</subtitle>
-
- <info>
- <legalnotice>
- <para>
- Copyright (C) &jkraehemann;.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
- </para>
- </legalnotice>
- <author>
- <personname>
- <firstname>Joël</firstname>
- <surname>Krähemann</surname>
- </personname>
- </author>
- </info>
-
- <dedication>
- <para>This book is dedicated to my father †Hans-Jörg Krähemann.</para>
- </dedication>
-
- <xi:include href="&bookpath;/usersBook/preface.xml"/>
- <xi:include href="&bookpath;/usersBook/chap1.xml"/> <!--menubar -->
- <xi:include href="&bookpath;/usersBook/chap2.xml"/> <!-- machines/engines -->
- <xi:include href="&bookpath;/usersBook/chap3.xml"/> <!-- editor -->
- <xi:include href="&bookpath;/usersBook/chap4.xml"/> <!--navigation -->
- <xi:include href="&bookpath;/appa.xml"/>
- <xi:include href="&bookpath;/usersBook/appb.xml"/>
-
-</book>
diff --git a/doc/usersBook/appb.xml b/doc/usersBook/appb.xml
deleted file mode 100644
index d6bdac7..0000000
--- a/doc/usersBook/appb.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<appendix>
- <title>Resources</title>
- <para>
- <!-- TODO:JK: write some content -->
- </para>
-</appendix>
diff --git a/doc/usersBook/chap1.xml b/doc/usersBook/chap1.xml
deleted file mode 100644
index 580dd14..0000000
--- a/doc/usersBook/chap1.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<!DOCTYPE book [
-<!ENTITY ags "Advanced Gtk+ Sequencer">
-]>
-<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
- <title>The menubar</title>
- <para>
- Within the mainbar you may do basic tasks like open/close files or show this help. In this section we cover
- briefly the the different entries.
- </para>
-
- <sect1>
- <title>File</title>
- <para>
- The file menu lets you do maintenance related to files or quit application.
- </para>
-
- <itemizedlist mark="bullet">
- <listitem>
- <para>
- Open - open an &ags; XML file.
- </para>
- </listitem>
- <listitem>
- <para>
- Save - save your current work.
- </para>
- </listitem>
- <listitem>
- <para>
- Save as - save your current work as a different filename.
- </para>
- </listitem>
- <listitem>
- <para>
- Export - export to PCM audio file.
- </para>
- </listitem>
- <listitem>
- <para>
- Quit - leave &ags;.
- </para>
- </listitem>
- </itemizedlist>
-
- <sect2>
- <title>Export to PCM audio file</title>
- <imagedata fileref="../images/ags_export_window.png" />
- <para>
- This shows you the export dialog. You may select filename to export to and duration of the exported track. BPM adjustment
- is take from the navigation. Basically &ags; exports what you hear of the speakers.
- </para>
- <para>
- With the export toggle button you can start exporting to PCM audio file or stop it at an arbitrary time.
- </para>
- </sect2>
- </sect1>
-
- <sect1>
- <title>Edit</title>
- <para>
- The edit menu lets you add/remove audio machines or open preferences dialog.
- </para>
-
- <itemizedlist mark="bullet">
- <listitem>
- <para>
- Add - select of different machines
- </para>
-
- <itemizedlist mark="bullet">
- <listitem>
- <para>
- Panel - acts as your default sink.
- </para>
- </listitem>
- <listitem>
- <para>
- Mixer - enables you to bundle your different output engines.
- </para>
- </listitem>
- <listitem>
- <para>
- Drum - is used to do pattern editing using PCM audio files.
- </para>
- </listitem>
- <listitem>
- <para>
- Matrix - is used to pattern editing, intended to be linked against Synth.
- </para>
- </listitem>
- <listitem>
- <para>
- Synth - is a software synthesizer.
- </para>
- </listitem>
- <listitem>
- <para>
- FFPlayer - may be used to open Soundfont2 audio file container format.
- </para>
- </listitem>
- </itemizedlist>
-
- </listitem>
- <listitem>
- <para>
- Remove - the focused machine.
- </para>
- </listitem>
- <listitem>
- <para>
- Preferences - open preferences dialog.
- </para>
- </listitem>
- </itemizedlist>
-
- <sect2>
- <title>Preferences dialog</title>
- <para>
- Within preferences dialog you may choose between different topics. For each one one tab.
- </para>
-
- <sect3>
- <title>Generic</title>
- <imagedata fileref="../images/ags_generic_preferences.png" />
- <para>
- The autosave thread option enables auto-saving to $HOME/.gsequencer directory.
- </para>
- </sect3>
-
- <sect3>
- <title>Audio</title>
- <imagedata fileref="../images/ags_audio_preferences.png" />
- <para>
- Sound card is your physical devices to do playback.
- </para>
- <para>
- Audio channels specifies the audio channels to allocate for output device.
- </para>
- <para>
- Samplerate affects the entire project. Your audio files have to be at very same rate further
- your device has to support the given rate.
- </para>
- <para>
- Buffer size is used for all audio buffers. Your soundcard has to support the passed buffer size.
- </para>
- </sect3>
-
- <sect3>
- <title>Performance</title>
- <imagedata fileref="../images/ags_performance_preferences.png" />
- <para>
- Auto-sense on stream is required for certain LADSPA plugins but may cause additional performance losses.
- </para>
- </sect3>
-
- <sect3>
- <title>Server</title>
- <imagedata fileref="../images/ags_server_preferences.png" />
- <para>
- Ignored for now.
- </para>
- </sect3>
-
- </sect2>
- </sect1>
-
-</chapter>
diff --git a/doc/usersBook/chap2.xml b/doc/usersBook/chap2.xml
deleted file mode 100644
index 2ec0df5..0000000
--- a/doc/usersBook/chap2.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
- <title>Engines</title>
- <para>
- You can add engines by activating the appropriate menu item within
- the "add" submenu of the "edit" menu item. You may change the properties
- of an engine by opening the properties dialog from the context menu.
- From the context menu you may perform some other tasks, too.
- </para>
- <itemizedlist mark="bullet">
- <listitem>
- <para>
- To move up or down an engine open context menu and activate "up"
- respectively "down" entry.
- </para>
- </listitem>
- <listitem>
- <para>
- To show or hide an engine open context menu and activate "show"
- respectively "hide" entry. Note the engines won't be hidden entirely
- they are just collapsed.
- </para>
- </listitem>
- <listitem>
- <para>
- To rename an engine open context menu and activate "rename" entry.
- </para>
- </listitem>
- <listitem>
- <para>
- To remove an engine open context menu and activate "destroy" entry.
- </para>
- </listitem>
- <listitem>
- <para>
- To open properties dialog open context menu and activate "properties"
- entry.
- </para>
- </listitem>
- </itemizedlist>
-
- <sect1>
- <title>Machine Properties</title>
- <para>
- Within properties dialog you can link lines or add effects and adjust audio-channels/pads.
- </para>
-
- <sect2>
- <imagedata fileref="../images/ags_machine_properties-output.png" />
- <para>
- The output tab lets you mainly perform linking and adding effects.
- </para>
- </sect2>
-
- <sect2>
- <imagedata fileref="../images/ags_machine_properties-input.png" />
- <para>
- The input tab does the same as output tab in view of input lines.
- </para>
- </sect2>
-
- <sect2>
- <imagedata fileref="../images/ags_machine_properties-link_input.png" />
- <para>
- Do linking in batch mode.
- </para>
- </sect2>
-
- <sect2>
- <imagedata fileref="../images/ags_machine_properties-resize_channels.png" />
- <para>
- Adjust audio channels or input/output pads.
- </para>
- </sect2>
-
- <sect2>
- <imagedata fileref="../images/ags_ladspa_browser.png" />
- <para>
- The LADSPA browser gives you choice of available LADSPA plugin. It lets you modify
- the controls to be used.
- </para>
- </sect2>
-
- </sect1>
-
- <sect1>
- <title>Panel</title>
- <imagedata fileref="../images/ags_panel.png" />
- <para>
- The panel is used to output to your soundcard.
- </para>
- </sect1>
-
- <sect1>
- <title>Mixer</title>
- <imagedata fileref="../images/ags_mixer.png" />
- <para>
- Bundle audio lines with the mixer and perform toplevel stream manipulation.
- </para>
- </sect1>
-
- <sect1>
- <title>Drum</title>
- <imagedata fileref="../images/ags_drum.png" />
- <para>
- Produce an audio stream by defining a pattern. The drum supports opening
- audio files and associate to its input.
- </para>
- </sect1>
-
- <sect1>
- <title>Matrix</title>
- <imagedata fileref="../images/ags_matrix.png" />
- <para>
- Produce an audio stream by defining a pattern. The matrix itselves doesn't
- have any audio signals on its own input you may rather link it to a synth
- engine.
- </para>
- </sect1>
-
- <sect1>
- <title>Synth</title>
- <imagedata fileref="../images/ags_synth.png" />
- <para>
- Produce audio data using its oscillators. The count of oscillators depends on number of
- input lines.
- </para>
- </sect1>
-
- <sect1>
- <title>FFPlayer</title>
- <imagedata fileref="../images/ags_ffplayer.png" />
- <para>
- Produce audio data by opening Soundfont2 audio file container format.
- </para>
- </sect1>
-
-</chapter>
diff --git a/doc/usersBook/chap3.xml b/doc/usersBook/chap3.xml
deleted file mode 100644
index 9a6c2ac..0000000
--- a/doc/usersBook/chap3.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<!DOCTYPE book [
-<!ENTITY indexMenuIcon "/usr/share/icons/Adwaita/32x32/actions/system-run.png">
-<!ENTITY cursorIcon "/usr/share/icons/Adwaita/32x32/actions/go-jump.png">
-<!ENTITY notesIcon "/usr/share/icons/Adwaita/32x32/mimetypes/audio-x-generic.png">
-<!ENTITY deleteIcon "/usr/share/icons/Adwaita/32x32/actions/edit-clear-all.png">
-<!ENTITY selectIcon "/usr/share/icons/Adwaita/32x32/actions/edit-select-all.png">
-<!ENTITY copyIcon "/usr/share/icons/Adwaita/32x32/actions/edit-copy.png">
-<!ENTITY cutIcon "/usr/share/icons/Adwaita/32x32/actions/edit-cut.png">
-<!ENTITY pasteIcon "/usr/share/icons/Adwaita/32x32/actions/edit-paste.png">
-]>
-<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
- <title>Editor</title>
- <para>
- The editor features a piano roll. After linking an editor index with an enginge
- You may perform tasks like adding notes or copy, cut and paste them. You may
- change view segmentation, too.
- </para>
-
- <sect1>
- <title>Linking</title>
- <para>
- Before you might perform any task with the editor you have to link engines
- by adding an index. Then you should link it with an engine. That can all be
- done by using the menu button <imagedata fileref="&indexMenuIcon;" /> of the
- index list.
- </para>
- </sect1>
-
- <sect1>
- <title>Toolbar</title>
- <imagedata fileref="../images/ags-toolbar.png" />
- <para>
- In the table below are the various buttons explained you may use for editing.
- </para>
- <table>
- <title>AGS editor toolbar controls table.</title>
- <tgroup cols="3" align="left" colsep='1' rowsep='1'>
- <thead>
- <row>
- <entry>icon</entry>
- <entry>action</entry>
- <entry>description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><imagedata fileref="&cursorIcon;" /></entry>
- <entry>cursor</entry>
- <entry>
- You may want to set the cursor to paste notes at the position where it
- is located.
- </entry>
- </row>
- <row>
- <entry><imagedata fileref="¬esIcon;" /></entry>
- <entry>notes</entry>
- <entry>
- Add notes by clicking within the piano roll and move to till them having
- the wished duration.
- </entry>
- </row>
- <row>
- <entry><imagedata fileref="&deleteIcon;" /></entry>
- <entry>delete</entry>
- <entry>
- Delete notes by clicking on the note you don't want anymore.
- </entry>
- </row>
- <row>
- <entry><imagedata fileref="&selectIcon;" /></entry>
- <entry>select</entry>
- <entry>
- Select notes to copy or cut them.
- </entry>
- </row>
- <row>
- <entry><imagedata fileref="©Icon;" /></entry>
- <entry>copy</entry>
- <entry>
- Copy notes to the clipboard.
- </entry>
- </row>
- <row>
- <entry><imagedata fileref="&cutIcon;" /></entry>
- <entry>cut</entry>
- <entry>
- Cut notes to the clipboard.
- </entry>
- </row>
- <row>
- <entry><imagedata fileref="&pasteIcon;" /></entry>
- <entry>paste</entry>
- <entry>
- Paste the previously copied or cutted notes at the cursor position or
- just insert them where they are/were located.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect1>
-
-</chapter>
diff --git a/doc/usersBook/chap4.xml b/doc/usersBook/chap4.xml
deleted file mode 100644
index 34dc5b4..0000000
--- a/doc/usersBook/chap4.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<!DOCTYPE book [
-<!ENTITY backwardIcon "/usr/share/icons/Adwaita/32x32/actions/media-skip-backward.png">
-<!ENTITY previousIcon "/usr/share/icons/Adwaita/32x32/actions/media-seek-backward.png">
-<!ENTITY playIcon "/usr/share/icons/Adwaita/32x32/actions/media-playback-start.png">
-<!ENTITY stopIcon "/usr/share/icons/Adwaita/32x32/actions/media-playback-stop.png">
-<!ENTITY nextIcon "/usr/share/icons/Adwaita/32x32/actions/media-seek-forward.png">
-<!ENTITY forwardIcon "/usr/share/icons/Adwaita/32x32/actions/media-skip-forward.png">
-]>
-<chapter xmlns="http://docbook.org/ns/docbook" version="5.0">
- <title>The navigation</title>
- <imagedata fileref="../images/ags_navigation.png" />
- <para>
- With the navigation you have overall control of your song. Settings you perform
- here may influence the behaviour of AGS.
- </para>
-
- <sect1>
- <title>BPM</title>
- <para>
- The beats per minute (BPM for short) indicates the velocity of a song being
- played. To adjust the BPM of the project in-/decrement the spinner labeled
- with bpm. To edit patterns or notes at a more granular rate select the wished
- tact within the appropriate engine or editor.
- </para>
- <para>
- To calculate timings you divide 1 minute with the entered BPM and divide it
- with basic. For example you have a BPM rate of 120 and a 4/4 tact you would
- calculate the timing as follow:
- </para>
- <equation>
- <mathphrase>t = 1 / 120 * (1 / 4)</mathphrase>
- </equation>
- </sect1>
-
- <sect1>
- <title>Playback controls</title>
- <para>
- With these controls you can play/stop a song or seek to the wished position.
- </para>
- <table>
- <title>AGS playback controls table</title>
- <tgroup cols="3" align="left" colsep='1' rowsep='1'>
- <thead>
- <row>
- <entry>icon</entry>
- <entry>action</entry>
- <entry>description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><imagedata fileref="&backwardIcon;" /></entry>
- <entry>backward</entry>
- <entry>Seeking back until it's pressed again.</entry>
- </row>
- <row>
- <entry><imagedata fileref="&previousIcon;" /></entry>
- <entry>previous</entry>
- <entry>Seeking back until it's not pressed anymore.</entry>
- </row>
- <row>
- <entry><imagedata fileref="&playIcon;" /></entry>
- <entry>play</entry>
- <entry>Starts the engines and the piano roll.</entry>
- </row>
- <row>
- <entry><imagedata fileref="&stopIcon;" /></entry>
- <entry>stop</entry>
- <entry>Stops the engines and the piano roll.</entry>
- </row>
- <row>
- <entry><imagedata fileref="&nextIcon;" /></entry>
- <entry>next</entry>
- <entry>Seeking forward until it's not pressed anymore.</entry>
- </row>
- <row>
- <entry><imagedata fileref="&forwardIcon;" /></entry>
- <entry>forward</entry>
- <entry>Seeking forward until it's pressed again.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect1>
-</chapter>
diff --git a/doc/usersBook/preface.xml b/doc/usersBook/preface.xml
deleted file mode 100644
index 1fa6716..0000000
--- a/doc/usersBook/preface.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version='1.0' encoding="utf-8"?>
-<!DOCTYPE book [
-<!ENTITY win98 "Microsoft Windows 98">
-<!ENTITY java2 "Sun Microsystem's Java 1.2">
-<!ENTITY n160 "Compaq Evo n160">
-<!ENTITY stallman "Richard Stallman">
-<!ENTITY ags "Advanced Gtk+ Sequencer">
-]>
-<preface>
- <title>Foreword</title>
- <para>
- When I started to use GNU/Linux in 2001 I missed only one thing. A sequencer with a
- nice GUI. There was already rosegarden available. But who didn't get stuck of midi
- setup, yet? The time before I was using free software and became an affiliate to its
- community I was using &win98; on my father's desktop computer and did my first steps
- in &java2;.
- </para>
- <para>
- My very first own Notebook was a &n160; and it's preinstalled &win98; had to vanish
- because I became a fellow of &stallman;. Soon, I begun to code and older I became my
- demands to ags increased. I developed the concept of the underlying audio library
- myself as not graduated college student.
- </para>
- <para>
- October 2005, I decided to reimplement &ags; from scratch in order to get rid of
- inherited burden. And it was one big development process until I was almost satisfied
- with it's design. There was a time in 2007 where I even wanted to replace GObject and
- Gtk+ dependencies with my own libraries I begun to develop. I'm glad of didn't doing
- so.
- </para>
- <para>
- Thank you!
- </para>
-</preface>
diff --git a/midi2xml.1 b/midi2xml.1
deleted file mode 100644
index 69da606..0000000
--- a/midi2xml.1
+++ /dev/null
@@ -1,65 +0,0 @@
-'\" t
-.\" Title:
- midi2xml
-
-.\" Author: [see the "AUTHOR" section]
-.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 2015-06-15
-.\" Manual: midi2xml v0.4.2
-.\" Source: midi2xml v0.4.2
-.\" Language: English
-.\"
-.TH "MIDI2XML" "1" "2015\-06\-15" "midi2xml v0.4.2" "midi2xml v0.4.2"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-midi2xml \- midi2xml converts your MIDI files to XML format
-.SH "SYNOPSIS"
-.HP \w'\fB/usr/bin/midi2xml\fR\ 'u
-\fB/usr/bin/midi2xml\fR [\-\-help] [\-\-version] [file]
-.SH "DESCRIPTION"
-.PP
-midi2xml takes your MIDI file from command line and outputs the resulting XML to stdout\&.
-.SH "OPTIONS"
-.PP
-The program follows the usual GNU command line syntax, with long options starting with two dashes (`\-\*(Aq)\&. A summary of options is included below\&. For a complete description, see the
-\fBinfo\fR(1)
-files\&.
-.PP
-\fBfile\fR
-.RS 4
-Open file from command line\&.
-.RE
-.PP
-\fB\-\-help\fR
-.RS 4
-Show summary of options\&.
-.RE
-.PP
-\fB\-\-version\fR
-.RS 4
-Show version of program\&.
-.RE
-.SH "BUGS"
-.PP
-None\&. So far I know\&.
-.SH "AUTHOR"
-.PP
-Joël Krähemann
diff --git a/src/ags/X/ags_audio_preferences.c b/src/ags/X/ags_audio_preferences.c
index 170ac74..7392bea 100644
--- a/src/ags/X/ags_audio_preferences.c
+++ b/src/ags/X/ags_audio_preferences.c
@@ -312,9 +312,7 @@ ags_audio_preferences_apply(AgsApplicable *applicable)
¤t,
0,
&value);
-
- //FIXME:JK: work-around for alsa-handle
- str = g_strdup_printf("%s,0", g_value_get_string(&value));
+ str = g_strdup(g_value_get_string(&value));
g_message("%s\0", str);
ags_config_set(config,
AGS_CONFIG_DEVOUT,
@@ -362,7 +360,7 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
GtkTreeIter current;
GList *card_id, *card_name;
GValue value = {0,};
- char *device, *str, *tmp;
+ char *device, *str;
guint nth;
gboolean found_card;
int card_num;
@@ -384,20 +382,14 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
str = ags_config_get(config,
AGS_CONFIG_DEVOUT,
"alsa-handle\0");
- g_message("%s\0", str);
nth = 0;
found_card = FALSE;
while(card_id != NULL){
- //FIXME:JK: work-around for alsa-handle
- tmp = g_strdup_printf("%s,0\0",
- card_id->data);
- if(!g_ascii_strcasecmp(tmp,
+ if(!g_ascii_strcasecmp(card_id->data,
str)){
found_card = TRUE;
}
-
- g_free(tmp);
if(!found_card){
nth++;
@@ -426,6 +418,9 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
"buffer_size\0", &buffer_size,
NULL);
+
+ error = NULL;
+
/* */
gtk_spin_button_set_value(audio_preferences->audio_channels,
(gdouble) channels);
@@ -447,8 +442,6 @@ ags_audio_preferences_reset(AgsApplicable *applicable)
0,
&value);
str = g_strdup(g_value_get_string(&value));
-
- error = NULL;
ags_devout_pcm_info(str,
&channels_min, &channels_max,
&rate_min, &rate_max,
diff --git a/src/ags/X/ags_audio_preferences.h b/src/ags/X/ags_audio_preferences.h
index 367335f..e744c49 100644
--- a/src/ags/X/ags_audio_preferences.h
+++ b/src/ags/X/ags_audio_preferences.h
@@ -34,7 +34,7 @@ typedef struct _AgsAudioPreferencesClass AgsAudioPreferencesClass;
struct _AgsAudioPreferences
{
GtkVBox vbox;
-
+
GtkComboBox *card;
GtkSpinButton *audio_channels;
GtkSpinButton *samplerate;
diff --git a/src/ags/X/ags_audio_preferences_callbacks.c b/src/ags/X/ags_audio_preferences_callbacks.c
index 8c112ff..798fdd0 100644
--- a/src/ags/X/ags_audio_preferences_callbacks.c
+++ b/src/ags/X/ags_audio_preferences_callbacks.c
@@ -77,14 +77,8 @@ ags_audio_preferences_card_changed_callback(GtkComboBox *combo,
AgsSetOutputDevice *set_output_device;
GtkListStore *model;
GtkTreeIter current;
- gchar *str;
- guint channels, channels_min, channels_max;
- guint rate, rate_min, rate_max;
- guint buffer_size, buffer_size_min, buffer_size_max;
GValue value = {0,};
-
- GError *error;
-
+
window = AGS_WINDOW(AGS_PREFERENCES(gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
AGS_TYPE_PREFERENCES))->window);
devout = AGS_DEVOUT(window->devout);
@@ -101,49 +95,16 @@ ags_audio_preferences_card_changed_callback(GtkComboBox *combo,
0,
&value);
- str = g_strdup(g_value_get_string(&value));
-
/* create set output device task */
set_output_device = ags_set_output_device_new((GObject *) devout,
- str);
+ g_strdup(g_value_get_string(&value)));
/* append AgsSetOutputDevice */
ags_task_thread_append_task(AGS_TASK_THREAD(AGS_AUDIO_LOOP(AGS_MAIN(devout->ags_main)->main_loop)->task_thread),
AGS_TASK(set_output_device));
/* reset dialog */
- error = NULL;
- ags_devout_pcm_info(str,
- &channels_min, &channels_max,
- &rate_min, &rate_max,
- &buffer_size_min, &buffer_size_max,
- &error);
-
- if(error != NULL){
- GtkMessageDialog *dialog;
-
- dialog = (GtkMessageDialog *) gtk_message_dialog_new((GtkWindow *) gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences),
- AGS_TYPE_PREFERENCES),
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE,
- "%s\0", error->message);
- gtk_dialog_run(GTK_DIALOG(dialog));
- gtk_widget_destroy(GTK_WIDGET(dialog));
-
- gtk_spin_button_set_range(audio_preferences->audio_channels, 0.0, 24.0);
- gtk_spin_button_set_range(audio_preferences->samplerate, 1.0, 192000.0);
- gtk_spin_button_set_range(audio_preferences->buffer_size, 1.0, 65535.0);
-
- return;
- }
-
- gtk_spin_button_set_range(audio_preferences->audio_channels,
- channels_min, channels_max);
- gtk_spin_button_set_range(audio_preferences->samplerate,
- rate_min, rate_max);
- gtk_spin_button_set_range(audio_preferences->buffer_size,
- buffer_size_min, buffer_size_max);
+ ags_audio_preferences_reset(audio_preferences);
}
void
diff --git a/src/ags/audio/ags_config.c b/src/ags/audio/ags_config.c
index 8be1774..1483cdb 100644
--- a/src/ags/audio/ags_config.c
+++ b/src/ags/audio/ags_config.c
@@ -223,7 +223,7 @@ ags_config_load_defaults(AgsConfig *config)
ags_config_set(config, ags_config_devout, "buffer-size\0", "940\0");
ags_config_set(config, ags_config_devout, "pcm-channels\0", "2\0");
ags_config_set(config, ags_config_devout, "dsp-channels\0", "2\0");
- ags_config_set(config, ags_config_devout, "alsa-handle\0", "hw:0,0\0");
+ ags_config_set(config, ags_config_devout, "alsa-handle\0", "hw:0\0");
ags_config_set(config, ags_config_recall, "auto-sense\0", "true\0");
}
@@ -495,10 +495,10 @@ ags_config_set(AgsConfig *config, gchar *group, gchar *key, gchar *value)
"alsa-handle\0",
11)){
gchar *alsa_handle;
-
+
alsa_handle = value;
g_object_set(G_OBJECT(devout),
- "device\0", g_strdup_printf("%s\0", alsa_handle),
+ "device\0", alsa_handle,
NULL);
}
}
diff --git a/src/ags/audio/ags_devout.c b/src/ags/audio/ags_devout.c
index 663f9d0..1a7182c 100644
--- a/src/ags/audio/ags_devout.c
+++ b/src/ags/audio/ags_devout.c
@@ -924,8 +924,8 @@ ags_devout_list_cards(GList **card_id, GList **card_name)
snd_ctl_t *card_handle;
snd_ctl_card_info_t *card_info;
char *name;
- gchar *str, *tmp;
- int card_num, dev_num;
+ gchar *str;
+ int card_num;
int error;
*card_id = NULL;
@@ -943,10 +943,9 @@ ags_devout_list_cards(GList **card_id, GList **card_name)
continue;
}
- tmp =
- str = g_strdup_printf("hw:%i\0", card_num);
+ str = g_strdup_printf("hw:%i\0", card_num);
error = snd_ctl_open(&card_handle, str, 0);
-
+
if(error < 0){
continue;
}
@@ -992,7 +991,6 @@ ags_devout_pcm_info(char *card_id,
guint *buffer_size_min, guint *buffer_size_max,
GError **error)
{
- char *str;
int rc;
snd_pcm_t *handle;
snd_pcm_hw_params_t *params;
@@ -1004,7 +1002,7 @@ ags_devout_pcm_info(char *card_id,
/* Open PCM device for playback. */
handle = NULL;
-
+
rc = snd_pcm_open(&handle, card_id, SND_PCM_STREAM_PLAYBACK, 0);
if(rc < 0) {
diff --git a/src/ags/main.c b/src/ags/main.c
index 54f45a5..4bfa1b7 100644
--- a/src/ags/main.c
+++ b/src/ags/main.c
@@ -821,8 +821,7 @@ main(int argc, char **argv)
if(!strncmp(argv[i], "--help\0", 7)){
printf("GSequencer `ags` is an audio sequencer and notation editor\n\n\0");
- printf("Usage:\n\t%s\n\t%s\n\t%s\n\t%s\n\n",
- "Report bugs to <jkraehemann at gmail.com>\n\0",
+ printf("Usage:\n\t%s\n\t%s\n\t%s\n\t%s\n\nReport bugs to <jkraehemann at gmail.com>\n\0",
"--filename file open file\0",
"--single-thread run in single thread mode\0",
"--help display this help and exit\0",
diff --git a/src/midi2ags/main.c b/src/midi2ags/main.c
deleted file mode 100644
index 2f97aa9..0000000
--- a/src/midi2ags/main.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <glib.h>
-#include <glib-object.h>
-
-#include <midi2ags/midi/ags_midi_parser.h>
-
-#include <stdio.h>
-
-#include <libxml/tree.h>
-
-int
-main(int argc, char **argv)
-{
- AgsMidiParser *midi_parser;
-
- FILE *out;
- FILE *file;
-
- xmlChar *buffer;
- gchar *filename;
- size_t length;
-
- if(argc == 2){
-
- if(!strncmp(argv[1], "--help\0", 7)){
- printf("midi2xml converts MIDI to XML\n\n\0");
-
- printf("Usage:\n\t%s\n\t%s\n\t%s\n\t%s\n\n",
- "Report bugs to <jkraehemann at gmail.com>\n\0",
- "--help display this help and exit\0",
- "--version output version information and exit\0",
- "<file> the file to be processed\0");
-
- exit(0);
- }else if(!strncmp(argv[1], "--version\0", 10)){
- printf("midi2xml 1.0.0\n\n\0");
-
- printf("%s\n%s\n%s\n\n\0",
- "Copyright (C) 2015 Joël Krähemann\0",
- "This is free software; see the source for copying conditions. There is NO\0",
- "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\0");
-
- printf("Written by Joël Krähemann\n\0");
- exit(0);
- }else{
- filename = argv[1];
- }
- }else{
- return(-1);
- }
-
- file = fopen(filename, "r\0");
- fseek(file, 0, SEEK_SET);
- midi_parser = ags_midi_parser_new(file);
-
- ags_midi_parser_parse_full(midi_parser);
-
- xmlSaveFormatFileEnc("-", midi_parser->doc, "UTF-8", 1);
-
- return(0);
-}
diff --git a/src/midi2ags/midi/ags_midi_parser.c b/src/midi2ags/midi/ags_midi_parser.c
deleted file mode 100644
index e855704..0000000
--- a/src/midi2ags/midi/ags_midi_parser.c
+++ /dev/null
@@ -1,2276 +0,0 @@
-/* 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.
- */
-
-#include <midi2ags/midi/ags_midi_parser.h>
-#include <midi2ags/object/ags_marshal.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <fcntl.h>
-#include <sys/stat.h>
-
-void ags_midi_parser_class_init(AgsMidiParserClass *midi_parser);
-void ags_midi_parser_init(AgsMidiParser *midi_parser);
-void ags_midi_parser_set_property(GObject *gobject,
- guint prop_id,
- const GValue *value,
- GParamSpec *param_spec);
-void ags_midi_parser_get_property(GObject *gobject,
- guint prop_id,
- GValue *value,
- GParamSpec *param_spec);
-void ags_midi_parser_finalize(GObject *gobject);
-
-int ags_midi_parser_real_midi_getc(AgsMidiParser *midi_parser);
-void ags_midi_parser_real_on_error(AgsMidiParser *midi_parser,
- GError **error);
-
-xmlDoc* ags_midi_parser_real_parse_full(AgsMidiParser *midi_parser);
-xmlNode* ags_midi_parser_real_parse_header(AgsMidiParser *midi_parser);
-xmlNode* ags_midi_parser_real_parse_track(AgsMidiParser *midi_parser);
-
-xmlNode* ags_midi_parser_real_key_on(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_key_off(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_key_pressure(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_change_parameter(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_change_pitch_bend(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_change_program(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_change_channel_pressure(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_not_defined(AgsMidiParser *midi_parser, guint status);
-
-xmlNode* ags_midi_parser_real_sysex(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_system_common(AgsMidiParser *midi_parser, guint status);
-
-xmlNode* ags_midi_parser_real_meta_event(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_real_sequence_number(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_end_of_track(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_smpte(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_tempo(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_time_signature(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_key_signature(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_sequencer_meta_event(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_real_text_event(AgsMidiParser *midi_parser, guint meta_type);
-
-#define AGS_MIDI_PARSER_MAX_TEXT_LENGTH (4096)
-
-#define AGS_MIDI_EVENT "event\0"
-
-/**
- * SECTION:ags_midi_parser
- * @short_description: the menu bar.
- * @title: AgsMidiParser
- * @section_id:
- * @include: ags/X/ags_midi_parser.h
- *
- * #AgsMidiParser reads your midi parsers.
- */
-
-enum{
- PROP_0,
- PROP_FILE,
-};
-
-enum{
- MIDI_GETC,
- ON_ERROR,
- PARSE_FULL,
- PARSE_HEADER,
- PARSE_TRACK,
- KEY_ON,
- KEY_OFF,
- KEY_PRESSURE,
- CHANGE_PARAMETER,
- CHANGE_PITCH_BEND,
- CHANGE_PROGRAM,
- CHANGE_CHANNEL_PRESSURE,
- NOT_DEFINED,
- SYSEX,
- SYSTEM_COMMON,
- META_EVENT,
- SEQUENCE_NUMBER,
- END_OF_TRACK,
- SMPTE,
- TEMPO,
- TIME_SIGNATURE,
- KEY_SIGNATURE,
- SEQUENCER_META_EVENT,
- TEXT_EVENT,
- LAST_SIGNAL,
-};
-
-static gpointer ags_midi_parser_parent_class = NULL;
-static guint midi_parser_signals[LAST_SIGNAL];
-
-GType
-ags_midi_parser_get_type(void)
-{
- static GType ags_type_midi_parser = 0;
-
- if(!ags_type_midi_parser){
- static const GTypeInfo ags_midi_parser_info = {
- sizeof (AgsMidiParserClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) ags_midi_parser_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (AgsMidiParser),
- 0, /* n_preallocs */
- (GInstanceInitFunc) ags_midi_parser_init,
- };
-
- ags_type_midi_parser = g_type_register_static(G_TYPE_OBJECT,
- "AgsMidiParser\0", &ags_midi_parser_info,
- 0);
- }
-
- return(ags_type_midi_parser);
-}
-
-void
-ags_midi_parser_class_init(AgsMidiParserClass *midi_parser)
-{
- GObjectClass *gobject;
- GParamSpec *param_spec;
-
- ags_midi_parser_parent_class = g_type_class_peek_parent(midi_parser);
-
- /* GObjectClass */
- gobject = (GObjectClass *) midi_parser;
-
- gobject->set_property = ags_midi_parser_set_property;
- gobject->get_property = ags_midi_parser_get_property;
-
- gobject->finalize = ags_midi_parser_finalize;
-
- /**
- * AgsMidiParser:dsp-channels:
- *
- * The dsp channel count
- *
- * Since: 0.4.2
- */
- param_spec = g_param_spec_pointer("file\0",
- "the file stream\0",
- "The file stream to parse\0",
- G_PARAM_READABLE | G_PARAM_WRITABLE);
- g_object_class_install_property(gobject,
- PROP_FILE,
- param_spec);
-
- /* AgsMidiParser */
- midi_parser->midi_getc = ags_midi_parser_real_midi_getc;
- midi_parser->on_error = ags_midi_parser_real_on_error;
-
- midi_parser->parse_header = ags_midi_parser_real_parse_header;
- midi_parser->parse_track = ags_midi_parser_real_parse_track;
-
- midi_parser->key_on = ags_midi_parser_real_key_on;
- midi_parser->key_off = ags_midi_parser_real_key_off;
- midi_parser->key_pressure = ags_midi_parser_real_key_pressure;
- midi_parser->change_parameter = ags_midi_parser_real_change_parameter;
- midi_parser->change_pitch_bend = ags_midi_parser_real_change_pitch_bend;
- midi_parser->change_program = ags_midi_parser_real_change_program;
- midi_parser->change_channel_pressure = ags_midi_parser_real_change_channel_pressure;
- midi_parser->not_defined = ags_midi_parser_real_not_defined;
-
- midi_parser->sysex = ags_midi_parser_real_sysex;
- midi_parser->system_common = ags_midi_parser_real_system_common;
-
- midi_parser->meta_event = ags_midi_parser_real_meta_event;
- midi_parser->sequence_number = ags_midi_parser_real_sequence_number;
- midi_parser->end_of_track = ags_midi_parser_real_end_of_track;
- midi_parser->smpte = ags_midi_parser_real_smpte;
- midi_parser->tempo = ags_midi_parser_real_tempo;
- midi_parser->time_signature = ags_midi_parser_real_time_signature;
- midi_parser->key_signature = ags_midi_parser_real_key_signature;
- midi_parser->sequencer_meta_event = ags_midi_parser_real_sequencer_meta_event;
- midi_parser->text_event = ags_midi_parser_real_text_event;
-
- midi_parser->parse_full = ags_midi_parser_real_parse_full;
-
- /* signals */
- /**
- * AgsMidiParser::midi-getc:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::midi-getc signal is emited during parsing of event.
- */
- midi_parser_signals[MIDI_GETC] =
- g_signal_new("midi-getc\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, midi_getc),
- NULL, NULL,
- g_cclosure_user_marshal_INT__VOID,
- G_TYPE_INT, 0);
-
- /**
- * AgsMidiParser::on-error:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::on-error signal is emited during parsing of event.
- */
- midi_parser_signals[ON_ERROR] =
- g_signal_new("on-error\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, on_error),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__VOID,
- G_TYPE_POINTER, 0);
-
-
- /**
- * AgsMidiParser::parse-header:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the header
- *
- * The ::parse-header signal is emited during parsing of header.
- */
- midi_parser_signals[PARSE_HEADER] =
- g_signal_new("parse-header\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, parse_header),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__VOID,
- G_TYPE_POINTER, 0);
-
- /**
- * AgsMidiParser::parse-track:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the track
- *
- * The ::parse-track signal is emited during parsing of track.
- */
- midi_parser_signals[PARSE_TRACK] =
- g_signal_new("parse-track\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, parse_track),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__VOID,
- G_TYPE_POINTER, 0);
-
- /**
- * AgsMidiParser::key-on:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::key-on signal is emited during parsing of event.
- */
- midi_parser_signals[KEY_ON] =
- g_signal_new("key-on\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, key_on),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::key-off:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::key-off signal is emited during parsing of event.
- */
- midi_parser_signals[KEY_OFF] =
- g_signal_new("key-off\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, key_off),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::key-pressure:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::key-pressure signal is emited during parsing of event.
- */
- midi_parser_signals[KEY_PRESSURE] =
- g_signal_new("key-pressure\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, key_pressure),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::change-parameter:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::change-parameter signal is emited during parsing of event.
- */
- midi_parser_signals[CHANGE_PARAMETER] =
- g_signal_new("change-parameter\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, change_parameter),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::change-pitch-bend:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::change-pitch-bend signal is emited during parsing of event.
- */
- midi_parser_signals[CHANGE_PITCH_BEND] =
- g_signal_new("change-pitch-bend\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, change_pitch_bend),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::change-program:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::change-program signal is emited during parsing of event.
- */
- midi_parser_signals[CHANGE_PROGRAM] =
- g_signal_new("change-program\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, change_program),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::change-channel-pressure:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::change-channel-pressure signal is emited during parsing of event.
- */
- midi_parser_signals[CHANGE_CHANNEL_PRESSURE] =
- g_signal_new("change-channel-pressure\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, change_channel_pressure),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::not-defined:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::not-defined signal is emited during parsing of event.
- */
- midi_parser_signals[NOT_DEFINED] =
- g_signal_new("not-defined\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, not_defined),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::sysex:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::sysex signal is emited during parsing of event.
- */
- midi_parser_signals[SYSEX] =
- g_signal_new("sysex\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, sysex),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::system-common:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::system-common signal is emited during parsing of event.
- */
- midi_parser_signals[SYSTEM_COMMON] =
- g_signal_new("system-common\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, system_common),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::meta-event:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::meta-event signal is emited during parsing of event.
- */
- midi_parser_signals[META_EVENT] =
- g_signal_new("meta-event\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, meta_event),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::sequence-number:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::sequence-number signal is emited during parsing of event.
- */
- midi_parser_signals[SEQUENCE_NUMBER] =
- g_signal_new("sequence-number\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, sequence_number),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::end-of-track:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::end-of-track signal is emited during parsing of event.
- */
- midi_parser_signals[END_OF_TRACK] =
- g_signal_new("end-of-track\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, end_of_track),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::smpte:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::smpte signal is emited during parsing of event.
- */
- midi_parser_signals[SMPTE] =
- g_signal_new("smpte\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, smpte),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::tempo:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::tempo signal is emited during parsing of event.
- */
- midi_parser_signals[TEMPO] =
- g_signal_new("tempo\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, tempo),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::time-signature:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::time-signature signal is emited during parsing of event.
- */
- midi_parser_signals[TIME_SIGNATURE] =
- g_signal_new("time-signature\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, time_signature),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::key-signature:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::key-signature signal is emited during parsing of event.
- */
- midi_parser_signals[KEY_SIGNATURE] =
- g_signal_new("key-signature\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, key_signature),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::sequencer-meta-event:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::sequencer-meta-event signal is emited during parsing of event.
- */
- midi_parser_signals[SEQUENCER_META_EVENT] =
- g_signal_new("sequencer-meta-event\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, sequencer_meta_event),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::text-event:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::text-event signal is emited during parsing of event.
- */
- midi_parser_signals[TEXT_EVENT] =
- g_signal_new("text-event\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, text_event),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__UINT,
- G_TYPE_POINTER, 1,
- G_TYPE_UINT);
-
- /**
- * AgsMidiParser::parse-full:
- * @midi_parser: the parser
- *
- * Returns: The XML node representing the event
- *
- * The ::parse-full signal is emited during parsing of midi file.
- */
- midi_parser_signals[PARSE_FULL] =
- g_signal_new("parse-full\0",
- G_TYPE_FROM_CLASS(midi_parser),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(AgsMidiParserClass, parse_full),
- NULL, NULL,
- g_cclosure_user_marshal_POINTER__VOID,
- G_TYPE_POINTER, 0);
-}
-
-void
-ags_midi_parser_init(AgsMidiParser *midi_parser)
-{
- midi_parser->flags = 0;
-
- midi_parser->file = NULL;
- midi_parser->nth_chunk = 0;
-
- midi_parser->file_length = 0;
- midi_parser->offset = 0;
-
- midi_parser->current_time = 0;
-
- midi_parser->doc = NULL;
-}
-
-void
-ags_midi_parser_set_property(GObject *gobject,
- guint prop_id,
- const GValue *value,
- GParamSpec *param_spec)
-{
- AgsMidiParser *midi_parser;
-
- midi_parser = AGS_MIDI_PARSER(gobject);
-
- switch(prop_id){
- case PROP_FILE:
- {
- midi_parser->file = g_value_get_pointer(value);
- }
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec);
- break;
- }
-}
-
-void
-ags_midi_parser_get_property(GObject *gobject,
- guint prop_id,
- GValue *value,
- GParamSpec *param_spec)
-{
- AgsMidiParser *midi_parser;
-
- midi_parser = AGS_MIDI_PARSER(gobject);
-
- switch(prop_id){
- case PROP_FILE:
- {
- g_value_set_pointer(value,
- midi_parser->file);
- }
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, param_spec);
- break;
- }
-}
-
-void
-ags_midi_parser_finalize(GObject *gobject)
-{
- G_OBJECT_CLASS(ags_midi_parser_parent_class)->finalize(gobject);
-}
-
-gint16
-ags_midi_parser_read_gint16(AgsMidiParser *midi_parser)
-{
- char str[2];
- gint16 value = 0;
-
- str[0] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
- str[1] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
-
- value = (str[0] & 0xff);
- value = (value<<8) + (str[1] & 0xff);
-
- return(value);
-}
-
-gint32
-ags_midi_parser_read_gint24(AgsMidiParser *midi_parser)
-{
- char str[4];
- gint32 value = 0;
-
- str[0] = (char) 0x00;
- str[1] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
- str[2] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
- str[3] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
-
- value = (value<<8) + (str[1] & 0xff);
- value = (value<<8) + (str[2] & 0xff);
- value = (value<<8) + (str[3] & 0xff);
-
- return(value);
-}
-
-gint32
-ags_midi_parser_read_gint32(AgsMidiParser *midi_parser)
-{
- char str[4];
- gint32 value;
-
- str[0] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
- str[1] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
- str[2] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
- str[3] = (char) 0xff & ags_midi_parser_midi_getc(midi_parser);
-
- value = (str[0] & 0xff);
- value = (value<<8) + (str[1] & 0xff);
- value = (value<<8) + (str[2] & 0xff);
- value = (value<<8) + (str[3] & 0xff);
-
- return(value);
-}
-
-long
-ags_midi_parser_read_varlength(AgsMidiParser *midi_parser)
-{
- long value;
- guint i;
- char c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
- value = c;
- i = 1;
-
- if(c & 0x80){
- value &= 0x7F;
-
- do{
- value = (value << 7) + ((c = ags_midi_parser_midi_getc(midi_parser)) & 0x7F);
- i++;
- }while(c & 0x80);
- }
-
- return(value);
-}
-
-gchar*
-ags_midi_parser_read_text(AgsMidiParser *midi_parser,
- gint length)
-{
- gchar text[AGS_MIDI_PARSER_MAX_TEXT_LENGTH];
- gchar c;
- guint i;
-
- memset(text, 0, AGS_MIDI_PARSER_MAX_TEXT_LENGTH * sizeof(char));
- i = 0;
-
- while((length <= 0 ||
- i < length) && (c = (char) 0xff & ags_midi_parser_midi_getc(midi_parser)) != EOF){
- if(c == '\0' || !(g_ascii_isalnum(c) ||
- g_ascii_ispunct(c) ||
- c == ' ')){
- break;
- }
-
- text[i] = c;
- i++;
- }
-
- text[i] = '\0';
-
- return(g_strdup(text));
-}
-
-gdouble
-ags_midi_parser_ticks_to_sec(AgsMidiParser *midi_parser,
- guint ticks, gint division, guint tempo)
-{
- gdouble retval;
-
- if(division > 0){
- retval = ((gdouble) ticks * tempo) /
- (gdouble) (division * 1000000.0);
- return(retval);
- }else{
- gdouble smpte_format, smpte_resolution;
-
- smpte_format = (gdouble) ((0xff00 & division) >> 8);
- smpte_resolution = (gdouble) (0xff & division);
-
- retval = (((gdouble) ticks) /
- (gdouble) (smpte_format * smpte_resolution * 1000000.0));
-
- return(retval);
- }
-}
-
-int
-ags_midi_parser_midi_getc(AgsMidiParser *midi_parser)
-{
- int c;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), '\0');
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[MIDI_GETC], 0,
- &c);
- g_object_unref((GObject *) midi_parser);
-
- return(c);
-}
-
-int
-ags_midi_parser_real_midi_getc(AgsMidiParser *midi_parser)
-{
- int c;
-
- c = fgetc(midi_parser->file);
-
- if(c == EOF){
- g_warning("reached end of file\0");
- midi_parser->flags |= AGS_MIDI_PARSER_EOF;
- }
-
- return(c);
-}
-
-void
-ags_midi_parser_on_error(AgsMidiParser *midi_parser,
- GError **error)
-{
- g_return_if_fail(AGS_IS_MIDI_PARSER(midi_parser));
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[ON_ERROR], 0,
- error);
- g_object_unref((GObject *) midi_parser);
-}
-
-void
-ags_midi_parser_real_on_error(AgsMidiParser *midi_parser,
- GError **error)
-{
-}
-
-xmlDoc*
-ags_midi_parser_parse_full(AgsMidiParser *midi_parser)
-{
- xmlDoc *doc;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[PARSE_FULL], 0,
- &doc);
- g_object_unref((GObject *) midi_parser);
-
- return(doc);
-}
-
-xmlDoc*
-ags_midi_parser_real_parse_full(AgsMidiParser *midi_parser)
-{
- xmlDoc *doc;
- xmlNode *root_node;
- xmlNode *tracks_node;
- xmlNode *current;
-
- GError *error;
-
- midi_parser->doc =
- doc = xmlNewDoc("1.0\0");
- root_node = xmlNewNode(NULL, "midi\0");
- xmlDocSetRootElement(doc, root_node);
-
- tracks_node = xmlNewNode(NULL, "midi-tracks\0");
-
- error = NULL;
-
- current = ags_midi_parser_parse_header(midi_parser);
- xmlAddChild(root_node,
- current);
-#ifdef DEBUG
- g_message("parsed header\0");
-#endif
-
- xmlAddChild(root_node,
- tracks_node);
-
- while(((AGS_MIDI_PARSER_EOF & (midi_parser->flags))) == 0){
- current = ags_midi_parser_parse_track(midi_parser);
-
- if(current != NULL){
- xmlAddChild(tracks_node,
- current);
-#ifdef DEBUG
- g_message("parsed track\0");
-#endif
- }else{
- g_warning("skipped input\0");
- }
- }
-
- return(doc);
-}
-
-xmlNode*
-ags_midi_parser_parse_header(AgsMidiParser *midi_parser)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[PARSE_HEADER], 0,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_parse_header(AgsMidiParser *midi_parser)
-{
- xmlNode *node;
-
- static gchar header[] = "MThd";
- guint format;
- guint count;
- guint division;
- guint offset;
- guint times;
- guint beat, clicks;
- guint n;
- gchar c;
-
- n = 0;
-
- while(n < 4 &&
- (AGS_MIDI_PARSER_EOF & (midi_parser->flags)) == 0){
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == header[n]){
- n++;
- }else{
- n = 0;
- }
- }
-
- node = xmlNewNode(NULL,
- "midi-header\0");
-
- offset = (guint) ags_midi_parser_read_gint32(midi_parser);
- format = (guint) ags_midi_parser_read_gint16(midi_parser);
- count = (guint) ags_midi_parser_read_gint16(midi_parser);
- division = (guint) ags_midi_parser_read_gint16(midi_parser);
-
- xmlNewProp(node,
- "format\0",
- g_strdup_printf("%d\0", format));
-
- if(division & 0x8000){
- /* SMPTE */
- times = 0; /* Can't do beats */
-
- xmlNewProp(node,
- "division\0",
- g_strdup_printf("%d %d\0", -((-(division>>8))&0xff), division&0xff));
- }else{
- xmlNewProp(node,
- "division\0",
- g_strdup_printf("%d\0", division));
- }
-
- if(format > 2){
- fprintf(stderr, "Can't deal with format %d files\n", format);
- exit(-1);
- }
-
- beat =
- clicks = division;
-
- xmlNewProp(node,
- "beat\0",
- g_strdup_printf("%d\0", beat));
-
- xmlNewProp(node,
- "track-count\0",
- g_strdup_printf("%d\0", count));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_parse_track(AgsMidiParser *midi_parser)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[PARSE_TRACK], 0,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_parse_track(AgsMidiParser *midi_parser)
-{
- xmlNode *node, *current;
- static gchar track[] = "MTrk";
- gint offset, start_offset;
- long delta_time;
- guint status;
- guint n;
- gchar c;
-
- n = 0;
-
- while(n < 4 &&
- (AGS_MIDI_PARSER_EOF & (midi_parser->flags)) == 0){
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == track[n]){
- n++;
- }else{
- n = 0;
- }
- }
-
- if((AGS_MIDI_PARSER_EOF & (midi_parser->flags)) != 0){
- return(NULL);
- }
-
- node = xmlNewNode(NULL, "midi-track\0");
-
- offset = ags_midi_parser_read_gint32(midi_parser);
-
-#ifdef DEBUG
- g_message("n = %d\noffset = %d\0", n, offset);
-#endif
-
- start_offset = ftell(midi_parser->file);
-
- if(offset < 0){
- return(NULL);
- }
-
- midi_parser->current_time = 0;
-
- for(; ftell(midi_parser->file) < start_offset + offset; ){
- delta_time = ags_midi_parser_read_varlength(midi_parser);
- midi_parser->current_time += delta_time;
-
- status = ags_midi_parser_midi_getc(midi_parser);
-
- if((0xf0 & (0xf0 & status)) != 0xf0){
- current = ags_midi_parser_channel_message(midi_parser,
- status);
-
- if(current != NULL){
- xmlNewProp(current,
- "delta-time\0",
- g_strdup_printf("%d\0", midi_parser->current_time));
-
- xmlAddChild(node,
- current);
- }
-
-#ifdef DEBUG
- g_message("channel message");
-#endif
- }else{
-#ifdef DEBUG
- g_message("status message");
-#endif
-
- switch(status){
- case 0xf0:
- {
- /* start of system exclusive */
- ags_midi_parser_sysex(midi_parser,
- status);
-
- }
- case 0xf1:
- case 0xf2:
- case 0xf3:
- case 0xf4:
- case 0xf5:
- case 0xf6:
- {
- ags_midi_parser_system_common(midi_parser,
- status);
- }
- break;
- case 0xf7:
- {
- /* sysex continuation or arbitrary stuff */
-#ifdef DEBUG
- g_message("sysex end\0");
-#endif
- }
- break;
- case 0xff:
- {
- /* meta event */
- current = ags_midi_parser_meta_event(midi_parser,
- status);
-
- if(current != NULL){
- xmlNewProp(current,
- "delta-time\0",
- g_strdup_printf("%d\0", midi_parser->current_time));
-
- xmlAddChild(node,
- current);
- }
- }
- break;
- default:
- g_warning("bad byte\0");
- break;
- }
- }
- }
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_channel_message(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- node = NULL;
-
- switch(status & 0xf0){
- case 0x80:
- {
- node = ags_midi_parser_key_off(midi_parser, status);
- }
- break;
- case 0x90:
- {
- node = ags_midi_parser_key_on(midi_parser, status);
- }
- break;
- case 0xa0:
- {
- node = ags_midi_parser_key_pressure(midi_parser, status);
- }
- break;
- case 0xb0:
- {
- node = ags_midi_parser_change_parameter(midi_parser, status);
- }
- break;
- case 0xc0:
- {
- node = ags_midi_parser_change_program(midi_parser, status);
- }
- break;
- case 0xd0:
- {
- node = ags_midi_parser_change_channel_pressure(midi_parser, status);
- }
- break;
- case 0xe0:
- {
- node = ags_midi_parser_change_pitch_bend(midi_parser, status);
- }
- break;
- }
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_key_on(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, note, velocity;
-
- channel = 0xf & status;
- note = (0x7f) & ags_midi_parser_midi_getc(midi_parser);
- velocity = (0x7f) & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "note-on\0");
-
- xmlNewProp(node,
- "key\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- "note\0",
- g_strdup_printf("%d\0", note));
-
- xmlNewProp(node,
- "velocity\0",
- g_strdup_printf("%d\0", velocity));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_key_on(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[KEY_ON], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_key_off(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, note, velocity;
-
- channel = 0xf & status;
- note = (0x7f) & ags_midi_parser_midi_getc(midi_parser);
- velocity = (0x7f) & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "note-off\0");
-
-
- xmlNewProp(node,
- "key\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- "note\0",
- g_strdup_printf("%d\0", note));
-
- xmlNewProp(node,
- "velocity\0",
- g_strdup_printf("%d\0", velocity));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_key_off(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[KEY_OFF], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_key_pressure(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, note, pressure;
-
- channel = 0xf & status;
- note = 0x7f & ags_midi_parser_midi_getc(midi_parser);
- pressure = 0x7f & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "polyphonic\0");
-
- xmlNewProp(node,
- "key\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- "note\0",
- g_strdup_printf("%d\0", note));
-
- xmlNewProp(node,
- "pressure\0",
- g_strdup_printf("%d\0", pressure));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_key_pressure(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[KEY_PRESSURE], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_change_parameter(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, control, value;
-
- channel = 0xf & status;
- control = 0x7f & ags_midi_parser_midi_getc(midi_parser);
- value = 0x7f & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- if(control < 120){
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "change-parameter\0");
-
- xmlNewProp(node,
- "channel\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- "control\0",
- g_strdup_printf("%d\0", control));
-
- xmlNewProp(node,
- "value\0",
- g_strdup_printf("%d\0", value));
- }else{
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "change-mode\0");
-
- xmlNewProp(node,
- "channel\0",
- g_strdup_printf("%d\0", channel));
-
- switch(control){
- case 120:
- {
- xmlNewProp(node,
- "mode\0",
- "all-sound-off\0");
- }
- break;
- case 121:
- {
- xmlNewProp(node,
- "mode\0",
- "reset-control-all\0");
-
- xmlNewProp(node,
- "value\0",
- g_strdup_printf("%d\0", value));
- }
- break;
- case 122:
- {
- if(value == 0){
- xmlNewProp(node,
- "mode\0",
- "local-control-off\0");
- }else{
- xmlNewProp(node,
- "mode\0",
- "local-control-on\0");
- }
- }
- break;
- case 123:
- {
- xmlNewProp(node,
- "mode\0",
- "all-notes-off");
- }
- break;
- case 124:
- {
- xmlNewProp(node,
- "mode\0",
- "omni-mode-on");
- }
- break;
- case 125:
- {
- xmlNewProp(node,
- "mode\0",
- "omni-mode-off\0");
- }
- break;
- case 126:
- {
- xmlNewProp(node,
- "mode\0",
- "mono-mode-on\0");
-
- xmlNewProp(node,
- "omni-off-channels\0",
- g_strdup_printf("%d\0", value));
- }
- break;
- case 127:
- {
- xmlNewProp(node,
- "mode\0",
- "poly-mode-on\0");
- }
- break;
- }
- }
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_change_parameter(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[CHANGE_PARAMETER], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_change_pitch_bend(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, pitch, transmitter;
-
- channel = 0xf & status;
- pitch = 0x7f & ags_midi_parser_midi_getc(midi_parser);
- transmitter = 0x7f & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- "channel\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "pitch-bend\0");
-
- xmlNewProp(node,
- "pitch\0",
- g_strdup_printf("%d\0", pitch));
-
- xmlNewProp(node,
- "transmitter\0",
- g_strdup_printf("%d\0", transmitter));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_change_pitch_bend(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[CHANGE_PITCH_BEND], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_change_program(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, program;
-
- channel = 0xf & status;
- program = 0x7f & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "program-change\0");
-
- xmlNewProp(node,
- "channel\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- "program\0",
- g_strdup_printf("%d\0", program));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_change_program(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[CHANGE_PROGRAM], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_change_channel_pressure(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int channel, pressure;
-
- channel = 0xf & status;
- pressure = 0x7f & ags_midi_parser_midi_getc(midi_parser);
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "channel-pressure\0");
-
- xmlNewProp(node,
- "channel\0",
- g_strdup_printf("%d\0", channel));
-
- xmlNewProp(node,
- "pressure\0",
- g_strdup_printf("%d\0", pressure));
-
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_change_channel_pressure(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[CHANGE_CHANNEL_PRESSURE], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_not_defined(AgsMidiParser *midi_parser, guint status)
-{
- return(NULL);
-}
-
-xmlNode*
-ags_midi_parser_not_defined(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[NOT_DEFINED], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_sysex(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- gchar c;
-
- while((c = ags_midi_parser_midi_getc(midi_parser)) != 0xf7 &&
- c != EOF);
-
-#ifdef DEBUG
- g_message("discarded sysex\0");
-#endif
-}
-
-xmlNode*
-ags_midi_parser_sysex(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[SYSEX], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_system_common(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- int c;
-
- node = NULL;
-
- switch(status){
- case 0xf1:
- {
- guint quarter_frame;
-
- quarter_frame = 0xff & (ags_midi_parser_midi_getc(midi_parser));
- }
- break;
- case 0xf2:
- {
- guint song_position;
-
- song_position = 0x7f & (ags_midi_parser_midi_getc(midi_parser)) << 7;
- song_position = 0x7f & (ags_midi_parser_midi_getc(midi_parser));
- }
- break;
- case 0xf3:
- {
- guint song_select;
-
- song_select = 0x7f & (ags_midi_parser_midi_getc(midi_parser));
- }
- break;
- case 0xf4:
- {
-#ifdef DEBUG
- g_message("undefined\0");
-#endif
- }
- break;
- case 0xf5:
- {
-#ifdef DEBUG
- g_message("undefined\0");
-#endif
- }
- break;
- case 0xf6:
- {
-#ifdef DEBUG
- g_message("tune request\0");
-#endif
- }
- break;
- }
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_system_common(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[SYSTEM_COMMON], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_meta_event(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
- char chunk_meta_length[4];
- guint meta_type;
-
- meta_type = 0xff & (ags_midi_parser_midi_getc(midi_parser));
- midi_parser->offset += 1;
-
- node = NULL;
-
- switch(meta_type){
- case 0x00:
- {
- int c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == 0x02){
- node = ags_midi_parser_sequence_number(midi_parser, meta_type);
- }
- }
- break;
- case 0x01: /* Text event */
- case 0x02: /* Copyright notice */
- case 0x03: /* Sequence/Track name */
- case 0x04: /* Instrument name */
- case 0x05: /* Lyric */
- case 0x06: /* Marker */
- case 0x07: /* Cue point */
- case 0x08:
- case 0x09:
- case 0x0a:
- case 0x0b:
- case 0x0c:
- case 0x0d:
- case 0x0e:
- case 0x0f:
- {
- /* These are all text events */
- node = ags_midi_parser_text_event(midi_parser, meta_type);
- }
- break;
- case 0x2f:
- {
- int c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == 0x0){
- /* End of Track */
- node = ags_midi_parser_end_of_track(midi_parser, meta_type);
- }
- }
- break;
- case 0x51:
- {
- int c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == 0x03){
- /* Set tempo */
- node = ags_midi_parser_tempo(midi_parser, meta_type);
- }
- }
- break;
- case 0x54:
- {
- int c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == 0x05){
- node = ags_midi_parser_smpte(midi_parser, meta_type);
- }
- }
- break;
- case 0x58:
- {
- int c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == 0x04){
- node = ags_midi_parser_time_signature(midi_parser, meta_type);
- }
- }
- break;
- case 0x59:
- {
- int c;
-
- c = ags_midi_parser_midi_getc(midi_parser);
-
- if(c == 0x02){
- node = ags_midi_parser_key_signature(midi_parser, meta_type);
- }
- }
- break;
- case 0x7f:
- {
- node = ags_midi_parser_sequencer_meta_event(midi_parser, meta_type);
- }
- break;
- default:
- {
- node = xmlNewNode(NULL,
- "midi-message\0");
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "misc\0");
- }
- }
-
-#ifdef DEBUG
- g_message("meta type 0x%x\0", meta_type);
-#endif
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_meta_event(AgsMidiParser *midi_parser, guint status)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[META_EVENT], 0,
- status,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_sequence_number(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- guint sequence;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- sequence = (guint) ags_midi_parser_read_gint16(midi_parser);
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "sequence-number\0");
-
- xmlNewProp(node,
- "sequence\0",
- g_strdup_printf("%d\0", sequence));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_sequence_number(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[SEQUENCE_NUMBER], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_end_of_track(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "end-of-track\0");
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_end_of_track(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[END_OF_TRACK], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_smpte(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- int hr, mn, se, fr, ff;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- hr = ags_midi_parser_midi_getc(midi_parser);
- mn = ags_midi_parser_midi_getc(midi_parser);
- se = ags_midi_parser_midi_getc(midi_parser);
- fr = ags_midi_parser_midi_getc(midi_parser);
- ff = ags_midi_parser_midi_getc(midi_parser);
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "smpte\0");
-
- xmlNewProp(node,
- "timestamp\0",
- g_strdup_printf("%d %d %d %d %d\0", hr, mn, se, fr, ff));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_smpte(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[SMPTE], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_tempo(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- gint tempo;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- tempo = ags_midi_parser_read_gint24(midi_parser);
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "tempo-number\0");
-
- xmlNewProp(node,
- "tempo\0",
- g_strdup_printf("%ld\0", tempo));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_tempo(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[TEMPO], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_time_signature(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- int nn, dd, cc, bb;
- int denom = 1;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- nn = ags_midi_parser_midi_getc(midi_parser);
- dd = ags_midi_parser_midi_getc(midi_parser);
- cc = ags_midi_parser_midi_getc(midi_parser);
- bb = ags_midi_parser_midi_getc(midi_parser);
-
- while(dd-- > 0){
- denom *= 2;
- }
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "time-signature\0");
-
- xmlNewProp(node,
- "timesig\0",
- g_strdup_printf("%d/%d %d %d\0", nn, denom, cc, bb));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_time_signature(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[TIME_SIGNATURE], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_key_signature(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- int sf, mi;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- xmlNewProp(node,
- AGS_MIDI_EVENT,
- "key-signature\0");
-
- sf = ags_midi_parser_midi_getc(midi_parser);
- mi = ags_midi_parser_midi_getc(midi_parser);
-
- xmlNewProp(node,
- "keysig\0",
- g_strdup_printf("%d %s\0", (sf>127?sf-256:sf), (mi?"minor":"major")));
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_key_signature(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[KEY_SIGNATURE], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_sequencer_meta_event(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- guint len, id, data;
-
- node = NULL;
-
- len = ags_midi_parser_midi_getc(midi_parser);
- id = ags_midi_parser_midi_getc(midi_parser);
- data = ags_midi_parser_midi_getc(midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_sequencer_meta_event(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[META_EVENT], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_real_text_event(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
- gchar *text;
- guint text_length;
-
- node = xmlNewNode(NULL,
- "midi-message\0");
-
- text_length = ags_midi_parser_read_varlength(midi_parser);
- text = ags_midi_parser_read_text(midi_parser,
- text_length);
-
- switch(0x0f & meta_type){
- case 0x01: /* Text event */
- break;
- case 0x02:
- {
- /* Copyright notice */
- xmlNewProp(node,
- "copyright\0",
- text);
- }
- break;
- case 0x03:
- {
- /* Sequence/Track name */
- xmlNewProp(node,
- "sequence-name\0",
- text);
- }
- break;
- case 0x04:
- {
- /* Instrument name */
- xmlNewProp(node,
- "instrument-name\0",
- text);
- }
- break;
- case 0x05: /* Lyric */
- break;
- case 0x06: /* Marker */
- break;
- case 0x07: /* Cue point */
- break;
- case 0x08:
- break;
- case 0x09:
- break;
- case 0x0a:
- break;
- case 0x0b:
- break;
- case 0x0c:
- break;
- case 0x0d:
- break;
- case 0x0e:
- break;
- case 0x0f:
- break;
- default:
- g_warning("unknown text event\0");
- }
-
- return(node);
-}
-
-xmlNode*
-ags_midi_parser_text_event(AgsMidiParser *midi_parser, guint meta_type)
-{
- xmlNode *node;
-
- g_return_val_if_fail(AGS_IS_MIDI_PARSER(midi_parser), NULL);
-
- g_object_ref((GObject *) midi_parser);
- g_signal_emit(G_OBJECT(midi_parser),
- midi_parser_signals[TEXT_EVENT], 0,
- meta_type,
- &node);
- g_object_unref((GObject *) midi_parser);
-
- return(node);
-}
-
-AgsMidiParser*
-ags_midi_parser_new(FILE *file)
-{
- AgsMidiParser *midi_parser;
- struct stat sb;
-
- midi_parser = (AgsMidiParser *) g_object_new(AGS_TYPE_MIDI_PARSER,
- "file\0", file,
- NULL);
-
-
- return(midi_parser);
-}
-
diff --git a/src/midi2ags/midi/ags_midi_parser.h b/src/midi2ags/midi/ags_midi_parser.h
deleted file mode 100644
index ed13452..0000000
--- a/src/midi2ags/midi/ags_midi_parser.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* 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_MIDI_PARSER_H__
-#define __AGS_MIDI_PARSER_H__
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include <libxml/tree.h>
-
-#define AGS_TYPE_MIDI_PARSER (ags_midi_parser_get_type ())
-#define AGS_MIDI_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_MIDI_PARSER, AgsMidiParser))
-#define AGS_MIDI_PARSER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_MIDI_PARSER, AgsMidiParserClass))
-#define AGS_IS_MIDI_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_MIDI_PARSER))
-#define AGS_IS_MIDI_PARSER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_MIDI_PARSER))
-#define AGS_MIDI_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_MIDI_PARSER, AgsMidiParserClass))
-
-#define AGS_MIDI_PARSER_MTHD "MThd\0"
-#define AGS_MIDI_PARSER_MTCK "MTrk\0"
-
-typedef struct _AgsMidiParser AgsMidiParser;
-typedef struct _AgsMidiParserClass AgsMidiParserClass;
-
-typedef enum{
- AGS_MIDI_PARSER_EOF = 1,
- AGS_MIDI_PARSER_EOT = 1 << 1,
-}AgsMidiParserFlags;
-
-typedef enum{
- AGS_MIDI_CHUNK_HEADER = 1,
- AGS_MIDI_CHUNK_TRACK = 1 << 1,
- AGS_MIDI_CHUNK_UNKNOWN = 1 << 2,
-}AgsMidiChunkFlags;
-
-struct _AgsMidiParser
-{
- GObject gobject;
-
- guint flags;
-
- FILE *file;
- guint nth_chunk;
-
- size_t file_length;
- size_t offset;
-
- guint current_time;
-
- xmlDoc *doc;
-};
-
-struct _AgsMidiParserClass
-{
- GObjectClass gobject;
-
- int (*midi_getc)(AgsMidiParser *midi_parser);
- void (*on_error)(AgsMidiParser *midi_parser,
- GError **error);
-
- xmlNode* (*parse_header)(AgsMidiParser *midi_parser);
- xmlNode* (*parse_track)(AgsMidiParser *midi_parser);
-
- xmlNode* (*key_on)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*key_off)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*key_pressure)(AgsMidiParser *midi_parser, guint status);
-
- xmlNode* (*change_parameter)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*change_pitch_bend)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*change_program)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*change_channel_pressure)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*not_defined)(AgsMidiParser *midi_parser, guint status);
-
- xmlNode* (*sysex)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*system_common)(AgsMidiParser *midi_parser, guint status);
-
- xmlNode* (*meta_event)(AgsMidiParser *midi_parser, guint status);
- xmlNode* (*sequence_number)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*end_of_track)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*smpte)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*tempo)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*time_signature)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*key_signature)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*sequencer_meta_event)(AgsMidiParser *midi_parser, guint meta_type);
- xmlNode* (*text_event)(AgsMidiParser *midi_parser, guint meta_type);
-
- xmlDoc* (*parse_full)(AgsMidiParser *midi_parser);
-};
-
-GType ags_midi_parser_get_type(void);
-
-gint16 ags_midi_parser_read_gint16(AgsMidiParser *midi_parser);
-gint32 ags_midi_parser_read_gint24(AgsMidiParser *midi_parser);
-gint32 ags_midi_parser_read_gint32(AgsMidiParser *midi_parser);
-long ags_midi_parser_read_varlength(AgsMidiParser *midi_parser);
-gchar* ags_midi_parser_read_text(AgsMidiParser *midi_parser,
- gint length);
-
-gdouble ags_midi_parser_ticks_to_sec(AgsMidiParser *midi_parser,
- guint ticks, gint division, guint tempo);
-
-int ags_midi_parser_midi_getc(AgsMidiParser *midi_parser);
-void ags_midi_parser_on_error(AgsMidiParser *midi_parser,
- GError **error);
-
-xmlDoc* ags_midi_parser_parse_full(AgsMidiParser *midi_parser);
-
-xmlNode* ags_midi_parser_parse_header(AgsMidiParser *midi_parser);
-xmlNode* ags_midi_parser_parse_track(AgsMidiParser *midi_parser);
-
-xmlNode* ags_midi_parser_channel_message(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_key_on(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_key_off(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_key_pressure(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_change_parameter(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_change_pitch_bend(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_change_program(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_change_channel_pressure(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_not_defined(AgsMidiParser *midi_parser, guint status);
-
-xmlNode* ags_midi_parser_sysex(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_system_common(AgsMidiParser *midi_parser, guint status);
-
-xmlNode* ags_midi_parser_meta_event(AgsMidiParser *midi_parser, guint status);
-xmlNode* ags_midi_parser_sequence_number(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_end_of_track(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_smpte(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_tempo(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_time_signature(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_key_signature(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_sequencer_meta_event(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_meta_misc(AgsMidiParser *midi_parser, guint meta_type);
-xmlNode* ags_midi_parser_text_event(AgsMidiParser *midi_parser, guint meta_type);
-
-AgsMidiParser* ags_midi_parser_new(FILE *file);
-
-#endif /*__AGS_MIDI_PARSER_H__*/
diff --git a/src/midi2ags/object/ags_marshal.c b/src/midi2ags/object/ags_marshal.c
deleted file mode 100644
index ab8534a..0000000
--- a/src/midi2ags/object/ags_marshal.c
+++ /dev/null
@@ -1,164 +0,0 @@
-
-#include <glib-object.h>
-
-
-#ifdef G_ENABLE_DEBUG
-#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
-#define g_marshal_value_peek_char(v) g_value_get_schar (v)
-#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
-#define g_marshal_value_peek_int(v) g_value_get_int (v)
-#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
-#define g_marshal_value_peek_long(v) g_value_get_long (v)
-#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
-#define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
-#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
-#define g_marshal_value_peek_enum(v) g_value_get_enum (v)
-#define g_marshal_value_peek_flags(v) g_value_get_flags (v)
-#define g_marshal_value_peek_float(v) g_value_get_float (v)
-#define g_marshal_value_peek_double(v) g_value_get_double (v)
-#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
-#define g_marshal_value_peek_param(v) g_value_get_param (v)
-#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
-#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
-#define g_marshal_value_peek_object(v) g_value_get_object (v)
-#define g_marshal_value_peek_variant(v) g_value_get_variant (v)
-#else /* !G_ENABLE_DEBUG */
-/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
- * Do not access GValues directly in your code. Instead, use the
- * g_value_get_*() functions
- */
-#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
-#define g_marshal_value_peek_char(v) (v)->data[0].v_int
-#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
-#define g_marshal_value_peek_int(v) (v)->data[0].v_int
-#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
-#define g_marshal_value_peek_long(v) (v)->data[0].v_long
-#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
-#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
-#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
-#define g_marshal_value_peek_enum(v) (v)->data[0].v_long
-#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
-#define g_marshal_value_peek_float(v) (v)->data[0].v_float
-#define g_marshal_value_peek_double(v) (v)->data[0].v_double
-#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer
-#endif /* !G_ENABLE_DEBUG */
-
-
-/* INT:VOID (ags_marshallers.list:1) */
-void
-g_cclosure_user_marshal_INT__VOID (GClosure *closure,
- GValue *return_value G_GNUC_UNUSED,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint G_GNUC_UNUSED,
- gpointer marshal_data)
-{
- typedef gint (*GMarshalFunc_INT__VOID) (gpointer data1,
- gpointer data2);
- register GMarshalFunc_INT__VOID callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gint v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 1);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_INT__VOID) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- data2);
-
- g_value_set_int (return_value, v_return);
-}
-
-/* POINTER:VOID (ags_marshallers.list:2) */
-void
-g_cclosure_user_marshal_POINTER__VOID (GClosure *closure,
- GValue *return_value G_GNUC_UNUSED,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint G_GNUC_UNUSED,
- gpointer marshal_data)
-{
- typedef gpointer (*GMarshalFunc_POINTER__VOID) (gpointer data1,
- gpointer data2);
- register GMarshalFunc_POINTER__VOID callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gpointer v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 1);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_POINTER__VOID) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- data2);
-
- g_value_set_pointer (return_value, v_return);
-}
-
-/* POINTER:UINT (ags_marshallers.list:3) */
-void
-g_cclosure_user_marshal_POINTER__UINT (GClosure *closure,
- GValue *return_value G_GNUC_UNUSED,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint G_GNUC_UNUSED,
- gpointer marshal_data)
-{
- typedef gpointer (*GMarshalFunc_POINTER__UINT) (gpointer data1,
- guint arg_1,
- gpointer data2);
- register GMarshalFunc_POINTER__UINT callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gpointer v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 2);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_POINTER__UINT) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_uint (param_values + 1),
- data2);
-
- g_value_set_pointer (return_value, v_return);
-}
-
diff --git a/src/midi2ags/object/ags_marshal.h b/src/midi2ags/object/ags_marshal.h
deleted file mode 100644
index 0043dbc..0000000
--- a/src/midi2ags/object/ags_marshal.h
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef __g_cclosure_user_marshal_MARSHAL_H__
-#define __g_cclosure_user_marshal_MARSHAL_H__
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-/* INT:VOID (ags_marshallers.list:1) */
-extern void g_cclosure_user_marshal_INT__VOID (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* POINTER:VOID (ags_marshallers.list:2) */
-extern void g_cclosure_user_marshal_POINTER__VOID (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* POINTER:UINT (ags_marshallers.list:3) */
-extern void g_cclosure_user_marshal_POINTER__UINT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-G_END_DECLS
-
-#endif /* __g_cclosure_user_marshal_MARSHAL_H__ */
-
--
gsequencer packaging
More information about the pkg-multimedia-commits
mailing list