diff --git a/src/audacious/dbus-server.cc b/src/audacious/dbus-server.cc index c6cf76a..5902546 100644 --- a/src/audacious/dbus-server.cc +++ b/src/audacious/dbus-server.cc @@ -385,6 +385,13 @@ static gboolean do_reverse (Obj * obj, Invoc * invoc) return true; } +static gboolean do_record (Obj * obj, Invoc * invoc) +{ + aud_drct_enable_record (!aud_drct_get_record_enabled ()); + FINISH (record); + return true; +} + static gboolean do_seek (Obj * obj, Invoc * invoc, unsigned pos) { aud_drct_seek (pos); @@ -712,6 +719,7 @@ handlers[] = {"handle-quit", (GCallback) do_quit}, {"handle-repeat", (GCallback) do_repeat}, {"handle-reverse", (GCallback) do_reverse}, + {"handle-record", (GCallback) do_record}, {"handle-seek", (GCallback) do_seek}, {"handle-set-active-playlist", (GCallback) do_set_active_playlist}, {"handle-set-active-playlist-name", (GCallback) do_set_active_playlist_name}, diff --git a/src/audtool/audtool.h b/src/audtool/audtool.h index cb62488..5a03995 100644 --- a/src/audtool/audtool.h +++ b/src/audtool/audtool.h @@ -114,6 +114,7 @@ void playback_stopped (int, char * *); void playback_status (int, char * *); void playback_seek (int, char * *); void playback_seek_relative (int, char * *); +void playback_record (int, char * *); void mainwin_show (int, char * *); void show_preferences_window (int, char * *); diff --git a/src/audtool/handlers_playback.c b/src/audtool/handlers_playback.c index 1b3a90a..be9ab5a 100644 --- a/src/audtool/handlers_playback.c +++ b/src/audtool/handlers_playback.c @@ -19,7 +19,6 @@ */ #include - #include "audtool.h" void playback_play (int argc, char * * argv) @@ -50,6 +49,11 @@ void playback_playing (int argc, char * * argv) exit (! playing); } +void playback_record (int argc, char * * argv) +{ + obj_audacious_call_playback_record (dbus_proxy, NULL, NULL); +} + void playback_paused (int argc, char * * argv) { gboolean paused = FALSE; diff --git a/src/audtool/main.c b/src/audtool/main.c index 2ed0fa9..825b85a 100644 --- a/src/audtool/main.c +++ b/src/audtool/main.c @@ -54,6 +54,7 @@ const struct commandhandler handlers[] = {"playback-status", playback_status, "print status (playing/paused/stopped)", 0}, {"playback-seek", playback_seek, "seek to given time", 1}, {"playback-seek-relative", playback_seek_relative, "seek to relative time offset", 1}, + {"playback-record", playback_record, "toggle recording (dubbing)", 1}, {"", NULL, "Playlist commands", 0}, {"playlist-advance", playlist_advance, "skip to next song", 0},