initial commit of some deadbeef plugins

This commit is contained in:
John McQuah 2022-03-20 22:05:07 -04:00
parent 61b6a4b2d5
commit c07335bf5e
18 changed files with 321 additions and 475 deletions

27
REPO
View File

@ -21,7 +21,6 @@ d:lagrange
d:xxd-standalone
d:bemenu
d:fairymax
d:mpd
d:foliate
d:lbreakouthd
d:xclock
@ -51,6 +50,7 @@ d:qscintilla-qt5
d:mtpaint
d:mblaze
d:dreamchess
d:opusfile
d:hikari
d:python3-dbfread
d:nyxt
@ -65,12 +65,14 @@ d:qrupdate
d:libdispatch
d:freepats
d:python3-olefile
d:deadbeef-opus
d:fortune-mod-de
d:python3-leather
d:python3-agate
d:chrono-date
d:szip
d:gl2ps
d:deadbeef-alarm
d:oksh
d:gjs
d:tagutil
@ -151,12 +153,6 @@ f:f56e310fb1beb60181e86d9dcd791081:bemenu/.footprint
f:8419a9c6748ce9331028e160e4aa12d1:fairymax/.signature
f:c957839de036855e5e76cc55277064b7:fairymax/Pkgfile
f:5145be6db58355d12c03baad26607677:fairymax/.footprint
f:afd2175a71600c07a8d6a26665769f99:mpd/mpd.1
f:2f5c3f15990e1d1c16927b3be2f9476c:mpd/mpd
f:d87cff2246e6a678b2d7a4d2a4d1d471:mpd/.signature
f:e5e8912188e28977b7bfbb3e5a794e6c:mpd/mpd.conf.5
f:a5fa852e7c63dfcc1645b5906416a165:mpd/Pkgfile
f:e69ed6aac4f0fd7005ecaca2a8cdadd8:mpd/.footprint
f:1853a033c7192ab4ad03c057c9a43985:foliate/.signature
f:7dea11a36135b91f1ad5f3701b384e22:foliate/Pkgfile
f:e3409abe1eea0a2c7506f49b46c02c45:foliate/post-install
@ -260,15 +256,18 @@ f:c4f44e42fd4a447423d0bfd02065c114:mblaze/.footprint
f:45a9c0d766f1e7667b396f6991868701:dreamchess/.signature
f:9e4adb77ad0199d6ba6ac3647c8212fb:dreamchess/Pkgfile
f:73562b8c9613cfeebe13855fd4e1aca2:dreamchess/.footprint
f:3698b450503fc6767831f97613318d5d:opusfile/.signature
f:76b5d3ed1f03fe5ea3a2b60fc9d2a645:opusfile/Pkgfile
f:13b4a1aeaf701fb6f6c08817803eddcd:opusfile/.footprint
f:67a5dc896408e04699f0362454bdb1a6:hikari/.signature
f:e0477a6be284947d515850a359087b22:hikari/Pkgfile
f:f5b1f54067794df694b0309310cc5376:hikari/.footprint
f:a9d6e9151c108d1cfa4162635f286381:python3-dbfread/.signature
f:3479e2d1ccf4a4c69ca2c71ddbe85a88:python3-dbfread/Pkgfile
f:66ce8e70b998b420442fb01f6fb9c626:python3-dbfread/.footprint
f:66c5c2eeee0551ebbbcc8062bb82a9d1:nyxt/newtab-default.patch
f:4d0ebdcb6c5acac9659de322d3122bbc:nyxt/.signature
f:9ea7993003d1841cadce701d453a9b10:nyxt/Pkgfile
f:0f8a58ebdc629164d372dd8279a7a02d:nyxt/.signature
f:01a06743570c718afa1eef40ae44836e:nyxt/Pkgfile
f:785e50f3f8a9ee598bd9cd2f29404a9a:nyxt/vi-keybindings.patch
f:ed584c8d4bf7b6ae3619ab3804953628:nyxt/.footprint
f:19bcdc59b15c67cc005f7bde07f61e78:kristall/.signature
f:442e457b5490f47aba1a70e122d9bd7b:kristall/Pkgfile
@ -310,6 +309,9 @@ f:171a3b067aa2d35a435ee2d37df065d4:freepats/.footprint
f:0c09a89ece37d0b1bf450d836e1998e0:python3-olefile/.signature
f:07e1d9975df180ff5b3fe6c66041d7c3:python3-olefile/Pkgfile
f:8a65e413efd9d4e6d1a50e7c2b16ba72:python3-olefile/.footprint
f:cb57ff9140648137a27d4eae3352fb81:deadbeef-opus/.signature
f:801ce3ede362413491c28b9c10d5edc6:deadbeef-opus/Pkgfile
f:b1f59452af918cb91d507e0761e3f75e:deadbeef-opus/.footprint
f:0e86b5c3a2d2ec1a745fcdae99b6ec1c:fortune-mod-de/README
f:02920424681d70954c845b484da43b66:fortune-mod-de/.signature
f:de08a73c18f9770223b71357cc6657e4:fortune-mod-de/Pkgfile
@ -330,6 +332,11 @@ f:5a1495ba54a541d79d29e7ce959d1d05:szip/.footprint
f:3b19c6ac102ca10a67448ca2191c7c55:gl2ps/.signature
f:bc45d9a30234cc872ff10b60dd93061a:gl2ps/Pkgfile
f:aa56dda5637db25cffd60e5bfb1a6f52:gl2ps/.footprint
f:2c47bfa9448015108ea1e4da3ace88db:deadbeef-alarm/.signature
f:cc0fb01dffe503647857a6d1d511cb2c:deadbeef-alarm/Pkgfile
f:692f2435b0ffafa4d3014a1d56d8fdc7:deadbeef-alarm/Makefile
f:a33f8fd6cd3eac9152dcde6f1cb6fb87:deadbeef-alarm/.footprint
f:256520d2f64077f6a5482996da44c69c:deadbeef-alarm/alarm.cc
f:22142d28d20c3d7a0ac148c877271075:oksh/.signature
f:88d321b08d3354e14157b55bd7fe073a:oksh/Pkgfile
f:d75610ef197b7420248d913c319b1d5c:oksh/post-install

