-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
167 lines (143 loc) · 9.08 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
This is Audacious (https://audacious-media-player.org/) and DeaDBeeF (https://deadbeef.sourceforge.io/) input plugin for UADE (https://zakalwe.fi/uade/) and other retro music replays.
* IMPORTANT!
- Make sure "Probe content of files with no recognized file name extension" setting is *enabled* and "Guess missing metadata from filepath" setting is *disabled* in Audacious prefs in order for subsongs and meta data to work properly. The playlist must also have been created *after* the settings are applied.
Main features:
- Precalculated database for song lengths and author/album/publisher/year meta data (see below)
- Player independent songend detection (similar to "deep songend scan" option in DeliPlayer for Windows)
- Preferences UI for configuring UADE playback options etc.
- Custom fork of UADE (https://gitlab.com/mvtiaine/uade) including support for additional formats and platforms not (yet) supported in official UADE releases:
-- Face The Music
-- OctaMED Soundstudio / MMD3
-- Protracker4 / Protracker IFF
-- Support for AmigaOS (and related), Windows (MSYS2/MinGW), ...
- MED4 sng+samples format support via MED4->MMD0 conversion
- DigiBooster 3 and DigiBooster Pro 2 support (http://www.digibooster.de/)
- HivelyTracker support (http://www.hivelytracker.co.uk/)
- Fasttracker 1 & 2 support (https://github.com/8bitbubsy/ft2play)
- Scream Tracker 2 support (https://pastebin.com/ifXSCZ71)
- Scream Tracker 3 support (https://pastebin.com/AwRXZAw7)
- Impulse Tracker 1 & 2 support (https://github.com/8bitbubsy/it2play)
- ProTrekkr 1 & 2 support (https://github.com/hitchhikr/protrekkr)
-- note: older ProTrekkr mods may play incorrectly
- NoiseTrekker 2 support based on sources from the final release
- libopenmpt support (optional) (https://lib.openmpt.org/libopenmpt/)
- libxmp support (optional) (https://xmp.sourceforge.net/)
Modland (http://ftp.modland.com/), AMP (https://amp.dascene.net/), UnExoticA (https://www.exotica.org.uk/wiki/UnExoticA), ExoticA (old) (http://old.exotica.org.uk/), Mods Anthology (https://archive.org/details/cdrom-amiga-mods-anthology-1), Wanted Team (http://wt.exotica.org.uk/) and Demozoo (https://demozoo.org/) are used as sources for precalculated song lengths and author/album/publisher/year meta data (if available).
In addition Zakalwe (git://zakalwe.fi/chip) and Aminet (https://aminet.net/) are used as sources for precalculated song lengths.
Project is hosted at https://github.com/mvtiaine/audacious-uade
Songdb tools are at https://github.com/mvtiaine/audacious-uade-tools
* Other notes:
- Case sensitive filesystems may cause issues for formats with external samples
- Tested on 64-bit, 32-bit, big & little endian hosts. Tested on macOS, Linux, DragonFly*/Free*/Net*/OpenBSD, Haiku, Windows (MinGW*/MSYS2, Cygwin), OpenIndiana, GNU Hurd. Libraries/CLI binaries also tested on AmigaOS3, MorphOS, AROS, QNX 6.5.0, AIX, cosmocc, Tizen, Meego/Sailfish, OS/2 (ArcaOS)
- Build support (binaries not tested) for Android, iOS, Fuchsia, OpenHarmony, webOS, RISC OS, FreeMiNT, WarpOS, Redox OS, SerenityOS, Genode, BlackBerry 10, QNX 7, QNX 8, PS4 (OpenOrbis)
- WIP support (runtime failures) for IRIX, AmigaOS4, Wasix, Emscripten, UnixWare.
- Recommended custom Audacious playlist entry/window title template:
${?codec:[${codec}${?channels: (${channels}ch)}]} - ${?artist:${artist} - }${title}${?album: - (${album})} ${?copyright:- (${copyright})}${?publisher:- (${publisher}) }${?year:- (${year}) }${?subsong-id:${?subsong-num:- [${subsong-id}/${subsong-num}]}}
- Audacious metadata available: Artist, Album, Publisher, Year, Track, Length, Comment
- DeaDBeeF metadata available: Track Number, Artist, Album, Year, Duration, Codec, %publisher%, %channels%, %player%, %songend%
* Some future plans (in no particular order)
- Automatic A500/A1200/None filter selection depending on format/year/platform (OCS/AGA/DOS) etc. meta data
- Plugin support for GStreamer, Hollywood, ...
- Support more platforms
- Add more replays
- PTK-Prowiz converter support (portable C-version)
- Improve UADE format support and portability
- Improve songdb with more coverage and metadata sources
- Project might need a new name...
* License (source code)
The project as a whole is licensed under GPL-2.0-or-later. See COPYING for license text.
Some parts are also licensed under LGPL-2.1-or-later, specifically sources under src/common/, src/converter/, src/player/ and src/songdb/. See COPYING.LGPL for license text.
See NOTICE for 3rd party source code licenses (sources under src/3rdparty/).
See uade/COPYING for UADE license information (sources under uade/).
* Dependencies (optional/auto detected):
Audacious >= 3.8
DeaDBeeF >= 1.8.0
libopenmpt >= 0.6.0
libxmp >= 4.5.0
* To build and install from source (download latest release or use git):
- required (git or release): pkg-config, GNU make, GCC/Clang with C++17 support (GCC-6+, Clang-5.0+)
- required (git): autoconf, automake, libtool
# Latest release:
- Download and extract the audacious-uade-<version>.tar.bz2 file from https://github.com/mvtiaine/audacious-uade/releases
# Git:
# NOTE: running `libtoolize` before `autoreconf` may be needed on some platforms
git clone --depth 1 --shallow-submodules --recurse-submodules https://github.com/mvtiaine/audacious-uade.git
autoreconf -i
# Build and install:
# NOTE: see ../configure --help for build options
# NOTE: DeaDBeeF plugin support may require adjusting CPPFLAGS and --with-deadbeef-plugindir as it does not use pkg-config
# NOTE: gmake is required on some platforms
mkdir -p build
cd build
../configure
make -j check
(sudo) make install
* To install via Homebrew (latest release):
# NOTE: DeaDBeeF support not available with Homebrew install (TODO)
brew install mvtiaine/repo/audacious-uade
+ macOS:
ln -s "${HOMEBREW_PREFIX}/lib/audacious/Input/uade.dylib" "$(pkgconf --variable=plugin_dir audacious)/Input/uade.dylib"
+ Linux:
ln -s "${HOMEBREW_PREFIX}/lib/audacious/Input/uade.so" "$(pkgconf --variable=plugin_dir audacious)/Input/uade.so"
* To install from Gentoo overlay (latest release):
# Add https://github.com/mvtiaine/gentoo-overlay.git via layman or eselect repository
emerge -p media-plugins/audacious-uade
emerge media-plugins/audacious-uade
* To install with PKGBUILD for Arch/Manjaro/etc.:
# (optional) install libxmp from AUR https://aur.archlinux.org/packages/libxmp
# (optional) install DeaDBeeF from AUR https://aur.archlinux.org/packages/deadbeef
# Latest release
wget https://raw.githubusercontent.com/mvtiaine/arch-repo/main/audacious-uade/PKGBUILD
makepkg -s
(sudo) pacman -U audacious-uade*.pkg*
# Git
makepkg -c -s -f -D scripts
(sudo) pacman -U scripts/audacious-uade*.pkg*
* To install with FreeBSD/MidnightBSD ports or DragonFlyBSD DPorts (latest release):
# NOTE: DeaDBeeF support not available with ports install (too old version)
git clone https://github.com/mvtiaine/freebsd-ports.git
cd freebsd-ports/multimedia/audacious-uade
make install clean
* To install with HaikuPorter (latest release):
# NOTE: DeaDBeeF support not available with HaikuPorter install (not in haikuports)
(pkgman install audacious audacious_plugins)
git clone https://github.com/mvtiaine/haikuports.git
cp -rp haikuports/* /boot/home/haikuports/
haikuporter audacious_uade
pkgman install /boot/home/haikuports/packages/audacious_uade-*
* To install with Alpine aports (latest release):
# (optional) install deadbeef and deadbeef-dev packages for DeaDBeeF plugin support
wget https://raw.githubusercontent.com/mvtiaine/aports/main/audacious-uade/APKBUILD
abuild -r
(sudo) apk add "${HOME}/packages/*/*/audacious-uade*.apk"
* To install with MacPorts (latest release):
# (optional) install with +deadbeef variant for DeaDBeeF plugin support
git clone https://github.com/mvtiaine/macports.git <path>
# Add file://<path> to ${prefix}/etc/macports/sources.conf
# see https://guide.macports.org/#development.local-repositories
(sudo) port sync
(sudo) port install audacious-uade
* To install with pkgsrc (latest release):
# NOTE: DeaDBeeF support not available with pkgsrc install (TODO)
# change /usr/pkgsrc to correct pkgsrc location below as needed
git clone https://github.com/mvtiaine/pkgsrc.git
cp -rp pkgsrc/* /usr/pkgsrc/
cd /usr/pkgsrc/audio/audacious-uade
make install clean clean-depends
* To install with OpenBSD ports (latest release):
# NOTE: DeaDBeeF support not available with ports install (TODO)
git clone https://github.com/mvtiaine/openbsd-ports.git
cp -rp openbsd-ports/* /usr/ports/
cd /usr/ports/audio/audacious-uade
make install clean
* To build and install with Debian/Ubuntu/etc. from sources (git or latest release):
# Debian: (optional) install deadbeef and deadbeef-plugins-dev from https://www.deb-multimedia.org/
# Ubuntu: (optional) install deadbeef and deadbeef-plugins-dev from https://launchpad.net/~spvkgn/+archive/ubuntu/deadbeef
scripts/make_deb.sh
(sudo) dpkg -i build-deb/audacious-uade*.deb
* To build and install with Fedora/openSUSE/etc. from sources (git or latest release):
# NOTE: CentOS >= 10 not supported. EPEL repo required on CentOS <= 9.
# NOTE: DeaDBeeF and libxmp support not available on CentOS.
# add --with-deadbeef for DeaDBeeF support (requires RPM Fusion repo on Fedora)
scripts/make_rpm.sh
(sudo) dnf/yum/zypper install build-rpm/rpmbuild/RPMS/*/*.rpm