From b58a71636eb07843032e644211285b282a307d97 Mon Sep 17 00:00:00 2001 From: Andrej Shadura Date: Sun, 22 Mar 2020 21:20:47 +0100 Subject: New upstream version 4.0 --- src/audacious/Makefile | 4 +++- src/audacious/dbus-server.cc | 48 +++++++++++++++++++++++++++++--------------- src/audacious/main.cc | 14 ++++++------- src/audacious/meson.build | 24 ++++++++++++++++++++++ src/audacious/signals.cc | 9 +++------ 5 files changed, 68 insertions(+), 31 deletions(-) create mode 100644 src/audacious/meson.build (limited to 'src/audacious') diff --git a/src/audacious/Makefile b/src/audacious/Makefile index e4678ba..79e86cd 100644 --- a/src/audacious/Makefile +++ b/src/audacious/Makefile @@ -28,7 +28,9 @@ CPPFLAGS := -I.. -I../.. \ ${CPPFLAGS} \ ${GLIB_CFLAGS} -LIBS := -L../libaudcore -laudcore \ +LDFLAGS := -L../libaudcore $(LDFLAGS) + +LIBS := -laudcore \ ${LIBS} -lm \ ${LIBINTL} \ ${GLIB_LIBS} diff --git a/src/audacious/dbus-server.cc b/src/audacious/dbus-server.cc index 20a6c58..10f3bba 100644 --- a/src/audacious/dbus-server.cc +++ b/src/audacious/dbus-server.cc @@ -86,14 +86,21 @@ static gboolean do_add_url (Obj * obj, Invoc * invoc, const char * url) static gboolean do_advance (Obj * obj, Invoc * invoc) { - CURRENT.next_song (aud_get_bool (nullptr, "repeat")); + CURRENT.next_song (aud_get_bool ("repeat")); FINISH (advance); return true; } +static gboolean do_advance_album (Obj * obj, Invoc * invoc) +{ + CURRENT.next_album (aud_get_bool ("repeat")); + FINISH (advance_album); + return true; +} + static gboolean do_auto_advance (Obj * obj, Invoc * invoc) { - FINISH2 (auto_advance, ! aud_get_bool (nullptr, "no_playlist_advance")); + FINISH2 (auto_advance, ! aud_get_bool ("no_playlist_advance")); return true; } @@ -150,7 +157,7 @@ static gboolean do_eject (Obj * obj, Invoc * invoc) static gboolean do_equalizer_activate (Obj * obj, Invoc * invoc, gboolean active) { - aud_set_bool (nullptr, "equalizer_active", active); + aud_set_bool ("equalizer_active", active); FINISH (equalizer_activate); return true; } @@ -170,7 +177,7 @@ static gboolean do_get_active_playlist_name (Obj * obj, Invoc * invoc) static gboolean do_get_eq (Obj * obj, Invoc * invoc) { - double preamp = aud_get_double (nullptr, "equalizer_preamp"); + double preamp = aud_get_double ("equalizer_preamp"); double bands[AUD_EQ_NBANDS]; aud_eq_get_bands (bands); @@ -188,7 +195,7 @@ static gboolean do_get_eq_band (Obj * obj, Invoc * invoc, int band) static gboolean do_get_eq_preamp (Obj * obj, Invoc * invoc) { - FINISH2 (get_eq_preamp, aud_get_double (nullptr, "equalizer_preamp")); + FINISH2 (get_eq_preamp, aud_get_double ("equalizer_preamp")); return true; } @@ -423,7 +430,7 @@ static gboolean do_quit (Obj * obj, Invoc * invoc) static gboolean do_record (Obj * obj, Invoc * invoc) { if (aud_drct_get_record_enabled ()) - aud_set_bool (nullptr, "record", ! aud_get_bool (nullptr, "record")); + aud_set_bool ("record", ! aud_get_bool ("record")); FINISH (record); return true; @@ -433,7 +440,7 @@ static gboolean do_recording (Obj * obj, Invoc * invoc) { bool recording = false; if (aud_drct_get_record_enabled ()) - recording = aud_get_bool (nullptr, "record"); + recording = aud_get_bool ("record"); FINISH2 (recording, recording); return true; @@ -441,7 +448,7 @@ static gboolean do_recording (Obj * obj, Invoc * invoc) static gboolean do_repeat (Obj * obj, Invoc * invoc) { - FINISH2 (repeat, aud_get_bool (nullptr, "repeat")); + FINISH2 (repeat, aud_get_bool ("repeat")); return true; } @@ -452,6 +459,13 @@ static gboolean do_reverse (Obj * obj, Invoc * invoc) return true; } +static gboolean do_reverse_album (Obj * obj, Invoc * invoc) +{ + CURRENT.prev_album (); + FINISH (reverse_album); + return true; +} + static gboolean do_seek (Obj * obj, Invoc * invoc, unsigned pos) { aud_drct_seek (pos); @@ -504,7 +518,7 @@ static gboolean do_set_eq (Obj * obj, Invoc * invoc, double preamp, GVariant * v if (nbands != AUD_EQ_NBANDS) return false; - aud_set_double (nullptr, "equalizer_preamp", preamp); + aud_set_double ("equalizer_preamp", preamp); aud_eq_set_bands (bands); FINISH (set_eq); return true; @@ -519,7 +533,7 @@ static gboolean do_set_eq_band (Obj * obj, Invoc * invoc, int band, double value static gboolean do_set_eq_preamp (Obj * obj, Invoc * invoc, double preamp) { - aud_set_double (nullptr, "equalizer_preamp", preamp); + aud_set_double ("equalizer_preamp", preamp); FINISH (set_eq_preamp); return true; } @@ -598,7 +612,7 @@ static gboolean do_show_prefs_box (Obj * obj, Invoc * invoc, gboolean show) static gboolean do_shuffle (Obj * obj, Invoc * invoc) { - FINISH2 (shuffle, aud_get_bool (nullptr, "shuffle")); + FINISH2 (shuffle, aud_get_bool ("shuffle")); return true; } @@ -689,7 +703,7 @@ static gboolean do_stop (Obj * obj, Invoc * invoc) static gboolean do_stop_after (Obj * obj, Invoc * invoc) { - FINISH2 (stop_after, aud_get_bool (nullptr, "stop_after_current_song")); + FINISH2 (stop_after, aud_get_bool ("stop_after_current_song")); return true; } @@ -707,28 +721,28 @@ static gboolean do_time (Obj * obj, Invoc * invoc) static gboolean do_toggle_auto_advance (Obj * obj, Invoc * invoc) { - aud_toggle_bool (nullptr, "no_playlist_advance"); + aud_toggle_bool ("no_playlist_advance"); FINISH (toggle_auto_advance); return true; } static gboolean do_toggle_repeat (Obj * obj, Invoc * invoc) { - aud_toggle_bool (nullptr, "repeat"); + aud_toggle_bool ("repeat"); FINISH (toggle_repeat); return true; } static gboolean do_toggle_shuffle (Obj * obj, Invoc * invoc) { - aud_toggle_bool (nullptr, "shuffle"); + aud_toggle_bool ("shuffle"); FINISH (toggle_shuffle); return true; } static gboolean do_toggle_stop_after (Obj * obj, Invoc * invoc) { - aud_toggle_bool (nullptr, "stop_after_current_song"); + aud_toggle_bool ("stop_after_current_song"); FINISH (toggle_stop_after); return true; } @@ -757,6 +771,7 @@ handlers[] = {"handle-add-list", (GCallback) do_add_list}, {"handle-add-url", (GCallback) do_add_url}, {"handle-advance", (GCallback) do_advance}, + {"handle-advance-album", (GCallback) do_advance_album}, {"handle-auto-advance", (GCallback) do_auto_advance}, {"handle-balance", (GCallback) do_balance}, {"handle-clear", (GCallback) do_clear}, @@ -805,6 +820,7 @@ handlers[] = {"handle-record", (GCallback) do_record}, {"handle-repeat", (GCallback) do_repeat}, {"handle-reverse", (GCallback) do_reverse}, + {"handle-reverse-album", (GCallback) do_reverse_album}, {"handle-seek", (GCallback) do_seek}, {"handle-select-displayed-playlist", (GCallback) do_select_displayed_playlist}, {"handle-select-playing-playlist", (GCallback) do_select_playing_playlist}, diff --git a/src/audacious/main.cc b/src/audacious/main.cc index 52ad234..1213a95 100644 --- a/src/audacious/main.cc +++ b/src/audacious/main.cc @@ -1,6 +1,6 @@ /* * main.c - * Copyright 2007-2013 William Pitcock and John Lindgren + * Copyright 2007-2013 Ariadne Conill and John Lindgren * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -50,7 +50,7 @@ static struct { int mainwin, show_jump_box; int headless, quit_after_play; int verbose; - int qt; + int gtk; } options; static bool initted = false; @@ -78,7 +78,7 @@ static const struct { {"quit-after-play", 'q', & options.quit_after_play, N_("Quit on playback stop")}, {"verbose", 'V', & options.verbose, N_("Print debugging messages (may be used twice)")}, #if defined(USE_QT) && defined(USE_GTK) - {"qt", 'Q', & options.qt, N_("Run in Qt mode")}, + {"gtk", 'G', & options.gtk, N_("Run in GTK mode")}, #endif }; @@ -171,8 +171,8 @@ static bool parse_options (int argc, char * * argv) else if (options.verbose) audlog::set_stderr_level (audlog::Info); - if (options.qt) - aud_set_mainloop_type (MainloopType::Qt); + if (options.gtk) + aud_set_mainloop_type (MainloopType::GLib); return true; } @@ -199,9 +199,7 @@ static void do_remote () ObjAudacious * obj = nullptr; GError * error = nullptr; -#if ! GLIB_CHECK_VERSION (2, 36, 0) g_type_init (); -#endif /* check whether the selected instance is running */ if (dbus_server_init () != StartupType::Client) @@ -270,7 +268,7 @@ static void do_remote () static void do_commands () { - bool resume = aud_get_bool (nullptr, "resume_playback_on_startup"); + bool resume = aud_get_bool ("resume_playback_on_startup"); if (filenames.len ()) { diff --git a/src/audacious/meson.build b/src/audacious/meson.build new file mode 100644 index 0000000..d91ba79 --- /dev/null +++ b/src/audacious/meson.build @@ -0,0 +1,24 @@ +audacious_deps = [glib_dep] +audacious_libs = [libaudcore_lib] + +audacious_sources = [ + 'main.cc', + 'signals.cc', + 'util.cc' +] + + +if get_option('dbus') + audacious_sources += ['dbus-server.cc'] + audacious_libs += [aud_dbus_lib] + audacious_deps += [aud_dbus_deps] +endif + + +audacious_exe = executable('audacious', + audacious_sources, + include_directories: [src_inc, aud_dbus_inc], + dependencies: audacious_deps, + link_with: audacious_libs, + install: true +) diff --git a/src/audacious/signals.cc b/src/audacious/signals.cc index 35c1011..8ed1fec 100644 --- a/src/audacious/signals.cc +++ b/src/audacious/signals.cc @@ -19,23 +19,21 @@ #ifdef HAVE_SIGWAIT -#include #include #include +#include #include "main.h" static sigset_t signal_set; -static void * signal_thread (void * data) +static void signal_thread () { int signal; while (! sigwait (& signal_set, & signal)) event_queue ("quit", nullptr); - - return nullptr; } /* Must be called before any threads are created. */ @@ -52,8 +50,7 @@ void signals_init_one () void signals_init_two () { - pthread_t thread; - pthread_create (& thread, nullptr, signal_thread, nullptr); + std::thread (signal_thread).detach (); } #endif /* HAVE_SIGWAIT */ -- cgit v1.2.3