View File

@ -0,0 +1,4 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/deadbeef/
-rwxr-xr-x root/root usr/lib/deadbeef/alarm.so

View File

@ -0,0 +1,6 @@
untrusted comment: verify with /etc/ports/jmq.pub
RWTTPlFarK9CxA9Txf8BmbHVI8ivDQNs3pL2ZxYQrYTNPfO2bIYCn2w5yrO7SQG8USXiXswh6Rfgz3S4pTbEYWq9kQmaw3/rxgU=
SHA256 (Pkgfile) = c6a63405841ecea18b783c342b406af496f53eaa7e062def2ed98bdef40d35cf
SHA256 (.footprint) = e381b96011b0b5d436dc16328dc442cd0cc58d2ad5a1a065c99cb8106f21b473
SHA256 (alarm.cc) = f6fbb373da4bca5d21e3246a72077d26e1aac1c11b07d37aa33f0119edf772ae
SHA256 (Makefile) = 4e349a81457b623f8a26eda596fdffda6167b1d764d75a0fb83b02cdb7d95032

18
deadbeef-alarm/Makefile Normal file
View File

@ -0,0 +1,18 @@
DESTDIR=
PREFIX=/usr
libpkgdir=$(PREFIX)/lib/deadbeef
GLIB_CXX_FLAGS="-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"
GLIB_LD_FLAGS=-lglib-2.0
all: alarm.so
alarm.so:
gcc -c -fPIC -I/usr/include $(GLIB_CXX_FLAGS) -Wall alarm.cc
gcc -shared -fPIC -Wall -o alarm.so -lpthread $(GLIB_LD_FLAGS) alarm.o
clean:
rm -f alarm.o alarm.so
install:
mkdir -p $(DESTDIR)$(libpkgdir)
install -m 0755 alarm.so $(DESTDIR)$(libpkgdir)/alarm.so

15
deadbeef-alarm/Pkgfile Normal file
View File

@ -0,0 +1,15 @@
# Description: plugin to let DeaDBeeF serve as an alarm clock
# URL: https://git.sdf.org/jmq/cruxports/deadbeef-alarm
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: deadbeef glib
name=deadbeef-alarm
version=0.1
release=1
source=(alarm.cc Makefile)
build() {
make GLIB_CXX_FLAGS="$(pkg-config --cflags glib-2.0)" \
GLIB_LD_FLAGS="$(pkg-config --libs glib-2.0)"
make DESTDIR=$PKG install
}

195
deadbeef-alarm/alarm.cc Normal file
View File

