summaryrefslogtreecommitdiff
path: root/src/audacious
diff options
context:
space:
mode:
authorAndrej Shadura <andrew.shadura@collabora.co.uk>2020-03-22 21:20:47 +0100
committerAndrej Shadura <andrew.shadura@collabora.co.uk>2020-03-22 21:20:47 +0100
commitb58a71636eb07843032e644211285b282a307d97 (patch)
tree9fbb580e5038b22cf1a3b9155f27b46554b54515 /src/audacious
parent1a988068635ca5f8a74c4654098d07f92bc0dcf4 (diff)
New upstream version 4.0
Diffstat (limited to 'src/audacious')
-rw-r--r--src/audacious/Makefile4
-rw-r--r--src/audacious/dbus-server.cc48
-rw-r--r--src/audacious/main.cc14
-rw-r--r--src/audacious/meson.build24
-rw-r--r--src/audacious/signals.cc9
5 files changed, 68 insertions, 31 deletions
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 <pthread.h>
#include <signal.h>
#include <libaudcore/hook.h>
+#include <libaudcore/threads.h>
#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 */