Update to audacious-plugins-3.2.
With sndio plugin updates by ratchov and myself. ok ratchov ajacoutot
This commit is contained in:
parent
fc7da00687
commit
5e8d12eb8d
@ -1,16 +1,14 @@
|
||||
# $OpenBSD: Makefile,v 1.39 2011/10/17 10:38:41 espie Exp $
|
||||
# $OpenBSD: Makefile,v 1.40 2012/03/20 19:10:56 stsp Exp $
|
||||
|
||||
SHARED_ONLY = Yes
|
||||
|
||||
COMMENT-main = input and output plugins for audacious
|
||||
COMMENT-jack = jack plugin for audacious
|
||||
|
||||
V = 2.4.5
|
||||
V = 3.2
|
||||
DISTNAME = audacious-plugins-$V
|
||||
PKGNAME-main = ${DISTNAME}
|
||||
REVISION-main = 3
|
||||
PKGNAME-jack = audacious-jack-$V
|
||||
REVISION-jack = 2
|
||||
|
||||
CATEGORIES = audio multimedia
|
||||
|
||||
@ -23,25 +21,22 @@ PERMIT_DISTFILES_CDROM =Yes
|
||||
PERMIT_DISTFILES_FTP = Yes
|
||||
|
||||
WANTLIB += GL X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama
|
||||
WANTLIB += Xrandr Xrender atk-1.0 audcore audgui cairo dbus-1
|
||||
WANTLIB += dbus-glib-1 expat fontconfig freetype gdk-x11-2.0
|
||||
WANTLIB += Xrandr Xrender atk-1.0 audcore audgui cairo cairo-gobject
|
||||
WANTLIB += expat fontconfig freetype gdk-3
|
||||
WANTLIB += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0
|
||||
WANTLIB += gthread-2.0 gtk-x11-2.0 m mcs mowgli pango-1.0 pangocairo-1.0
|
||||
WANTLIB += pangoft2-1.0 pixman-1 png pthread-stubs samplerate xcb
|
||||
WANTLIB += gthread-2.0 gtk-3 m pango-1.0 pangocairo-1.0
|
||||
WANTLIB += pangoft2-1.0 pixman-1 png pthread pthread-stubs samplerate xcb
|
||||
WANTLIB += xcb-render xcb-shm z ${MODGETTEXT_WANTLIB}
|
||||
|
||||
WANTLIB-main += ${WANTLIB} FLAC SDL audtag avcodec avformat avutil
|
||||
WANTLIB-main += bz2 cddb cdio cdio_cdda cue curl faad gsm mp3lame
|
||||
WANTLIB-main += neon notify ogg orc-0.4 schroedinger-1.0 sndfile
|
||||
WANTLIB-main += sndio speex stdc++ theoradec theoraenc vorbis
|
||||
WANTLIB-main += vorbisenc vorbisfile vpx wavpack x264 xml2
|
||||
WANTLIB-main += ${WANTLIB} FLAC SDL audtag cddb cdio cdio_cdda cue curl
|
||||
WANTLIB-main += dbus-1 dbus-glib-1 mpg123 neon notify ogg sndfile sndio
|
||||
WANTLIB-main += stdc++ vorbis vorbisenc vorbisfile wavpack xml2
|
||||
|
||||
WANTLIB-jack += ${WANTLIB} jack
|
||||
|
||||
MASTER_SITES = http://distfiles.atheme.org/
|
||||
|
||||
EXTRACT_SUFX = .tgz
|
||||
MASTER_SITES = http://distfiles.audacious-media-player.org/
|
||||
|
||||
EXTRACT_SUFX = .tar.bz2
|
||||
|
||||
MODULES = devel/gettext
|
||||
|
||||
@ -58,20 +53,17 @@ LIB_DEPENDS-main = audio/faad \
|
||||
audio/libsamplerate \
|
||||
audio/libsndfile \
|
||||
audio/libvorbis \
|
||||
audio/mpg123 \
|
||||
audio/wavpack \
|
||||
devel/libnotify>=0.7.2 \
|
||||
devel/sdl \
|
||||
graphics/ffmpeg \
|
||||
net/curl \
|
||||
net/neon \
|
||||
textproc/libxml \
|
||||
x11/gtk+2 \
|
||||
x11/dbus-glib \
|
||||
devel/mcs
|
||||
x11/gtk+3 \
|
||||
x11/dbus-glib
|
||||
LIB_DEPENDS-jack = audio/jack \
|
||||
x11/gtk+2 \
|
||||
x11/dbus-glib \
|
||||
devel/mcs
|
||||
x11/gtk+3
|
||||
|
||||
PSEUDO_FLAVORS = no_jack
|
||||
FLAVOR ?=
|
||||
|
@ -1,5 +1,5 @@
|
||||
MD5 (audacious-plugins-2.4.5.tgz) = g+/0fKBj2ZVadwOcHhwYow==
|
||||
RMD160 (audacious-plugins-2.4.5.tgz) = wjJa9muqpGJx2wcjAuu6QqRQWBQ=
|
||||
SHA1 (audacious-plugins-2.4.5.tgz) = naSKTgkk/j+1tUEu3aGkTJEGSXg=
|
||||
SHA256 (audacious-plugins-2.4.5.tgz) = gw+mQ+/lmpBsEKmnTV4QXwHsISbTEBdSUUPG7oLXIS8=
|
||||
SIZE (audacious-plugins-2.4.5.tgz) = 3422727
|
||||
MD5 (audacious-plugins-3.2.tar.bz2) = LfCxBb8GYvEW3i7L4MChBw==
|
||||
RMD160 (audacious-plugins-3.2.tar.bz2) = ldCPNFm13nnrD/9RI/SS3W3I3Jg=
|
||||
SHA1 (audacious-plugins-3.2.tar.bz2) = ScwKBf3e+LFzDwjQoL+eR5fNOT0=
|
||||
SHA256 (audacious-plugins-3.2.tar.bz2) = X2AL+AaL39MGtSMMMz9F1cAS3XFyinslD+g5lW7gmQQ=
|
||||
SIZE (audacious-plugins-3.2.tar.bz2) = 1978199
|
||||
|
@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008,2009 Thomas Pfaff <tpfaff@tp76.info>
|
||||
* Copyright (c) 2008, 2009 Thomas Pfaff <tpfaff@tp76.info>
|
||||
* Copyright (c) 2012 Alexandre Ratchov <alex@caoua.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@ -14,14 +15,14 @@
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <sndio.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <pthread.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <libmcs/mcs.h>
|
||||
#include <sndio.h>
|
||||
#include <audacious/configdb.h>
|
||||
#include <audacious/plugin.h>
|
||||
#include <audacious/misc.h>
|
||||
#include <audacious/i18n.h>
|
||||
#include <audacious/plugin.h>
|
||||
#include <libaudgui/libaudgui.h>
|
||||
@ -29,22 +30,25 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
OutputPluginInitStatus sndio_init(void);
|
||||
bool_t sndio_init(void);
|
||||
void sndio_cleanup(void);
|
||||
void sndio_about(void);
|
||||
int sndio_take_message(const char *, const void *, int);
|
||||
void sndio_configure(void);
|
||||
void sndio_get_volume(gint *, gint *);
|
||||
void sndio_set_volume(gint, gint);
|
||||
gint sndio_open(gint, gint, gint);
|
||||
void sndio_write(gpointer, gint);
|
||||
void sndio_get_volume(int *, int *);
|
||||
void sndio_set_volume(int, int);
|
||||
bool_t sndio_open(int, int, int);
|
||||
void sndio_close(void);
|
||||
void sndio_flush(gint);
|
||||
void sndio_pause(gshort);
|
||||
gint sndio_free(void);
|
||||
gint sndio_playing(void);
|
||||
gint sndio_output_time(void);
|
||||
gint sndio_written_time(void);
|
||||
void sndio_write(void *, int);
|
||||
void sndio_pause(bool_t);
|
||||
void sndio_flush(int);
|
||||
int sndio_output_time(void);
|
||||
int sndio_written_time(void);
|
||||
void sndio_drain(void);
|
||||
void sndio_set_written_time(int);
|
||||
|
||||
void onmove_cb(void *, int);
|
||||
void onvol_cb(void *, unsigned);
|
||||
|
||||
void configure_win_ok_cb(GtkWidget *, gpointer);
|
||||
|
||||
@ -52,20 +56,25 @@ static struct sio_par par;
|
||||
static struct sio_hdl *hdl;
|
||||
static long long rdpos;
|
||||
static long long wrpos;
|
||||
static int paused;
|
||||
static int volume;
|
||||
static long bytes_per_sec;
|
||||
static int paused, flushed, volume;
|
||||
static int flush_time, pause_flag, volume_target;
|
||||
static int writing, pause_pending, flush_pending, volume_pending;
|
||||
static int bytes_per_sec;
|
||||
static pthread_mutex_t mtx;
|
||||
static pthread_t sndio_thread;
|
||||
|
||||
static GtkWidget *configure_win;
|
||||
static GtkWidget *adevice_entry;
|
||||
static gchar *audiodev;
|
||||
|
||||
OutputPlugin sndio_op = {
|
||||
.description = "Sndio Output Plugin",
|
||||
AUD_OUTPUT_PLUGIN
|
||||
(
|
||||
.name = "sndio",
|
||||
.init = sndio_init,
|
||||
.cleanup = NULL,
|
||||
.cleanup = sndio_cleanup,
|
||||
.about = sndio_about,
|
||||
.configure = sndio_configure,
|
||||
.probe_priority = 2,
|
||||
.get_volume = sndio_get_volume,
|
||||
.set_volume = sndio_set_volume,
|
||||
.open_audio = sndio_open,
|
||||
@ -73,15 +82,70 @@ OutputPlugin sndio_op = {
|
||||
.close_audio = sndio_close,
|
||||
.flush = sndio_flush,
|
||||
.pause = sndio_pause,
|
||||
.buffer_free = sndio_free,
|
||||
.buffer_playing = sndio_playing,
|
||||
.output_time = sndio_output_time,
|
||||
.written_time = sndio_written_time
|
||||
.written_time = sndio_written_time,
|
||||
.set_written_time = sndio_set_written_time,
|
||||
.drain = sndio_drain
|
||||
)
|
||||
|
||||
static struct fmt_to_par {
|
||||
int fmt, bits, sig, le;
|
||||
} fmt_to_par[] = {
|
||||
{FMT_S8, 8, 1, 0}, {FMT_U8, 8, 1, 0},
|
||||
{FMT_S16_LE, 16, 1, 1}, {FMT_S16_BE, 16, 1, 0},
|
||||
{FMT_U16_LE, 16, 0, 1}, {FMT_U16_BE, 16, 0, 0},
|
||||
{FMT_S24_LE, 24, 1, 1}, {FMT_S24_BE, 24, 1, 0},
|
||||
{FMT_U24_LE, 24, 0, 1}, {FMT_U24_BE, 24, 0, 0},
|
||||
{FMT_S32_LE, 32, 1, 1}, {FMT_S32_BE, 32, 1, 0},
|
||||
{FMT_U32_LE, 32, 0, 1}, {FMT_U32_BE, 32, 0, 0}
|
||||
};
|
||||
|
||||
OutputPlugin *sndio_oplist[] = { &sndio_op, NULL };
|
||||
static void
|
||||
volume_do(int v)
|
||||
{
|
||||
if (writing) {
|
||||
volume_target = v;
|
||||
volume_pending = 1;
|
||||
} else {
|
||||
if (hdl)
|
||||
sio_setvol(hdl, v * SIO_MAXVOL / 100);
|
||||
volume_pending = 0;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE_OUTPUT_PLUGIN(sndio, sndio_oplist);
|
||||
static void
|
||||
pause_do(int flag)
|
||||
{
|
||||
if (writing) {
|
||||
pause_flag = flag;
|
||||
pause_pending = 1;
|
||||
} else {
|
||||
if (flag && !paused && !flushed) {
|
||||
sio_stop(hdl);
|
||||
sio_start(hdl);
|
||||
rdpos = wrpos;
|
||||
}
|
||||
paused = flag;
|
||||
pause_pending = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
flush_do(int time)
|
||||
{
|
||||
if (writing) {
|
||||
flush_time = time;
|
||||
flush_pending = 1;
|
||||
} else {
|
||||
if (!paused && !flushed) {
|
||||
sio_stop(hdl);
|
||||
sio_start(hdl);
|
||||
}
|
||||
rdpos = wrpos = (long long)time * bytes_per_sec / 1000;
|
||||
flush_pending = 0;
|
||||
flushed = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
sndio_about(void)
|
||||
@ -94,209 +158,236 @@ sndio_about(void)
|
||||
"Written by Thomas Pfaff <tpfaff@tp76.info>\n"));
|
||||
}
|
||||
|
||||
OutputPluginInitStatus
|
||||
static const gchar * const sndio_defaults[] = {
|
||||
"volume", "100",
|
||||
"audiodev", "",
|
||||
NULL,
|
||||
};
|
||||
|
||||
bool_t
|
||||
sndio_init(void)
|
||||
{
|
||||
mcs_handle_t *cfgfile;
|
||||
pthread_mutex_init(&mtx, NULL);
|
||||
|
||||
cfgfile = aud_cfg_db_open();
|
||||
aud_cfg_db_get_int(cfgfile, "sndio", "volume", &volume);
|
||||
aud_cfg_db_get_string(cfgfile, "sndio", "audiodev", &audiodev);
|
||||
aud_cfg_db_close(cfgfile);
|
||||
aud_config_set_defaults("sndio", sndio_defaults);
|
||||
volume = aud_get_int("sndio", "volume");
|
||||
audiodev = aud_get_string("sndio", "audiodev");
|
||||
|
||||
if (!volume)
|
||||
volume = 100;
|
||||
if (!audiodev)
|
||||
audiodev = g_strdup("");
|
||||
|
||||
return (OUTPUT_PLUGIN_INIT_FOUND_DEVICES);
|
||||
return (1);
|
||||
}
|
||||
|
||||
void
|
||||
sndio_get_volume(gint *l, gint *r)
|
||||
sndio_cleanup(void)
|
||||
{
|
||||
*l = *r = volume;
|
||||
aud_set_int("sndio", "volume", volume);
|
||||
aud_set_string("sndio", "audiodev", audiodev);
|
||||
pthread_mutex_destroy(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
sndio_set_volume(gint l, gint r)
|
||||
sndio_get_volume(int *l, int *r)
|
||||
{
|
||||
pthread_mutex_lock(&mtx);
|
||||
*l = *r = volume;
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
sndio_set_volume(int l, int r)
|
||||
{
|
||||
/* Ignore balance control, so use unattenuated channel. */
|
||||
pthread_mutex_lock(&mtx);
|
||||
volume = l > r ? l : r;
|
||||
if (hdl)
|
||||
sio_setvol(hdl, volume * SIO_MAXVOL / 100);
|
||||
volume_do(volume);
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
gint
|
||||
sndio_open(gint fmt, gint rate, gint nch)
|
||||
bool_t
|
||||
sndio_open(int fmt, int rate, int nch)
|
||||
{
|
||||
int i;
|
||||
struct sio_par askpar;
|
||||
GtkWidget *dialog = NULL;
|
||||
|
||||
hdl = sio_open(strlen(audiodev) > 0 ? audiodev : NULL, SIO_PLAY, 0);
|
||||
if (!hdl) {
|
||||
g_warning("failed to open audio device %s", audiodev);
|
||||
return (0);
|
||||
}
|
||||
|
||||
sio_initpar(&par);
|
||||
switch (fmt) {
|
||||
case FMT_U8:
|
||||
par.bits = 8;
|
||||
par.sig = 0;
|
||||
break;
|
||||
case FMT_S8:
|
||||
par.bits = 8;
|
||||
par.sig = 1;
|
||||
break;
|
||||
case FMT_U16_LE:
|
||||
par.bits = 16;
|
||||
par.sig = 0;
|
||||
par.le = 1;
|
||||
break;
|
||||
case FMT_U16_BE:
|
||||
par.bits = 16;
|
||||
par.sig = 0;
|
||||
par.le = 0;
|
||||
break;
|
||||
case FMT_S16_LE:
|
||||
par.bits = 16;
|
||||
par.sig = 1;
|
||||
par.le = 1;
|
||||
break;
|
||||
case FMT_S16_BE:
|
||||
par.bits = 16;
|
||||
par.sig = 1;
|
||||
par.le = 0;
|
||||
default:
|
||||
g_warning("unknown format %d requested", fmt);
|
||||
sndio_close();
|
||||
return (0);
|
||||
sio_initpar(&askpar);
|
||||
for (i = 0; ; i++) {
|
||||
if (i == sizeof(fmt_to_par) / sizeof(struct fmt_to_par)) {
|
||||
g_warning("unknown format %d requested", fmt);
|
||||
sndio_close();
|
||||
return 0;
|
||||
}
|
||||
if (fmt_to_par[i].fmt == fmt)
|
||||
break;
|
||||
}
|
||||
par.pchan = nch;
|
||||
par.rate = rate;
|
||||
|
||||
/* 250 ms buffer */
|
||||
par.appbufsz = par.rate / 4;
|
||||
|
||||
askpar = par;
|
||||
if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
|
||||
askpar.bits = fmt_to_par[i].bits;
|
||||
askpar.bps = SIO_BPS(askpar.bits);
|
||||
askpar.sig = fmt_to_par[i].sig;
|
||||
if (askpar.bits > 8)
|
||||
askpar.le = fmt_to_par[i].le;
|
||||
askpar.pchan = nch;
|
||||
askpar.rate = rate;
|
||||
askpar.appbufsz = aud_get_int(NULL, "output_buffer_size");
|
||||
if (!sio_setpar(hdl, &askpar) || !sio_getpar(hdl, &par)) {
|
||||
g_warning("failed to set parameters");
|
||||
sndio_close();
|
||||
return (0);
|
||||
}
|
||||
|
||||
if ((par.bits == 16 && par.le != askpar.le) ||
|
||||
par.bits != askpar.bits ||
|
||||
if ((par.bps > 1 && par.le != askpar.le) ||
|
||||
(par.bits < par.bps * 8 && !par.msb) ||
|
||||
par.bps != askpar.bps ||
|
||||
par.sig != askpar.sig ||
|
||||
par.pchan != askpar.pchan ||
|
||||
par.rate != askpar.rate) {
|
||||
GtkWidget *dialog = NULL;
|
||||
g_warning("parameters not supported");
|
||||
g_warning("parameters not supported by the audio device");
|
||||
audgui_simple_message(&dialog, GTK_MESSAGE_INFO,
|
||||
_("Unsupported format"),
|
||||
_("A format not supported by the audio device "
|
||||
"was requested.\n\n"
|
||||
"Please try again with the aucat(1) server running."));
|
||||
"Please try again with the sndiod(1) server running."));
|
||||
sndio_close();
|
||||
return (0);
|
||||
}
|
||||
|
||||
rdpos = 0;
|
||||
wrpos = 0;
|
||||
sio_onmove(hdl, onmove_cb, NULL);
|
||||
|
||||
paused = 0;
|
||||
sio_onvol(hdl, onvol_cb, NULL);
|
||||
volume_do(volume);
|
||||
if (!sio_start(hdl)) {
|
||||
g_warning("failed to start audio device");
|
||||
sndio_close();
|
||||
return (0);
|
||||
}
|
||||
|
||||
pause_pending = flush_pending = volume_pending = 0;
|
||||
bytes_per_sec = par.bps * par.pchan * par.rate;
|
||||
|
||||
sndio_set_volume(volume, volume);
|
||||
flushed = 1;
|
||||
paused = 0;
|
||||
return (1);
|
||||
}
|
||||
|
||||
void
|
||||
sndio_write(gpointer ptr, gint length)
|
||||
sndio_write(void *ptr, int length)
|
||||
{
|
||||
if (!paused)
|
||||
wrpos += sio_write(hdl, ptr, length);
|
||||
unsigned n;
|
||||
|
||||
pthread_mutex_lock(&mtx);
|
||||
flushed = 0;
|
||||
if (!paused) {
|
||||
writing = 1;
|
||||
pthread_mutex_unlock(&mtx);
|
||||
n = sio_write(hdl, ptr, length);
|
||||
pthread_mutex_lock(&mtx);
|
||||
writing = 0;
|
||||
wrpos += n;
|
||||
}
|
||||
if (volume_pending)
|
||||
volume_do(volume);
|
||||
if (flush_pending)
|
||||
flush_do(flush_time);
|
||||
if (pause_pending)
|
||||
pause_do(pause_flag);
|
||||
if (paused) {
|
||||
pthread_mutex_unlock(&mtx);
|
||||
usleep(10000);
|
||||
pthread_mutex_lock(&mtx);
|
||||
}
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
sndio_close(void)
|
||||
{
|
||||
mcs_handle_t *cfgfile;
|
||||
|
||||
if (!hdl)
|
||||
return;
|
||||
|
||||
cfgfile = aud_cfg_db_open();
|
||||
aud_cfg_db_set_int(cfgfile, "sndio", "volume", volume);
|
||||
aud_cfg_db_close(cfgfile);
|
||||
|
||||
sio_close(hdl);
|
||||
hdl = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
sndio_flush(gint time)
|
||||
sndio_flush(int time)
|
||||
{
|
||||
int bufused = (rdpos < 0) ? wrpos : wrpos - rdpos;
|
||||
rdpos = time / 1000 * bytes_per_sec;
|
||||
wrpos = rdpos + bufused;
|
||||
pthread_mutex_lock(&mtx);
|
||||
flush_do(time);
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
sndio_pause(gshort flag)
|
||||
{
|
||||
paused = flag;
|
||||
sndio_pause(bool_t flag)
|
||||
{
|
||||
pthread_mutex_lock(&mtx);
|
||||
pause_do(flag);
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
gint
|
||||
sndio_free(void)
|
||||
void
|
||||
sndio_drain(void)
|
||||
{
|
||||
return (paused ? 0 : 1000000);
|
||||
/* sndio always drains */
|
||||
}
|
||||
|
||||
gint
|
||||
sndio_playing(void)
|
||||
{
|
||||
return (paused ? TRUE : FALSE);
|
||||
}
|
||||
|
||||
gint
|
||||
int
|
||||
sndio_output_time(void)
|
||||
{
|
||||
return (hdl ? rdpos * 1000 / bytes_per_sec : 0);
|
||||
int time;
|
||||
|
||||
pthread_mutex_lock(&mtx);
|
||||
time = rdpos * 1000 / bytes_per_sec;
|
||||
pthread_mutex_unlock(&mtx);
|
||||
return time;
|
||||
}
|
||||
|
||||
gint
|
||||
int
|
||||
sndio_written_time(void)
|
||||
{
|
||||
return (hdl ? wrpos * 1000 / bytes_per_sec : 0);
|
||||
int time;
|
||||
|
||||
pthread_mutex_lock(&mtx);
|
||||
time = wrpos * 1000 / bytes_per_sec;
|
||||
pthread_mutex_unlock(&mtx);
|
||||
return time;
|
||||
}
|
||||
|
||||
void
|
||||
sndio_set_written_time(int time)
|
||||
{
|
||||
int used;
|
||||
|
||||
pthread_mutex_lock(&mtx);
|
||||
wrpos = time * bytes_per_sec / 1000;
|
||||
used = wrpos - rdpos;
|
||||
rdpos = time * bytes_per_sec / 1000;
|
||||
wrpos = rdpos + used;
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
onmove_cb(void *addr, int delta)
|
||||
{
|
||||
rdpos += delta *(int)(par.bps * par.pchan);
|
||||
pthread_mutex_lock(&mtx);
|
||||
rdpos += delta * (int)(par.bps * par.pchan);
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
onvol_cb(void *addr, unsigned ctl)
|
||||
{
|
||||
/* Update volume only if it actually changed */
|
||||
pthread_mutex_lock(&mtx);
|
||||
if (ctl != volume * SIO_MAXVOL / 100)
|
||||
volume = ctl * 100 / SIO_MAXVOL;
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
void
|
||||
configure_win_ok_cb(GtkWidget *w, gpointer data)
|
||||
{
|
||||
mcs_handle_t *cfgfile;
|
||||
|
||||
strlcpy(audiodev, gtk_entry_get_text(GTK_ENTRY(adevice_entry)),
|
||||
PATH_MAX);
|
||||
|
||||
cfgfile = aud_cfg_db_open();
|
||||
aud_cfg_db_set_string(cfgfile, "sndio", "audiodev", audiodev);
|
||||
aud_cfg_db_close(cfgfile);
|
||||
|
||||
aud_set_string("sndio", "audiodev", audiodev);
|
||||
gtk_widget_destroy(configure_win);
|
||||
}
|
||||
|
||||
@ -313,13 +404,13 @@ sndio_configure(void)
|
||||
}
|
||||
|
||||
configure_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||
gtk_signal_connect(GTK_OBJECT(configure_win), "destroy",
|
||||
GTK_SIGNAL_FUNC(gtk_widget_destroyed), &configure_win);
|
||||
g_signal_connect(configure_win, "destroy",
|
||||
G_CALLBACK(gtk_widget_destroyed), &configure_win);
|
||||
|
||||
gtk_window_set_title(GTK_WINDOW(configure_win), _("sndio device"));
|
||||
gtk_window_set_policy(GTK_WINDOW(configure_win), FALSE, FALSE, FALSE);
|
||||
gtk_window_set_resizable(GTK_WINDOW(configure_win), FALSE);
|
||||
gtk_window_set_position(GTK_WINDOW(configure_win), GTK_WIN_POS_MOUSE);
|
||||
gtk_container_border_width(GTK_CONTAINER(configure_win), 10);
|
||||
gtk_container_set_border_width(GTK_CONTAINER(configure_win), 10);
|
||||
|
||||
vbox = gtk_vbox_new(FALSE, 5);
|
||||
gtk_container_add(GTK_CONTAINER(configure_win), vbox);
|
||||
@ -333,31 +424,30 @@ sndio_configure(void)
|
||||
gtk_container_add(GTK_CONTAINER(adevice_frame), adevice_vbox);
|
||||
|
||||
adevice_text = gtk_label_new(_("(empty means default)"));
|
||||
gtk_box_pack_start_defaults(GTK_BOX(adevice_vbox), adevice_text);
|
||||
gtk_box_pack_start(GTK_BOX(adevice_vbox), adevice_text, TRUE, TRUE, 0);
|
||||
|
||||
adevice_entry = gtk_entry_new();
|
||||
gtk_entry_set_text(GTK_ENTRY(adevice_entry), audiodev);
|
||||
gtk_box_pack_start_defaults(GTK_BOX(adevice_vbox), adevice_entry);
|
||||
gtk_box_pack_start(GTK_BOX(adevice_vbox), adevice_entry, TRUE, TRUE, 0);
|
||||
|
||||
bbox = gtk_hbutton_box_new();
|
||||
gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
|
||||
gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
|
||||
gtk_box_set_spacing(GTK_BOX(bbox), 5);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
|
||||
|
||||
ok = gtk_button_new_with_label(_("OK"));
|
||||
gtk_signal_connect(GTK_OBJECT(ok), "clicked",
|
||||
GTK_SIGNAL_FUNC(configure_win_ok_cb), NULL);
|
||||
g_signal_connect(ok, "clicked",
|
||||
G_CALLBACK(configure_win_ok_cb), NULL);
|
||||
|
||||
GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT);
|
||||
gtk_widget_set_can_default(ok, TRUE);
|
||||
gtk_box_pack_start(GTK_BOX(bbox), ok, TRUE, TRUE, 0);
|
||||
gtk_widget_grab_default(ok);
|
||||
|
||||
cancel = gtk_button_new_with_label(_("Cancel"));
|
||||
gtk_signal_connect_object(GTK_OBJECT(cancel), "clicked",
|
||||
GTK_SIGNAL_FUNC(gtk_widget_destroy),
|
||||
GTK_OBJECT(configure_win));
|
||||
g_signal_connect(cancel, "clicked",
|
||||
G_CALLBACK(gtk_widget_destroy), &configure_win);
|
||||
|
||||
GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT);
|
||||
gtk_widget_set_can_default(cancel, TRUE);
|
||||
gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0);
|
||||
|
||||
gtk_widget_show_all(configure_win);
|
||||
|
@ -1,11 +0,0 @@
|
||||
$OpenBSD: patch-aclocal_m4,v 1.3 2010/12/19 18:19:56 shadchin Exp $
|
||||
--- aclocal.m4.orig Thu Aug 26 05:07:52 2010
|
||||
+++ aclocal.m4 Sat Dec 4 19:18:52 2010
|
||||
@@ -460,7 +460,6 @@ m4_include([m4/buildsys.m4])
|
||||
m4_include([m4/gettext.m4])
|
||||
m4_include([m4/iconv.m4])
|
||||
m4_include([m4/isc-posix.m4])
|
||||
-m4_include([m4/jack.m4])
|
||||
m4_include([m4/lib-ld.m4])
|
||||
m4_include([m4/lib-link.m4])
|
||||
m4_include([m4/lib-prefix.m4])
|
@ -1,12 +1,12 @@
|
||||
$OpenBSD: patch-buildsys_mk_in,v 1.3 2010/12/19 18:19:56 shadchin Exp $
|
||||
--- buildsys.mk.in.orig Thu Aug 26 05:07:49 2010
|
||||
+++ buildsys.mk.in Sat Dec 4 19:18:52 2010
|
||||
@@ -92,7 +92,7 @@ OBJS += ${OBJS9:.S=.o}
|
||||
$OpenBSD: patch-buildsys_mk_in,v 1.4 2012/03/20 19:10:56 stsp Exp $
|
||||
--- buildsys.mk.in.orig Fri Jan 20 20:48:30 2012
|
||||
+++ buildsys.mk.in Sun Feb 5 19:59:45 2012
|
||||
@@ -100,7 +100,7 @@ PLUGIN_OBJS = ${OBJS:.o=.plugin.o}
|
||||
|
||||
MO_FILES = ${LOCALES:.po=.mo}
|
||||
|
||||
-.SILENT:
|
||||
+#.SILENT:
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .beam .c .cc .cxx .d .dep .erl .mo .m .mm .o .po .py .pyc .xpm .S
|
||||
.PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean
|
||||
.SUFFIXES: .beam .c .c.dep .cc .cc.dep .class .cxx .cxx.dep .d .erl .lib.o .java .mo .m .m.dep .mm .mm.dep .o .plugin.o .po .py .pyc .rc .S .S.dep .xpm
|
||||
.PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean locales
|
||||
|
@ -1,54 +1,7 @@
|
||||
$OpenBSD: patch-configure_ac,v 1.8 2011/05/08 14:08:44 dcoppa Exp $
|
||||
--- configure.ac.orig Sun Apr 17 15:29:25 2011
|
||||
+++ configure.ac Wed May 4 11:22:08 2011
|
||||
@@ -810,13 +810,21 @@ AC_ARG_ENABLE( jack,
|
||||
[enable_jack="yes"])
|
||||
|
||||
if test "x$enable_jack" = "xyes"; then
|
||||
- AM_PATH_JACK(have_jack=yes, have_jack=no)
|
||||
+ PKG_CHECK_MODULES(JACK, jack >= 0.109.10, , [AC_MSG_WARN(
|
||||
+ [*** Cannot find jack 0.109.10 or newer, jack will not be built ***])
|
||||
+ enable_jack=no])
|
||||
else
|
||||
AC_MSG_RESULT([*** jack plugin disabled per user request ***])
|
||||
- have_jack=no
|
||||
+ enable_jack=no
|
||||
fi
|
||||
|
||||
-if test "x$have_jack" = "xyes"; then
|
||||
+if test "x$enable_jack" = xyes; then
|
||||
+ PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.0.15, , [AC_MSG_WARN(
|
||||
+ [Could not find libsamplerate, necessary for jack output plugin.])
|
||||
+ enable_jack=no])
|
||||
+fi
|
||||
+
|
||||
+if test "x$enable_jack" = xyes; then
|
||||
OUTPUT_PLUGINS="$OUTPUT_PLUGINS jack"
|
||||
fi
|
||||
|
||||
@@ -1197,7 +1205,7 @@ have_solaris=no
|
||||
have_sun=no
|
||||
ARCH_DEFINES=""
|
||||
case "$host" in
|
||||
- *-*-openbsd* | *-*-netbsd* | *-*-mirbsd*)
|
||||
+ *-*-netbsd* | *-*-mirbsd*)
|
||||
have_sun=yes
|
||||
if test "${is_elf}" = "no"
|
||||
then
|
||||
@@ -1205,6 +1213,12 @@ case "$host" in
|
||||
fi
|
||||
OUTPUT_PLUGINS="$OUTPUT_PLUGINS sun"
|
||||
;;
|
||||
+ *-*-openbsd*)
|
||||
+ if test "${is_elf}" = "no"
|
||||
+ then
|
||||
+ AC_DEFINE(SYMBOL_PREFIX, "_", [Define to symbol prefix, if any])
|
||||
+ fi
|
||||
+ ;;
|
||||
*-*-darwin*)
|
||||
AC_DEFINE(SYMBOL_PREFIX, "_", [Define to symbol prefix, if any])
|
||||
;;
|
||||
@@ -1558,6 +1572,20 @@ if test "x$enable_lyricwiki" = "xyes"; then
|
||||
$OpenBSD: patch-configure_ac,v 1.9 2012/03/20 19:10:56 stsp Exp $
|
||||
--- configure.ac.orig Fri Jan 20 20:48:30 2012
|
||||
+++ configure.ac Sun Feb 5 20:02:27 2012
|
||||
@@ -1092,6 +1092,20 @@ if test "x$enable_lyricwiki" = "xyes"; then
|
||||
GENERAL_PLUGINS="$GENERAL_PLUGINS lyricwiki"
|
||||
fi
|
||||
|
||||
@ -68,20 +21,11 @@ $OpenBSD: patch-configure_ac,v 1.8 2011/05/08 14:08:44 dcoppa Exp $
|
||||
+
|
||||
dnl *** End of all plugin checks ***
|
||||
|
||||
AC_SUBST(ARCH_DEFINES)
|
||||
@@ -1645,7 +1673,7 @@ echo " Open Sound System v4 (oss4): $have_
|
||||
echo " Advanced Linux Sound Arch. (alsa): $have_alsa"
|
||||
echo " PulseAudio (pulse): $have_pulse"
|
||||
echo " RoarAudio (roaraudio): $have_roar"
|
||||
-echo " Jack Audio Connection Kit (jack): $have_jack"
|
||||
+echo " Jack Audio Connection Kit (jack): $enable_jack"
|
||||
echo " BSD/SUN audio output (sun): $have_sun"
|
||||
echo " Mac OS X sound support (CoreAudio): $have_coreaudio"
|
||||
echo " FileWriter: $enable_filewriter"
|
||||
@@ -1653,6 +1681,7 @@ echo " -> FileWriter MP3 output part: $have_
|
||||
echo " -> FileWriter Vorbis output part: $have_vorbisenc"
|
||||
plugindir=`pkg-config audacious --variable=plugin_dir`
|
||||
@@ -1163,6 +1177,7 @@ echo " -> FileWriter Vorbis output part: $have_
|
||||
echo " -> FileWriter FLAC output part: $have_writer_flac"
|
||||
echo " Null Audio output (null): yes"
|
||||
echo " Open Sound System v3 (deprecated): $enable_oss"
|
||||
+echo " Sndio Audio output (sndio): $have_sndio"
|
||||
echo
|
||||
echo " Input Plugins"
|
||||
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-m4_libFLAC_m4,v 1.1 2008/04/02 00:39:19 fgsch Exp $
|
||||
--- m4/libFLAC.m4.orig Mon Mar 31 23:57:52 2008
|
||||
+++ m4/libFLAC.m4 Mon Mar 31 23:58:32 2008
|
||||
@@ -22,7 +22,7 @@ AC_ARG_ENABLE(libFLACtest, [ --disable-libFLACtest
|
||||
LIBFLAC_LIBS="-L$libdir"
|
||||
fi
|
||||
|
||||
- LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -lm"
|
||||
+ LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -logg -lm"
|
||||
|
||||
if test "x$libFLAC_includes" != "x" ; then
|
||||
LIBFLAC_CFLAGS="-I$libFLAC_includes"
|
@ -1,51 +1,15 @@
|
||||
$OpenBSD: patch-src_aac_libmp4_c,v 1.8 2011/05/08 14:08:44 dcoppa Exp $
|
||||
$OpenBSD: patch-src_aac_libmp4_c,v 1.9 2012/03/20 19:10:56 stsp Exp $
|
||||
|
||||
Our faad port uses a patched neaacdec.h header
|
||||
|
||||
--- src/aac/libmp4.c.orig Sun Apr 17 15:29:25 2011
|
||||
+++ src/aac/libmp4.c Wed May 4 12:04:11 2011
|
||||
@@ -64,7 +64,7 @@ static guint32 mp4_read_callback(void *data, void *buf
|
||||
return vfs_fread(buffer, 1, len, (VFSFile *) data);
|
||||
}
|
||||
|
||||
-static guint32 mp4_seek_callback (void * data, guint64 pos)
|
||||
+static guint32 mp4_seek_callback (void * data, uint64_t pos)
|
||||
{
|
||||
g_return_val_if_fail (data != NULL, -1);
|
||||
g_return_val_if_fail (pos <= G_MAXINT64, -1);
|
||||
@@ -353,7 +353,7 @@ static void calc_aac_info (VFSFile * handle, gint * le
|
||||
if (! initted)
|
||||
--- src/aac/libmp4.c.orig Fri Jan 20 20:48:30 2012
|
||||
+++ src/aac/libmp4.c Sun Feb 5 19:59:48 2012
|
||||
@@ -315,7 +315,7 @@ static void calc_aac_info (VFSFile * handle, gint * le
|
||||
if (!initted)
|
||||
{
|
||||
gint inner, a;
|
||||
- gulong r;
|
||||
+ guint r;
|
||||
guchar ch;
|
||||
|
||||
inner = find_aac_header (buffer + offset, filled, & a);
|
||||
@@ -583,7 +583,7 @@ static int my_decode_mp4( InputPlayback *playback, cha
|
||||
NeAACDecHandle decoder;
|
||||
guchar *buffer = NULL;
|
||||
guint bufferSize = 0;
|
||||
- gulong samplerate = 0;
|
||||
+ guint samplerate = 0;
|
||||
guchar channels = 0;
|
||||
guint numSamples;
|
||||
gulong sampleID = 1;
|
||||
@@ -771,7 +771,7 @@ static void aac_seek (VFSFile * file, NeAACDecHandle d
|
||||
}
|
||||
|
||||
guchar chan;
|
||||
- gulong rate;
|
||||
+ guint rate;
|
||||
* used += NeAACDecInit (dec, buf + * used, * fill - * used, & rate, & chan);
|
||||
|
||||
AUDDBG ("After init, used %d of %d bytes.\n", * used, * fill);
|
||||
@@ -782,7 +782,7 @@ void my_decode_aac( InputPlayback *playback, char *fil
|
||||
NeAACDecHandle decoder = 0;
|
||||
guchar streambuffer[BUFFER_SIZE];
|
||||
gint bufferconsumed = 0;
|
||||
- gulong samplerate = 0;
|
||||
+ guint samplerate = 0;
|
||||
guchar channels = 0;
|
||||
gint buffervalid = 0;
|
||||
gulong ret = 0;
|
||||
inner = find_aac_header (buffer + offset, filled, &a);
|
||||
|
@ -1,9 +1,12 @@
|
||||
$OpenBSD: patch-src_ladspa_Makefile,v 1.1 2010/12/19 18:19:56 shadchin Exp $
|
||||
--- src/ladspa/Makefile.orig Sat Dec 4 22:38:57 2010
|
||||
+++ src/ladspa/Makefile Sat Dec 4 22:39:04 2010
|
||||
@@ -9,4 +9,4 @@ plugindir := ${plugindir}/${EFFECT_PLUGIN_DIR}
|
||||
$OpenBSD: patch-src_ladspa_Makefile,v 1.2 2012/03/20 19:10:56 stsp Exp $
|
||||
--- src/ladspa/Makefile.orig Fri Jan 20 20:48:30 2012
|
||||
+++ src/ladspa/Makefile Sun Feb 5 19:59:48 2012
|
||||
@@ -9,7 +9,7 @@ include ../../buildsys.mk
|
||||
include ../../extra.mk
|
||||
|
||||
CFLAGS += ${PLUGIN_CFLAGS}
|
||||
CPPFLAGS += ${PLUGIN_CPPFLAGS} ${MOWGLI_CFLAGS} ${GTK_CFLAGS} ${GLIB_CFLAGS} -I../..
|
||||
-LIBS += ${GTK_LIBS} ${GLIB_LIBS} -ldl
|
||||
plugindir := ${plugindir}/${EFFECT_PLUGIN_DIR}
|
||||
-
|
||||
+LIBS += ${GTK_LIBS} ${GLIB_LIBS}
|
||||
CPPFLAGS += -I../.. ${PTHREAD_CFLAGS} ${GTK_CFLAGS}
|
||||
CFLAGS += ${PLUGIN_CFLAGS}
|
||||
LIBS += -lm ${PTHREAD_LIBS} ${GTK_LIBS}
|
||||
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-src_neon_cert_verification_c,v 1.1 2011/05/08 14:08:44 dcoppa Exp $
|
||||
--- src/neon/cert_verification.c.orig Wed May 4 11:57:45 2011
|
||||
+++ src/neon/cert_verification.c Wed May 4 11:58:05 2011
|
||||
@@ -17,7 +17,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
-#include <malloc.h>
|
||||
+#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <ne_ssl.h>
|
@ -1,6 +1,8 @@
|
||||
@comment $OpenBSD: PLIST-main,v 1.8 2010/12/27 12:08:21 shadchin Exp $
|
||||
@comment $OpenBSD: PLIST-main,v 1.9 2012/03/20 19:10:56 stsp Exp $
|
||||
lib/audacious/
|
||||
lib/audacious/Container/
|
||||
lib/audacious/Container/asx.so
|
||||
lib/audacious/Container/audpl.so
|
||||
lib/audacious/Container/cue.so
|
||||
lib/audacious/Container/m3u.so
|
||||
lib/audacious/Container/pls.so
|
||||
@ -11,33 +13,33 @@ lib/audacious/Effect/crossfade.so
|
||||
lib/audacious/Effect/crystalizer.so
|
||||
lib/audacious/Effect/echo.so
|
||||
lib/audacious/Effect/ladspa.so
|
||||
lib/audacious/Effect/mixer.so
|
||||
lib/audacious/Effect/resample.so
|
||||
lib/audacious/Effect/sndstretch.so
|
||||
lib/audacious/Effect/stereo.so
|
||||
lib/audacious/Effect/voice_removal.so
|
||||
lib/audacious/General/
|
||||
lib/audacious/General/alarm.so
|
||||
lib/audacious/General/albumart.so
|
||||
lib/audacious/General/aosd.so
|
||||
lib/audacious/General/cd-menu-items.so
|
||||
lib/audacious/General/gnomeshortcuts.so
|
||||
lib/audacious/General/gtkui.so
|
||||
lib/audacious/General/hotkey.so
|
||||
lib/audacious/General/lyricwiki.so
|
||||
lib/audacious/General/mpris2.so
|
||||
lib/audacious/General/notify.so
|
||||
lib/audacious/General/scrobbler.so
|
||||
lib/audacious/General/search-tool.so
|
||||
lib/audacious/General/skins.so
|
||||
lib/audacious/General/song_change.so
|
||||
lib/audacious/General/statusicon.so
|
||||
lib/audacious/General/streambrowser.so
|
||||
lib/audacious/Input/
|
||||
lib/audacious/Input/aac.so
|
||||
lib/audacious/Input/cdaudio-ng.so
|
||||
lib/audacious/Input/console.so
|
||||
lib/audacious/Input/ffaudio.so
|
||||
lib/audacious/Input/flacng.so
|
||||
lib/audacious/Input/madplug.so
|
||||
lib/audacious/Input/metronom.so
|
||||
lib/audacious/Input/modplug.so
|
||||
lib/audacious/Input/psf2.so
|
||||
lib/audacious/Input/sndfile.so
|
||||
lib/audacious/Input/tonegen.so
|
||||
@ -48,16 +50,14 @@ lib/audacious/Input/xsf.so
|
||||
lib/audacious/Output/
|
||||
lib/audacious/Output/filewriter.so
|
||||
lib/audacious/Output/null.so
|
||||
lib/audacious/Output/sdlout.so
|
||||
lib/audacious/Output/sndio.so
|
||||
lib/audacious/Transport/
|
||||
lib/audacious/Transport/gio.so
|
||||
lib/audacious/Transport/neon.so
|
||||
lib/audacious/Transport/unix-io.so
|
||||
lib/audacious/Visualization/
|
||||
lib/audacious/Visualization/blur_scope.so
|
||||
lib/audacious/Visualization/paranormal.so
|
||||
lib/audacious/Visualization/rocklight.so
|
||||
lib/audacious/Visualization/spectrum.so
|
||||
lib/audacious/Visualization/cairo-spectrum.so
|
||||
share/audacious/Skins/
|
||||
share/audacious/Skins/Classic/
|
||||
share/audacious/Skins/Classic/balance.png
|
||||
@ -101,119 +101,6 @@ share/audacious/Skins/Default/
|
||||
share/audacious/Skins/Default/cbuttons.png
|
||||
share/audacious/Skins/Default/eq_ex.png
|
||||
share/audacious/Skins/Default/eqmain.png
|
||||
share/audacious/Skins/Default/gtk-2.0/
|
||||
share/audacious/Skins/Default/gtk-2.0/Arrows/
|
||||
share/audacious/Skins/Default/gtk-2.0/Arrows/arrow-down.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Arrows/arrow-insens.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Arrows/arrow-left.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Arrows/arrow-right.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Arrows/arrow-up.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Buttons/
|
||||
share/audacious/Skins/Default/gtk-2.0/Buttons/button-insensitive.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Buttons/button-normal.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Buttons/button-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/check1.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/check2.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/check3.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/check4.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/check5.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/check6.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/option1.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/option2.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/option3.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/option4.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/option5.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Check-Radio/option6.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Frame-Gap/
|
||||
share/audacious/Skins/Default/gtk-2.0/Frame-Gap/frame-gap-end.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Frame-Gap/frame-gap-start.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Frame-Gap/frame.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Handles/
|
||||
share/audacious/Skins/Default/gtk-2.0/Handles/handle-h.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Handles/handle-v.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Lines/
|
||||
share/audacious/Skins/Default/gtk-2.0/Lines/line-h.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Lines/line-v.png
|
||||
share/audacious/Skins/Default/gtk-2.0/ListHeaders/
|
||||
share/audacious/Skins/Default/gtk-2.0/ListHeaders/list_header-insens.png
|
||||
share/audacious/Skins/Default/gtk-2.0/ListHeaders/list_header-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/ListHeaders/list_header-pressed.png
|
||||
share/audacious/Skins/Default/gtk-2.0/ListHeaders/list_header.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Menu-Menubar/
|
||||
share/audacious/Skins/Default/gtk-2.0/Menu-Menubar/menu.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Menu-Menubar/menubar-item-active.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Menu-Menubar/menubar-item.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Menu-Menubar/menubar.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Others/
|
||||
share/audacious/Skins/Default/gtk-2.0/Others/null.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Others/ruler.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Panel/
|
||||
share/audacious/Skins/Default/gtk-2.0/Panel/panel-bg.png
|
||||
share/audacious/Skins/Default/gtk-2.0/ProgressBar/
|
||||
share/audacious/Skins/Default/gtk-2.0/ProgressBar/progressbar-horiz.png
|
||||
share/audacious/Skins/Default/gtk-2.0/ProgressBar/trough-progressbar-horiz.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/slider-horiz-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/slider-horiz.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/slider-vert-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/slider-vert.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/trough-horizontal.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Range/trough-vertical.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz-pre.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert-pre.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/slider-horiz-pre.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/slider-horiz.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/slider-vert-pre.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/slider-vert.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-down-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-down.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-left-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-left.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-right-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-right.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-up-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/stepper-up.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-horiz.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-vert.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Shadows/
|
||||
share/audacious/Skins/Default/gtk-2.0/Shadows/shadow-in.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Shadows/shadow-out.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Shadows/text-.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Shadows/text-entry.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/spin-down-disable.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/spin-down-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/spin-down.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/spin-up-disable.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/spin-up-prelight.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Spin/spin-up.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-bottom-left.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-bottom-right.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-left-bottom.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-left-top.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-right-bottom.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-right-top.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-top-current.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-top-left.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/gap-top-right.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/notebook.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-bottom-active.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-bottom.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-left-active.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-left.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-right-active.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-right.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-top-active.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Tabs/tab-top.png
|
||||
share/audacious/Skins/Default/gtk-2.0/Toolbar/
|
||||
share/audacious/Skins/Default/gtk-2.0/Toolbar/toolbar.png
|
||||
share/audacious/Skins/Default/gtk-2.0/gtkrc
|
||||
share/audacious/Skins/Default/gtk-2.0/panel.rc
|
||||
share/audacious/Skins/Default/main.png
|
||||
share/audacious/Skins/Default/monoster.png
|
||||
share/audacious/Skins/Default/nums_ex.png
|
||||
@ -298,67 +185,32 @@ share/audacious/Skins/TinyPlayer/text.png
|
||||
share/audacious/Skins/TinyPlayer/titlebar.png
|
||||
share/audacious/Skins/TinyPlayer/viscolor.txt
|
||||
share/audacious/Skins/TinyPlayer/volume.png
|
||||
share/audacious/images/bookmarks.png
|
||||
share/audacious/images/shoutcast.png
|
||||
share/audacious/images/streambrowser-16x16.png
|
||||
share/audacious/images/streambrowser-64x64.png
|
||||
share/audacious/images/xiph.png
|
||||
share/audacious/paranormal/
|
||||
share/audacious/paranormal/Presets/
|
||||
share/audacious/paranormal/Presets/aerdan_-_bloody_vortex.pnv
|
||||
share/audacious/paranormal/Presets/aerdan_-_cloudscape.pnv
|
||||
share/audacious/paranormal/Presets/aerdan_-_cloudscape2.pnv
|
||||
share/audacious/paranormal/Presets/aerdan_-_dancing_snow.pnv
|
||||
share/audacious/paranormal/Presets/aerdan_-_portal_to_hell.pnv
|
||||
share/audacious/paranormal/Presets/aerdan_-_telestatic.pnv
|
||||
share/audacious/paranormal/Presets/nazca_-_smoke_on_the_water.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_3d_wave.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_aquamarine_dream.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_beatscope.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_branchscope.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_bumblebees.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_cubism.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_flying_into_pastels.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_interlaced.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_kaliedoscope.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_phosphor_flame.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_psuedo_starfield.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_purple_flower.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_quakingscope.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_quasar.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_retroscope.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_rush.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_scopefun.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_simple_yet_pretty.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_smoke.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_swarm.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_technicolour_nightmare.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_transform_fun.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_trapped.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_tunnel_vision.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_value_replace_fun.pnv
|
||||
share/audacious/paranormal/Presets/nenolod_-_worms.pnv
|
||||
share/audacious/paranormal/Presets/ticpu_-_colored_beat-o-scope.pnv
|
||||
share/audacious/ui/
|
||||
share/audacious/ui/carbon-menubar.ui
|
||||
share/audacious/ui/equalizer.ui
|
||||
share/audacious/ui/mainwin.ui
|
||||
share/audacious/ui/player.ui
|
||||
share/audacious/ui/playlist.ui
|
||||
share/locale/ca/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/cs/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/cy/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/de/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/es/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/es_AR/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/es_MX/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/et/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/eu/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/fr/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/hu/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/it/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/ja/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/lt/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/lv/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/pl/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/ro/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/ru/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/sk/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/sr/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/tr/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/uk/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/vi/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/zh_CN/LC_MESSAGES/audacious-plugins.mo
|
||||
share/locale/zh_TW/LC_MESSAGES/audacious-plugins.mo
|
||||
|
Loading…
Reference in New Issue
Block a user