@ -0,0 +1,195 @@
/*
* adapted from the work of Adam Feakin <adamf@snika.uklinux.net>
* and Daniel Stodden <stodden@in.tum.de>
* for the audacious media player
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <pthread.h>
#include <string.h>
#include <math.h>
#include <glib.h>
#include <deadbeef/deadbeef.h>
#define DDB_WARN_DEPRECATED 1
#define trace(fmt,...)
static const char alarm_conf_dlg[] =
"property \"Hour\" hscale[0,23,1] alarm_conf_hour 6;\n"
"property \"Minute\" hscale[0,59,1] alarm_conf_min 30;\n"
"property \"Monday\" checkbox alarm_conf_day1 1;\n"
"property \"Tuesday\" checkbox alarm_conf_day2 1;\n"
"property \"Wednesday\" checkbox alarm_conf_day3 1;\n"
"property \"Thursday\" checkbox alarm_conf_day4 1;\n"
"property \"Friday\" checkbox alarm_conf_day5 1;\n"
"property \"Saturday\" checkbox alarm_conf_day6 0;\n"
"property \"Sunday\" checkbox alarm_conf_day0 0;\n"
"property \"volume\" hscale[0,100,1] alarm_conf_volume 60;\n"
"property \"playlist\n(leave empty to use current list)\" file alarm_conf_pls \"\";\n"
;
const char* pl_fallback = NULL;
static const char* conf_keys[] = {
"alarm_conf_day0",
"alarm_conf_day1",
"alarm_conf_day2",
"alarm_conf_day3",
"alarm_conf_day4",
"alarm_conf_day5",
"alarm_conf_day6" };
static DB_functions_t* deadbeef = NULL;
static int timeout_source;
static time_t play_start;
/* the main alarm thread */
static gboolean alarm_timeout (void * unused) {
struct tm *currtime;
time_t timenow;
unsigned today;
int alarm_h, alarm_m;
float newVolume;
int alarm_on;
timenow = time(nullptr);
currtime = localtime(&timenow);
today = currtime->tm_wday;
/* already went off? */
if (timenow < play_start + 60)
return true;
/* not activated today? */
alarm_on = deadbeef->conf_get_int(conf_keys[today],1);
if (alarm_on != 1)
return true;
else
{
alarm_h = deadbeef->conf_get_int("alarm_conf_hour",6);
alarm_m = deadbeef->conf_get_int("alarm_conf_min",30);
}
/* compare the current time with the alarm setting */
if ((currtime->tm_hour != alarm_h) || (currtime->tm_min != alarm_m))
return true;
/* none of the early exits were taken;
* it must be time to start playing something.
* First set the volume */
int confVolume = deadbeef->conf_get_int("alarm_conf_volume",60);
newVolume = ((float) confVolume/2)-50;
deadbeef->volume_set_db(newVolume);
/* Next try to load the requested playlist */
deadbeef->pl_select_all();
char pname[200];
deadbeef->conf_get_str("alarm_conf_pls",pl_fallback,pname,sizeof(pname));
trace("adding playlist %s\n", pname);
ddb_playlist_t *pl = deadbeef->plt_get_curr();
DB_playItem_t *after = deadbeef->pl_get_last (PL_MAIN);
if (pname) {
int ab=0;
DB_playItem_t *it;
it = deadbeef->plt_load2 (0, pl, after, pname, &ab, NULL, NULL);
if (!it) {
trace("failed to load playlist %s\n", pname);
}
else {
/* successfully loaded playlist, so delete previous contents */
deadbeef->pl_delete_selected();
}
}
if (after) {
deadbeef->pl_item_unref(after);
}
/* Start playing */
play_start=time(nullptr);
DB_playItem_t *first = deadbeef->pl_get_first (PL_MAIN);
int trackid = deadbeef->plt_get_item_idx (pl, first, PL_MAIN);
/* Avoid hard-coding trackid=1, in case random playorder is in effect */
deadbeef->sendmessage(DB_EV_PLAY_NUM,0,trackid,0);
if (first) {
deadbeef->pl_item_unref(first);
}
deadbeef->plt_unref(pl);
return true;
}
int onStart() {
timeout_source = g_timeout_add_seconds(12, alarm_timeout, nullptr);
return 0;
}
int onStop() {
if (timeout_source)
{
g_source_remove (timeout_source);
timeout_source = 0;
}
return 0;
}
// define plugin interface
static DB_misc_t plugin = {
.plugin = {
.type = DB_PLUGIN_MISC,
.api_vmajor = 1,
.api_vminor = 9,
.version_major = 0,
.version_minor = 1,
.id = "alarm",
.name = "DeaDBeeF Alarm Clock",
.descr = "start playback at a predetermined time",
.copyright = "Copyright (C) 2022 John McQuah <jmcquah@disroot.org>\n"
"\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License\n"
"as published by the Free Software Foundation; either version 2\n"
"of the License, or (at your option) any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
"GNU General Public License for more details.\n"
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n",
.website = "https://git.sdf.org/jmq/cruxports/deadbeef-alarm-plugin",
.start = onStart,
.stop = onStop,
.connect = NULL,
.disconnect = NULL,
.configdialog = alarm_conf_dlg,
}
};
extern "C" DB_plugin_t *alarm_load (DB_functions_t *ddb) {
deadbeef = ddb;
return &plugin.plugin;
}

