Mercurial > audlegacy
annotate src/audtool/audtool_main.c @ 3917:b5ee3a4a8e3b
libaudclient:
- audacious_remote_toggle_about_box, audacious_remote_toggle_jtf_box, audacious_remote_toggle_prefs_box, audacious_remote_toggle_filebrowser, audacious_remote_eq_activate have been added.
audtool:
- argument parser has been improved.
- command to show filebrowser has been added.
- command to activate/deactivate equalizer has been added.
- now each command to show aboutbox, prefswin, jtf and filebrowser is capable of change visibility.
- now playlist_clear stops playback first.
- normalize names of some commands.
core:
- enhance some dbus functions to support visibility control.
- add some functions to hide dialogs.
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Thu, 08 Nov 2007 22:16:50 +0900 |
parents | 86c9abc83fbd |
children | ea194fd79267 |
rev | line source |
---|---|
2734 | 1 /* |
2 * Audtool2 | |
3 * Copyright (c) 2007 Audacious development team | |
2313 | 4 * |
2734 | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | |
7 * met: | |
8 * | |
9 * 1. Redistributions of source code must retain the above copyright notice, | |
10 * this list of conditions and the following disclaimer. | |
11 * | |
12 * 2. Redistributions in binary form must reproduce the above copyright | |
13 * notice, this list of conditions and the following disclaimer in the | |
14 * documentation and/or other materials provided with the distribution. | |
2313 | 15 * |
2734 | 16 * 3. The name of the author may not be used to endorse or promote products |
17 * derived from this software without specific prior written permission. | |
2313 | 18 * |
2734 | 19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
22 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | |
23 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
25 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | |
27 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | |
28 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
29 * POSSIBILITY OF SUCH DAMAGE. | |
2313 | 30 */ |
31 | |
32 #include <stdlib.h> | |
2327
921b2d8d9b2e
[svn] Fixed: audtool.c:883: warning: implicit declaration of function 'strncmp'
js
parents:
2313
diff
changeset
|
33 #include <string.h> |
2313 | 34 #include <glib.h> |
2734 | 35 #include <mowgli.h> |
2313 | 36 #include <locale.h> |
2715
a20d843fe3f7
[svn] - some progress towards making audtool build again
nenolod
parents:
2593
diff
changeset
|
37 #include "libaudclient/audctrl.h" |
2313 | 38 #include "audtool.h" |
39 | |
40 struct commandhandler handlers[] = { | |
2924
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
41 {"<sep>", NULL, "Vital information", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
42 {"current-song", get_current_song, "returns current song title", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
43 {"current-song-filename", get_current_song_filename, "returns current song filename", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
44 {"current-song-length", get_current_song_length, "returns current song length", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
45 {"current-song-length-seconds", get_current_song_length_seconds, "returns current song length in seconds", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
46 {"current-song-length-frames", get_current_song_length_frames, "returns current song length in frames", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
47 {"current-song-output-length", get_current_song_output_length, "returns current song output length", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
48 {"current-song-output-length-seconds", get_current_song_output_length_seconds, "returns current song output length in seconds", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
49 {"current-song-output-length-frames", get_current_song_output_length_frames, "returns current song output length in frames", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
50 {"current-song-bitrate", get_current_song_bitrate, "returns current song bitrate in bits per second", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
51 {"current-song-bitrate-kbps", get_current_song_bitrate_kbps, "returns current song bitrate in kilobits per second", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
52 {"current-song-frequency", get_current_song_frequency, "returns current song frequency in hertz", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
53 {"current-song-frequency-khz", get_current_song_frequency_khz, "returns current song frequency in kilohertz", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
54 {"current-song-channels", get_current_song_channels, "returns current song channels", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
55 {"current-song-tuple-data", get_current_song_tuple_field_data, "returns the value of a tuple field for the current song", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
56 {"<sep>", NULL, "Playlist manipulation", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
57 {"playlist-advance", playlist_advance, "go to the next song in the playlist", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
58 {"playlist-reverse", playlist_reverse, "go to the previous song in the playlist", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
59 {"playlist-addurl", playlist_add_url_string, "adds a url to the playlist", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
60 {"playlist-delete", playlist_delete, "deletes a song from the playlist", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
61 {"playlist-length", playlist_length, "returns the total length of the playlist", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
62 {"playlist-song", playlist_song, "returns the title of a song in the playlist", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
63 {"playlist-song-filename", playlist_song_filename, "returns the filename of a song in the playlist", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
64 {"playlist-song-length", playlist_song_length, "returns the length of a song in the playlist", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
65 {"playlist-song-length-seconds", playlist_song_length_seconds, "returns the length of a song in the playlist in seconds", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
66 {"playlist-song-length-frames", playlist_song_length_frames, "returns the length of a song in the playlist in frames", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
67 {"playlist-display", playlist_display, "returns the entire playlist", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
68 {"playlist-position", playlist_position, "returns the position in the playlist", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
69 {"playlist-jump", playlist_jump, "jumps to a position in the playlist", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
70 {"playlist-clear", playlist_clear, "clears the playlist", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
71 {"playlist-repeat-status", playlist_repeat_status, "returns the status of playlist repeat", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
72 {"playlist-repeat-toggle", playlist_repeat_toggle, "toggles playlist repeat", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
73 {"playlist-shuffle-status", playlist_shuffle_status, "returns the status of playlist shuffle", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
74 {"playlist-shuffle-toggle", playlist_shuffle_toggle, "toggles playlist shuffle", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
75 {"playlist-tuple-data", playlist_tuple_field_data, "returns the value of a tuple field for a song in the playlist", 2}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
76 {"<sep>", NULL, "Playqueue manipulation", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
77 {"playqueue-add", playqueue_add, "adds a song to the playqueue", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
78 {"playqueue-remove", playqueue_remove, "removes a song from the playqueue", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
79 {"playqueue-is-queued", playqueue_is_queued, "returns OK if a song is queued", 1}, |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
80 {"playqueue-get-queue-position", playqueue_get_queue_position, "returns the playqueue position of a song in the given poition in the playlist", 1}, |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
81 {"playqueue-get-list-position", playqueue_get_list_position, "returns the playlist position of a song in the given position in the playqueue", 1}, |
2924
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
82 {"playqueue-length", playqueue_length, "returns the length of the playqueue", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
83 {"playqueue-display", playqueue_display, "returns a list of currently-queued songs", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
84 {"playqueue-clear", playqueue_clear, "clears the playqueue", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
85 {"<sep>", NULL, "Playback manipulation", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
86 {"playback-play", playback_play, "starts/unpauses song playback", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
87 {"playback-pause", playback_pause, "(un)pauses song playback", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
88 {"playback-playpause", playback_playpause, "plays/(un)pauses song playback", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
89 {"playback-stop", playback_stop, "stops song playback", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
90 {"playback-playing", playback_playing, "returns OK if audacious is playing", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
91 {"playback-paused", playback_paused, "returns OK if audacious is paused", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
92 {"playback-stopped", playback_stopped, "returns OK if audacious is stopped", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
93 {"playback-status", playback_status, "returns the playback status", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
94 {"playback-seek", playback_seek, "performs an absolute seek", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
95 {"playback-seek-relative", playback_seek_relative, "performs a seek relative to the current position", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
96 {"<sep>", NULL, "Volume control", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
97 {"get-volume", get_volume, "returns the current volume level in percent", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
98 {"set-volume", set_volume, "sets the current volume level in percent", 1}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
99 {"<sep>", NULL, "Miscellaneous", 0}, |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
100 {"mainwin-show", mainwin_show, "shows/hides the main window", 1}, |
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
101 {"playlist-show", playlist_show, "shows/hides the playlist window", 1}, |
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
102 {"equalizer-show", equalizer_show, "shows/hides the equalizer window", 1}, |
3917 | 103 |
104 {"preferences-show", show_preferences_window, "shows/hides the preferences window", 1}, | |
105 {"about-show", show_about_window, "shows/hides the about window", 1}, | |
106 {"jumptofile-show", show_jtf_window, "shows/hides the jump to file window", 1}, | |
107 {"filebrowser-show", show_filebrowser, "shows/hides the filebrowser", 1}, | |
108 | |
2924
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
109 {"shutdown", shutdown_audacious_server, "shuts down audacious", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
110 {"<sep>", NULL, "Help system", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
111 {"list-handlers", get_handlers_list, "shows handlers list", 0}, |
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
112 {"help", get_handlers_list, "shows handlers list", 0}, |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
113 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
114 /* test suite */ |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
115 {"<sep>", NULL, "Test suite", 0}, |
3917 | 116 {"activate", test_activate, "activate audacious", 0}, |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
117 {"always-on-top", test_toggle_aot, "on/off always on top", 1}, |
3917 | 118 {"get-version", test_get_version, "get the version string of audacious", 0}, |
119 {"get-info", test_get_info, "get info", 0}, | |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
120 {"get-skin", test_get_skin, "get skin", 0}, |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
121 {"set-skin", test_set_skin, "set skin", 1}, |
3917 | 122 {"playlist-addurl-to-new-playlist", test_enqueue_to_temp, "adds a url to the newly created playlist", 1}, |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
123 {"playlist-insurl", test_ins_url_string, "inserts a url at specified position in the playlist", 2}, |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2939
diff
changeset
|
124 |
3915
86c9abc83fbd
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3873
diff
changeset
|
125 /* test suite for equalizer */ |
3917 | 126 {"equalizer-get", test_get_eq, "get the equalizer settings", 0}, |
127 {"equalizer-get-preamp", test_get_eq_preamp, "get the equalizer pre-amplification", 0}, | |
128 {"equalizer-get-band", test_get_eq_band, "get the equalizer value in specified band", 1}, | |
129 {"equalizer-set", test_set_eq, "set the equalizer settings", 11}, | |
130 {"equalizer-set-preamp", test_set_eq_preamp, "set the equalizer pre-amplification", 1}, | |
131 {"equalizer-set-band", test_set_eq_band, "set the equalizer value in the specified band", 2}, | |
132 {"equalizer-activate", test_equalizer_active, "activate/deactivate the equalizer", 1}, | |
133 | |
2924
cf35109c4c33
Add the amount of arguments each command takes.
William Pitcock <nenolod@atheme.org>
parents:
2922
diff
changeset
|
134 {NULL, NULL, NULL, 0} |
2313 | 135 }; |
136 | |
2737 | 137 mowgli_error_context_t *e = NULL; |
138 DBusGProxy *dbus_proxy = NULL; | |
2731
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
139 static DBusGConnection *connection = NULL; |
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
140 |
2734 | 141 static void audtool_connect(void) |
2719
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
142 { |
2723
5051af882447
[svn] - bind to the right dbus interfaces, but this still has problems building
nenolod
parents:
2720
diff
changeset
|
143 GError *error = NULL; |
2734 | 144 |
145 mowgli_error_context_push(e, "While attempting to connect to the D-Bus session bus"); | |
2731
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
146 connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); |
2719
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
147 |
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
148 if (connection == NULL) |
2747
8b7e1929aec1
[svn] - change the appearance that backtraces are presented as
nenolod
parents:
2737
diff
changeset
|
149 mowgli_error_context_display_with_error(e, ":\n * ", g_strdup_printf("D-Bus Error: %s", error->message)); |
2723
5051af882447
[svn] - bind to the right dbus interfaces, but this still has problems building
nenolod
parents:
2720
diff
changeset
|
150 |
2734 | 151 mowgli_error_context_pop(e); |
2719
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
152 |
2731
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
153 dbus_proxy = dbus_g_proxy_new_for_name(connection, AUDACIOUS_DBUS_SERVICE, |
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
154 AUDACIOUS_DBUS_PATH, |
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
155 AUDACIOUS_DBUS_INTERFACE); |
2719
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
156 } |
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
157 |
2313 | 158 gint main(gint argc, gchar **argv) |
159 { | |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
160 gint i, j = 0, k = 0; |
2313 | 161 |
162 setlocale(LC_CTYPE, ""); | |
2719
7a60a4236fb9
[svn] - make this build again, most functionality does not work
nenolod
parents:
2715
diff
changeset
|
163 g_type_init(); |
2734 | 164 mowgli_init(); |
165 | |
166 e = mowgli_error_context_create(); | |
167 mowgli_error_context_push(e, "In program %s", argv[0]); | |
168 | |
169 audtool_connect(); | |
170 | |
171 mowgli_error_context_push(e, "While processing the commandline"); | |
2313 | 172 |
173 if (argc < 2) | |
3917 | 174 mowgli_error_context_display_with_error(e, ":\n * ", "not enough parameters, use \'audtool help\' for more information."); |
2731
f4a5f8fa3836
[svn] Added stubs in audctrl.c for the unimplemented functions defined in audctrl.h.
magma
parents:
2723
diff
changeset
|
175 |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
176 for (j = 1; j < argc; j++) |
2313 | 177 { |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
178 for (i = 0; handlers[i].name != NULL; i++) |
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
179 { |
2939
964413953abd
Use portable g_ascii_strcasecmp().
William Pitcock <nenolod@atheme.org>
parents:
2925
diff
changeset
|
180 if ((!g_ascii_strcasecmp(handlers[i].name, argv[j]) || |
964413953abd
Use portable g_ascii_strcasecmp().
William Pitcock <nenolod@atheme.org>
parents:
2925
diff
changeset
|
181 !g_ascii_strcasecmp(g_strconcat("--", handlers[i].name, NULL), argv[j])) |
964413953abd
Use portable g_ascii_strcasecmp().
William Pitcock <nenolod@atheme.org>
parents:
2925
diff
changeset
|
182 && g_ascii_strcasecmp("<sep>", handlers[i].name)) |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
183 { |
3917 | 184 int numargs = handlers[i].args + 1 < argc - 1 ? handlers[i].args + 1 : argc - 1; |
185 handlers[i].handler(numargs, &argv[j]); | |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
186 j += handlers[i].args; |
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
187 k++; |
3917 | 188 if(j >= argc) |
189 break; | |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
190 } |
2313 | 191 } |
192 } | |
193 | |
2925
90ca95b7277d
Convert code where necessary to work with the new data passed to it.
William Pitcock <nenolod@atheme.org>
parents:
2924
diff
changeset
|
194 if (k == 0) |
3917 | 195 mowgli_error_context_display_with_error(e, ":\n * ", g_strdup_printf("Unknown command '%s' encountered, use \'audtool help\' for a command list.", argv[1])); |
2313 | 196 |
197 return 0; | |
198 } |