4
deadbeef-opus/.footprint Normal file
View File

@ -0,0 +1,4 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/deadbeef/
-rwxr-xr-x root/root usr/lib/deadbeef/opus.so

4
deadbeef-opus/.signature Normal file
View File

@ -0,0 +1,4 @@
untrusted comment: verify with /etc/ports/jmq.pub
RWTTPlFarK9CxL3acc0uPtnDWaSB8LDN+wuSrF6EXdGKLJT0JVofyI+NAyKlEkSNlOHzcAn9aDmMesoqQjMMOvBemsAggF8nYgI=
SHA256 (Pkgfile) = 922a2a13a8299ef7063946c2232f1c79890f6f36164edf63b846ef91b24356ed
SHA256 (deadbeef-opus-0.8.tar.bz2) = ade79c92a10ae2a181f569bc629481323e5603b2fcf9f34e21deefd45aae4bb8

17
deadbeef-opus/Pkgfile Normal file
View File

@ -0,0 +1,17 @@
# Description: opus input plugin for the deadbeef audio player
# URL: https://bitbucket.org/Lithopsian/deadbeef-opus/
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: opusfile deadbeef
name=deadbeef-opus
version=0.8
release=1
source=(https://bitbucket.org/Lithopsian/$name/get/v$version.tar.bz2)
renames=($name-$version.tar.bz2)
build() {
cd *-$name-*
make PREFIX=/usr
mkdir -p $PKG/usr/lib/deadbeef
install -m 0755 opus.so $PKG/usr/lib/deadbeef
}

View File

@ -1,19 +0,0 @@
drwxr-xr-x root/root etc/
drwxr-xr-x root/root etc/mpd/
-rw-r--r-- root/root etc/mpd/mpdconf.example
drwxr-xr-x root/root etc/rc.d/
-rwxr-xr-x root/root etc/rc.d/mpd
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/mpd
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/icons/
drwxr-xr-x root/root usr/share/icons/hicolor/
drwxr-xr-x root/root usr/share/icons/hicolor/scalable/
drwxr-xr-x root/root usr/share/icons/hicolor/scalable/apps/
-rw-r--r-- root/root usr/share/icons/hicolor/scalable/apps/mpd.svg
drwxr-xr-x root/root usr/share/man/
drwxr-xr-x root/root usr/share/man/man1/
-rw-r--r-- root/root usr/share/man/man1/mpd.1.gz
drwxr-xr-x root/root usr/share/man/man5/
-rw-r--r-- root/root usr/share/man/man5/mpd.conf.5.gz

View File

@ -1,8 +0,0 @@
untrusted comment: verify with /etc/ports/jmq.pub
RWTTPlFarK9CxHeUVZehVAZQNjeCJxD7dvFdcayX/EloAfAGsZRlvkxpjFf6fiP1J/3AxEUYgcZg/6Pyd3nOi5ZVyBf8GOMGdgU=
SHA256 (Pkgfile) = e8bff0eed3dd32a2a36b1d37f483bf6cc12ace41d6ace08fbbeb86cb7b89579e
SHA256 (.footprint) = 22e8e5662ef7bf957576813676ab34efd7f65a7f92fc3570ec2c951e84554330
SHA256 (mpd-0.23.5.tar.xz) = f22c2c25093a05f4566f9cd7207cfbcd8405af67ed29a989bcf8905f80b7a299
SHA256 (mpd) = ec90dbf45d72c30b0837e2caed55df9c28b00416a92838012e1aea8cfe704ce3
SHA256 (mpd.1) = 85f165d3d75e96eb85e28ad5d2ca60c9f6990cb79af8defb9483472cb30e28fa
SHA256 (mpd.conf.5) = 59a11ea7d239e499ed12051b87ad8431cee36b314ff0b06cc415fa0b955f6f0c

View File

@ -1,72 +0,0 @@
# Description: music player daemon, with dependency-free manpages
# URL: https://www.musicpd.org/
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: boost meson ninja
# Optional: audiofile faad2 flac lame wildmidi sndio alsa-lib chromaprint dbus ffmpeg fluidsynth
# icu jack libcdio-paranoia libid3tag libisofs libmad libmikmod libmodplug libsamplerate
# libsndfile libsoxr liburing libvorbis mpg123 opus pipewire pulseaudio twolame wavpack zziplib yajl
name=mpd
version=0.23.5
release=1
source=(https://www.musicpd.org/download/mpd/${version:0:4}/$name-$version.tar.xz mpd mpd.1 mpd.conf.5)
build() {
# optional features {{{
prt-get isinst alsa-lib && PKGMK_MPD+=' -D alsa=enabled'
prt-get isinst audiofile && PKGMK_MPD+=' -D audiofile=enabled'
prt-get isinst chromaprint && PKGMK_MPD+=' -D chromaprint=enabled'
prt-get isinst dbus && PKGMK_MPD+=' -D dbus=enabled'
prt-get isinst faad2 && PKGMK_MPD+=' -D faad=enabled'
prt-get isinst ffmpeg && PKGMK_MPD+=' -D ffmpeg=enabled'
prt-get isinst flac && PKGMK_MPD+=' -D flac=enabled'
prt-get isinst fluidsynth && PKGMK_MPD+=' -D fluidsynth=enabled'
prt-get isinst wildmidi && PKGMK_MPD+=' -D wildmidi=enabled'
prt-get isinst icu && PKGMK_MPD+=' -D icu=enabled'
prt-get isinst jack && PKGMK_MPD+=' -D jack=enabled'
prt-get isinst lame && PKGMK_MPD+=' -D lame=enabled'
prt-get isinst libcdio-paranoia && PKGMK_MPD+=' -D cdio_paranoia=enabled'
prt-get isinst libid3tag && PKGMK_MPD+=' -D id3tag=enabled'
prt-get isinst libisofs && PKGMK_MPD+=' -D iso9660=enabled'
prt-get isinst libmad && PKGMK_MPD+=' -D mad=enabled'
prt-get isinst libmikmod && PKGMK_MPD+=' -D mikmod=enabled'
prt-get isinst libmodplug && PKGMK_MPD+=' -D modplug=enabled'
prt-get isinst libsamplerate && PKGMK_MPD+=' -D libsamplerate=enabled'
prt-get isinst libsndfile && PKGMK_MPD+=' -D sndfile=enabled'
prt-get isinst libsoxr && PKGMK_MPD+=' -D libsoxr=enabled'
prt-get isinst liburing && PKGMK_MPD+=' -D io_uring=enabled'
prt-get isinst libvorbis && PKGMK_MPD+=' -D vorbis=enabled'
prt-get isinst mpg123 && PKGMK_MPD+=' -D mpg123=enabled'
prt-get isinst opus && PKGMK_MPD+=' -D opus=enabled'
prt-get isinst pipewire && PKGMK_MPD+=' -D pipewire=enabled'
prt-get isinst pulseaudio && PKGMK_MPD+=' -D pulse=enabled'
prt-get isinst sndio && PKGMK_MPD+=' -D sndio=enabled'
prt-get isinst samba && PKGMK_MPD+=' -D smbclient=enabled'
prt-get isinst twolame && PKGMK_MPD+=' -D twolame=enabled'
prt-get isinst wavpack && PKGMK_MPD+=' -D wavpack=enabled'
prt-get isinst yajl && PKGMK_MPD+=' -D yajl=enabled'
prt-get isinst zziplib && PKGMK_MPD+=' -D zzip=enabled'
# }}}
meson setup $name-$version build $PKGMK_MPD \
--prefix=/usr \
--sysconfdir=/etc/mpd \
--buildtype=plain \
--wrap-mode nodownload \
-D b_lto=true \
-D b_pie=true \
--auto-features disabled \
-Ddocumentation=disabled
meson compile -C build -j ${JOBS-1}
DESTDIR=$PKG meson install -C build
install -Dm 0644 $SRC/$name-$version/doc/mpdconf.example $PKG/etc/mpd/mpdconf.example
install -D $SRC/mpd $PKG/etc/rc.d/mpd
rm -r $PKG/usr/share/doc
mkdir -p $PKG/usr/share/man/man{1,5}
gzip -c $SRC/mpd.1 > $PKG/usr/share/man/man1/mpd.1.gz
gzip -c $SRC/mpd.conf.5 > $PKG/usr/share/man/man5/mpd.conf.5.gz
}
# vim: foldmethod=marker foldlevelstart=1

35
mpd/mpd
View File

@ -1,35 +0,0 @@
#!/bin/sh
#
# /etc/rc.d/mpd: start/stop mpd daemon
#
SSD=/sbin/start-stop-daemon
PROG=/usr/bin/mpd
OPTS=""
case $1 in
start)
$SSD --start --exec $PROG -- $OPTS
;;
stop)
$SSD --stop --retry 10 --exec $PROG
;;
restart)
$0 stop
$0 start
;;
status)
$SSD --status --exec $PROG
case $? in
0) echo "$PROG is running with pid $(pidof $PROG)" ;;
1) echo "$PROG is not running but the pid file $PID exists" ;;
3) echo "$PROG is not running" ;;
4) echo "Unable to determine the program status" ;;
esac
;;
*)
echo "usage: $0 [start|stop|restart|status]"
;;
esac
# End of file

100
mpd/mpd.1
View File

@ -1,100 +0,0 @@
.\" Man page generated from reStructuredText.
.
.TH "MPD" "1" "Dec 1, 2021" "0.23.5" "Music Player Daemon"
.SH NAME
mpd \- MPD documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
\fBmpd\fP [options] [CONF_FILE]
.SH DESCRIPTION
.sp
MPD is a daemon for playing music. Music is played through the configured audio output(s) (which are generally local, but can be remote). The daemon stores info about all available music, and this info can be easily searched and retrieved. Player control, info retrieval, and playlist management can all be managed remotely.
.sp
MPD searches for a config file in \fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP
then \fB~/.mpdconf\fP then \fB~/.mpd/mpd.conf\fP then \fB/usr/local/etc/mpd.conf\fP or uses \fBCONF_FILE\fP\&.
.sp
Read more about MPD at \fI\%http://www.musicpd.org/\fP
.SH OPTIONS
.INDENT 0.0
.TP
.B \-\-help
Output a brief help message.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-kill
Kill the currently running mpd session. The pid_file parameter must be specified in the config file for this to work.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-config
Don\(aqt read from the configuration file.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-daemon
Don\(aqt detach from console.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-stderr
Print messages to stderr.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-verbose
Verbose logging.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-version
Print version information.
.UNINDENT
.SH FILES
.INDENT 0.0
.TP
.B \fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP
User configuration file (usually \fB~/.config/mpd/mpd.conf\fP).
.TP
.B \fB/etc/mpd.conf\fP
Global configuration file.
.UNINDENT
.SH SEE ALSO
.sp
\fBmpd.conf(5)\fP, \fBmpc(1)\fP
.SH BUGS
.sp
If you find a bug, please report it at \fI\%https://github.com/MusicPlayerDaemon/MPD/issues/\fP
.SH AUTHOR
Max Kellermann
.SH COPYRIGHT
2003-2021 The Music Player Daemon Project
.\" Generated by docutils manpage writer.
.

View File

@ -1,231 +0,0 @@
.TH mpd.conf 5
.SH NAME
mpd.conf \- Music Player Daemon configuration file
.SH DESCRIPTION
\fBmpd.conf\fP is the configuration file for mpd(1). If not specified on the
command line, MPD first searches for it at \fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP
then at \fB~/.mpdconf\fP then at \fB~/.mpd/mpd.conf\fP and then in
\fB/etc/mpd.conf\fP.
Lines beginning with a "#" character are comments. All other non-empty lines
specify parameters and their values. These lines contain the parameter name
and parameter value (surrounded by double quotes) separated by whitespace
(either tabs or spaces). For example:
parameter "value"
The exceptions to this rule are the parameters for input plugins, decoders, databases, and
audio_output, which are of the form:
audio_output {
.br
parameter1 "value"
parameter2 "value"
.br
}
Input and decoder plugins always have the parameter \fIenabled\fP, which accepts the
possible values "yes" or "no", and the parameter \fIplugin\fP, which gives the name of
the plugin. Each such plugin has its own documentation in the online user manual, listing
additional parameters that can affect the behavior of the decoder.
Parameters that take a file or directory as an argument should use absolute
paths.
See \fB/etc/mpd/mpdconf.example\fP for an example configuration file.
This manual is not complete, it lists only the most important options.
Please read the MPD user manual for a complete configuration guide:
<\fBhttp://www.musicpd.org/doc/user/\fP>
.SH REQUIRED PARAMETERS
.TP
.B db_file <file>
This specifies where the db file will be stored.
.TP
.B log_file <file>
This specifies where the log file should be located.
The special value "syslog" makes MPD use the local syslog daemon.
.SH OPTIONAL PARAMETERS
.TP
.B sticker_file <file>
The location of the sticker database. This is a database which
manages dynamic information attached to songs.
.TP
.B pid_file <file>
This specifies the file to save mpd's process ID in.
.TP
.B music_directory <directory>
This specifies the directory where music is located.
If you do not configure this, you can only play streams.
.TP
.B playlist_directory <directory>
This specifies the directory where saved playlists are stored.
If you do not configure this, you cannot save playlists.
.TP
.B state_file <file>
This specifies if a state file is used and where it is located. The state of
mpd will be saved to this file when mpd is terminated by a TERM signal or by
the "kill" command. When mpd is restarted, it will read the state file and
restore the state of mpd (including the playlist).
.TP
.B restore_paused <yes or no>
Put MPD into pause mode instead of starting playback after startup.
.TP
.B user <username>
This specifies the user that MPD will run as, if set. MPD should
never run as root, and you may use this option to make MPD change its
user id after initialization. Do not use this option if you start MPD
as an unprivileged user.
.TP
.B port <port>
This specifies the port that mpd listens on. The default is 6600.
.TP
.B log_level <default, secure, or verbose>
This specifies how verbose logs are. "default" is minimal logging, "secure"
reports from what address a connection is opened, and when it is closed, and
"verbose" records excessive amounts of information for debugging purposes. The
default is "default".
.TP
.B follow_outside_symlinks <yes or no>
Control if MPD will follow symbolic links pointing outside the music dir.
You must recreate the database after changing this option.
The default is "yes".
.TP
.B follow_inside_symlinks <yes or no>
Control if MPD will follow symbolic links pointing inside the music dir,
potentially adding duplicates to the database.
You must recreate the database after changing this option.
The default is "yes".
.TP
.B zeroconf_enabled <yes or no>
If yes, and MPD has been compiled with support for Avahi or Bonjour, service
information will be published with Zeroconf. The default is yes.
.TP
.B zeroconf_name <name>
If Zeroconf is enabled, this is the service name to publish. This name should
be unique to your local network, but name collisions will be properly dealt
with. The default is "Music Player @ %h", where %h will be replaced with the
hostname of the machine running MPD.
.TP
.B audio_output
See \fBDESCRIPTION\fP and the various \fBAUDIO OUTPUT PARAMETERS\fP sections
for the format of this parameter. Multiple audio_output sections may be
specified. If no audio_output section is specified, then MPD will scan for a
usable audio output.
.TP
.B replaygain <off or album or track or auto>
If specified, mpd will adjust the volume of songs played using ReplayGain tags
(see <\fBhttp://www.replaygain.org/\fP>). Setting this to "album" will adjust
volume using the album's ReplayGain tags, while setting it to "track" will
adjust it using the track ReplayGain tags. "auto" uses the track ReplayGain
tags if random play is activated otherwise the album ReplayGain tags. Currently
only FLAC, Ogg Vorbis, Musepack, and MP3 (through ID3v2 ReplayGain tags, not
APEv2) are supported.
.TP
.B replaygain_preamp <\-15 to 15>
This is the gain (in dB) applied to songs with ReplayGain tags.
.TP
.B volume_normalization <yes or no>
If yes, mpd will normalize the volume of songs as they play. The default is no.
.TP
.B filesystem_charset <charset>
This specifies the character set used for the filesystem. A list of supported
character sets can be obtained by running "iconv \-l". The default is
determined from the locale when the db was originally created.
.TP
.B save_absolute_paths_in_playlists <yes or no>
This specifies whether relative or absolute paths for song filenames are used
when saving playlists. The default is "no".
.TP
.B auto_update <yes or no>
This specifies the whether to support automatic update of music database when
files are changed in music_directory. The default is to disable autoupdate
of database.
.TP
.B auto_update_depth <N>
Limit the depth of the directories being watched, 0 means only watch
the music directory itself. There is no limit by default.
.TP
.SH REQUIRED AUDIO OUTPUT PARAMETERS
.TP
.B type <type>
This specifies the audio output type. See the list of supported outputs in mpd
\-\-version for possible values.
.TP
.B name <name>
This specifies a unique name for the audio output.
.SH OPTIONAL AUDIO OUTPUT PARAMETERS
.TP
.B format <sample_rate:bits:channels>
This specifies the sample rate, bits per sample, and number of channels of
audio that is sent to the audio output device. See documentation for the
\fBaudio_output_format\fP parameter for more details. The default is to use
whatever audio format is passed to the audio output.
Any of the three attributes may be an asterisk to specify that this
attribute should not be enforced
.TP
.B replay_gain_handler <software, mixer or none>
Specifies how replay gain is applied. The default is "software",
which uses an internal software volume control. "mixer" uses the
configured (hardware) mixer control. "none" disables replay gain on
this audio output.
.SH OPTIONAL ALSA OUTPUT PARAMETERS
.TP
.B device <dev>
This specifies the device to use for audio output. The default is "default".
.TP
.B mixer_type <hardware, software or none>
Specifies which mixer should be used for this audio output: the
hardware mixer (available for ALSA, OSS and PulseAudio), the software
mixer or no mixer ("none"). By default, the hardware mixer is used
for devices which support it, and none for the others.
.TP
.B mixer_device <mixer dev>
This specifies which mixer to use. The default is "default". To use
the second sound card in a system, use "hw:1".
.TP
.B mixer_control <mixer ctrl>
This specifies which mixer control to use (sometimes referred to as
the "device"). The default is "PCM". Use "amixer scontrols" to see
the list of possible controls.
.TP
.B mixer_index <mixer index>
A number identifying the index of the named mixer control. This is
probably only useful if your alsa device has more than one
identically\-named mixer control. The default is "0". Use "amixer
scontrols" to see the list of controls with their indexes.
.TP
.B auto_resample <yes or no>
Setting this to "no" disables ALSA's software resampling, if the
hardware does not support a specific sample rate. This lets MPD do
the resampling. "yes" is the default and allows ALSA to resample.
.TP
.B auto_channels <yes or no>
Setting this to "no" disables ALSA's channel conversion, if the
hardware does not support a specific number of channels. Default: "yes".
.TP
.B auto_format <yes or no>
Setting this to "no" disables ALSA's sample format conversion, if the
hardware does not support a specific sample format. Default: "yes".
.TP
.B buffer_time <time in microseconds>
This sets the length of the hardware sample buffer in microseconds. Increasing
it may help to reduce or eliminate skipping on certain setups. Most users do
not need to change this. The default is 500000 microseconds (0.5 seconds).
.TP
.B period_time <time in microseconds>
This sets the time between hardware sample transfers in microseconds.
Increasing this can reduce CPU usage while lowering it can reduce underrun
errors on bandwidth-limited devices. Some users have reported good results
with this set to 50000, but not all devices support values this high. Most
users do not need to change this. The default is 256000000 / sample_rate(kHz),
or 5804 microseconds for CD-quality audio.
.SH FILES
.TP
.BI ~/.mpdconf
User configuration file.
.TP
.BI /etc/mpd.conf
Global configuration file.
.SH SEE ALSO
mpd(1), mpc(1)

14
opusfile/.footprint Normal file
View File

@ -0,0 +1,14 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/include/
drwxr-xr-x root/root usr/include/opus/
-rw-r--r-- root/root usr/include/opus/opusfile.h
drwxr-xr-x root/root usr/lib/
lrwxrwxrwx root/root usr/lib/libopusfile.so -> libopusfile.so.0.4.5
lrwxrwxrwx root/root usr/lib/libopusfile.so.0 -> libopusfile.so.0.4.5
-rwxr-xr-x root/root usr/lib/libopusfile.so.0.4.5
lrwxrwxrwx root/root usr/lib/libopusurl.so -> libopusurl.so.0.4.5
lrwxrwxrwx root/root usr/lib/libopusurl.so.0 -> libopusurl.so.0.4.5
-rwxr-xr-x root/root usr/lib/libopusurl.so.0.4.5
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/opusfile.pc
-rw-r--r-- root/root usr/lib/pkgconfig/opusurl.pc

5
opusfile/.signature Normal file
View File

@ -0,0 +1,5 @@
untrusted comment: verify with /etc/ports/jmq.pub
RWTTPlFarK9CxIbsloBv/HDI6Lrq0c6nE3XhEFZRb15ER+fIMuYpOeBCfji8ipL5jcIv9Tto5f7NpCen6GAunhPjIKsROAYkwQo=
SHA256 (Pkgfile) = 21f1a7618bace7d83024911bf5ab4be2f37fcad6a4d765eb1017465f71bcb726
SHA256 (.footprint) = 51f556c73a59d6e3bd2c408f83f24003c6181972968adb62048dca19a53d0288
SHA256 (opusfile-0.12.tar.gz) = 118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b

22
opusfile/Pkgfile Normal file
View File

@ -0,0 +1,22 @@
# Description: library for playback of opus streams in the ogg container
# URL: https://www.opus-codec.org/
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: libogg opus
name=opusfile
version=0.12
release=1
source=(https://downloads.xiph.org/releases/opus/$name-$version.tar.gz)
build() {
cd $name-$version
./configure --prefix=/usr \
--disable-static \
--disable-doc
make
make DESTDIR=$PKG install
# clean up footprint
rm -f $PKG/usr/lib/*.la
rm -rf $PKG/usr/share
}