summaryrefslogtreecommitdiffstats
path: root/audio/tauonmb
diff options
context:
space:
mode:
Diffstat (limited to 'audio/tauonmb')
-rw-r--r--audio/tauonmb/README8
-rw-r--r--audio/tauonmb/config/fix-tauon-options.patch111
-rw-r--r--audio/tauonmb/config/flatpak-rpc.diff (renamed from audio/tauonmb/flatpak-rpc.diff)0
-rw-r--r--audio/tauonmb/config/obsolete-libgme.patch156
-rw-r--r--audio/tauonmb/config/python39.diff134
-rw-r--r--audio/tauonmb/doinst.sh4
-rw-r--r--audio/tauonmb/slack-desc4
-rw-r--r--audio/tauonmb/tauonmb.SlackBuild39
-rw-r--r--audio/tauonmb/tauonmb.info12
9 files changed, 451 insertions, 17 deletions
diff --git a/audio/tauonmb/README b/audio/tauonmb/README
index 661ec34b37..f0fce99803 100644
--- a/audio/tauonmb/README
+++ b/audio/tauonmb/README
@@ -1,11 +1,17 @@
Tauon music box is a modern streamlined music player with a minimal
interface that's packed with features! An emphasis on playlists and
direct file importing puts you in control of your music collection.
-Uses Phazor and GStreamer for playback.
+Uses Phazor for playback.
Optional dependencies:
python3-pypresence #Discord RPC
python3-tekore #Spotify API
picard #Internal tagger
+ libgme #Nintendo music emulation
+
+To use GME, install the "libgme" first.
+If desired, do:
+
+ LIBGME="yes" ./tauonmb.SlackBuild
By !red
diff --git a/audio/tauonmb/config/fix-tauon-options.patch b/audio/tauonmb/config/fix-tauon-options.patch
new file mode 100644
index 0000000000..6556886904
--- /dev/null
+++ b/audio/tauonmb/config/fix-tauon-options.patch
@@ -0,0 +1,111 @@
+diff --git a/t_modules/t_lyrics.py b/t_modules/t_lyrics.py
+index 8e5d197a..19b91bd8 100644
+--- a/t_modules/t_lyrics.py
++++ b/t_modules/t_lyrics.py
+@@ -18,7 +18,7 @@
+ # along with Tauon Music Box. If not, see <http://www.gnu.org/licenses/>.
+
+
+-from isounidecode import unidecode
++from unidecode import unidecode
+ from bs4 import BeautifulSoup
+ import urllib.parse
+ import requests
+@@ -81,7 +81,7 @@ def genius(artist, title, return_url=False):
+ line = line.replace("/", "-")
+ line = line.replace("-&-", "-and-")
+ line = line.replace("&", "-and-")
+- line = unidecode(line).decode()
++ line = unidecode(line)
+ line = urllib.parse.quote(line)
+ line = f"https://genius.com/{line}-lyrics"
+
+diff --git a/t_modules/t_main.py b/t_modules/t_main.py
+index c2f2ebab..4848b7b2 100644
+--- a/t_modules/t_main.py
++++ b/t_modules/t_main.py
+@@ -591,7 +591,7 @@ from pathlib import Path
+ from xml.sax.saxutils import escape, unescape
+ from ctypes import *
+ from send2trash import send2trash
+-from isounidecode import unidecode
++from unidecode import unidecode
+ from collections import OrderedDict
+
+ musicbrainzngs.set_useragent("TauonMusicBox", n_version, "https://github.com/Taiko2k/Tauon")
+@@ -25663,14 +25663,14 @@ def worker2():
+ s_text = s_cn
+
+ if dia_mode:
+- title = unidecode(title).decode()
++ title = unidecode(title)
+
+- artist = unidecode(artist).decode()
+- album_artist = unidecode(album_artist).decode()
+- composer = unidecode(composer).decode()
+- album = unidecode(album).decode()
+- filename = unidecode(filename).decode()
+- sartist = unidecode(sartist).decode()
++ artist = unidecode(artist)
++ album_artist = unidecode(album_artist)
++ composer = unidecode(composer)
++ album = unidecode(album)
++ filename = unidecode(filename)
++ sartist = unidecode(sartist)
+
+ if cache_string is None:
+ search_dia_string_cache[
+@@ -30054,9 +30054,9 @@ class Over:
+ click=self.click, replace="github")
+
+ y += spacing
+- ddt.text((x, y), "isounidecode", colours.box_sub_text, font)
+- ddt.text((xx, y), "New BSD License", colours.box_text_label, font)
+- draw_linked_text2(xxx, y, "https://github.com/redvasily/isounidecode", colours.box_sub_text, font,
++ ddt.text((x, y), "unidecode", colours.box_sub_text, font)
++ ddt.text((xx, y), "GPL-2.0+", colours.box_text_label, font)
++ draw_linked_text2(xxx, y, "https://github.com/avian2/unidecode", colours.box_sub_text, font,
+ click=self.click, replace="github")
+
+ y += spacing
+diff --git a/t_modules/t_main.py b/t_modules/t_main.py
+index 4848b7b2..cc662a74 100644
+--- a/t_modules/t_main.py
++++ b/t_modules/t_main.py
+@@ -4550,7 +4550,7 @@ try:
+ gme.gme_open_file.restype = ctypes.c_char_p
+
+ except:
+- print("Cannont find libgme")
++ pass
+
+ def use_id3(tags, nt):
+ def natural_get(tag, track, frame, attr):
+diff --git a/t_modules/t_main.py b/t_modules/t_main.py
+index 41916fc7..ca5f7c9a 100644
+--- a/t_modules/t_main.py
++++ b/t_modules/t_main.py
+@@ -30667,6 +30667,10 @@ class Over:
+ tab_bg = colours.sys_tab_bg
+ tab_hl = colours.sys_tab_hl
+ tab_text = rgb_add_hls(tab_bg, 0, 0.3, -0.15)
++ if is_light(tab_bg):
++ h, l, s = rgb_to_hls(tab_bg[0], tab_bg[1], tab_bg[2])
++ l = 0.1
++ tab_text = hls_to_rgb(h, l, s)
+ tab_over = alpha_mod(rgb_add_hls(tab_bg, 0, 0.5, 0), 13)
+
+ if top_mode:
+diff --git a/input.txt b/input.txt
+index d3a9268..996727f 100644
+--- a/input.txt
++++ b/input.txt
+@@ -58,7 +58,7 @@ pagedown PageDown
+ delete-playlist W Ctrl
+ delete-playlist-force W Shift Ctrl
+ rename-playlist R Ctrl
+-rename-playlist F2
++cycle-theme F2
+ new-playlist T Ctrl
+
+ new-generator-playlist E Ctrl Shift
diff --git a/audio/tauonmb/flatpak-rpc.diff b/audio/tauonmb/config/flatpak-rpc.diff
index fbe8501364..fbe8501364 100644
--- a/audio/tauonmb/flatpak-rpc.diff
+++ b/audio/tauonmb/config/flatpak-rpc.diff
diff --git a/audio/tauonmb/config/obsolete-libgme.patch b/audio/tauonmb/config/obsolete-libgme.patch
new file mode 100644
index 0000000000..e6f6466f88
--- /dev/null
+++ b/audio/tauonmb/config/obsolete-libgme.patch
@@ -0,0 +1,156 @@
+diff --git a/compile-phazor.sh b/compile-phazor.sh
+index 090c318b..2313338d 100755
+--- a/compile-phazor.sh
++++ b/compile-phazor.sh
+@@ -3,7 +3,7 @@
+ set -e
+
+ gcc src/phazor/kissfft/kiss_fftr.c src/phazor/kissfft/kiss_fft.c src/phazor/phazor.c \
+- `pkg-config --cflags --libs samplerate wavpack opusfile vorbisfile libmpg123 flac libopenmpt libgme` \
++ `pkg-config --cflags --libs samplerate wavpack opusfile vorbisfile libmpg123 flac libopenmpt` \
+ -shared -o libphazor.so -fPIC -Wall -O3 -g #-Wextra
+ mkdir -p lib
+ mv libphazor.so lib/libphazor.so
+diff --git a/src/phazor/phazor.c b/src/phazor/phazor.c
+index e89edaf6..ecb84259 100644
+--- a/src/phazor/phazor.c
++++ b/src/phazor/phazor.c
+@@ -55,7 +55,6 @@
+ #include <libopenmpt/libopenmpt_stream_callbacks_file.h>
+ #include "kissfft/kiss_fftr.h"
+ #include "wavpack/wavpack.h"
+-#include "gme/gme.h"
+
+ #define BUFF_SIZE 240000 // Decoded data buffer size
+ #define BUFF_SAFE 100000 // Ensure there is this much space free in the buffer
+@@ -209,7 +208,6 @@ enum decoder_types {
+ MPT,
+ FEED,
+ WAVPACK,
+- GME,
+ };
+
+ enum result_status_enum {
+@@ -318,11 +316,6 @@ char parse_buffer[2048 * 2];
+ FILE* mod_file = 0;
+ openmpt_module* mod = 0;
+
+-
+-// GME related -------------------
+-
+-Music_Emu* emu;
+-
+ // FFMPEG related -----------------------------------------------------
+
+ FILE *ffm;
+@@ -893,9 +886,6 @@ void stop_decoder() {
+ case MPT:
+ openmpt_module_destroy(mod);
+ break;
+- case GME:
+- gme_delete(emu);
+- break;
+ }
+ //src_reset(src);
+ decoder_allocated = 0;
+@@ -1132,9 +1122,6 @@ void decode_seek(int abs_ms, int sample_rate) {
+ case MPT:
+ openmpt_module_set_position_seconds(mod, abs_ms / 1000.0);
+ break;
+- case GME:
+- gme_seek(emu, (long) abs_ms);
+- break;
+ }
+ }
+
+@@ -1281,7 +1268,6 @@ int load_next() {
+ long rate;
+ int e = 0;
+ int old_sample_rate = sample_rate_src;
+- src_channels = 2;
+
+ char *ext;
+ ext = strrchr(loaded_target_file, '.');
+@@ -1424,21 +1410,6 @@ int load_next() {
+ )
+ ) codec = MPT;
+
+- if (codec == UNKNOWN && ext != NULL && (
+- strcmp(ext, ".spc") == 0 || strcmp(ext, ".SPC") == 0 ||
+- strcmp(ext, ".ay") == 0 || strcmp(ext, ".AY") == 0 ||
+- strcmp(ext, ".gbs") == 0 || strcmp(ext, ".GBS") == 0 ||
+- strcmp(ext, ".gym") == 0 || strcmp(ext, ".GYM") == 0 ||
+- strcmp(ext, ".hes") == 0 || strcmp(ext, ".HES") == 0 ||
+- strcmp(ext, ".kss") == 0 || strcmp(ext, ".KSS") == 0 ||
+- strcmp(ext, ".nsf") == 0 || strcmp(ext, ".NSF") == 0 ||
+- strcmp(ext, ".nsfe") == 0 || strcmp(ext, ".NSFE") == 0 ||
+- strcmp(ext, ".sap") == 0 || strcmp(ext, ".SAP") == 0 ||
+- strcmp(ext, ".vgm") == 0 || strcmp(ext, ".VGM") == 0 ||
+- strcmp(ext, ".vgz") == 0 || strcmp(ext, ".VGZ") == 0
+- )
+- ) codec = GME;
+-
+ if (codec == UNKNOWN && ext != NULL) {
+ if (strcmp(ext, ".flac") == 0 || strcmp(ext, ".FLAC") == 0) {
+ codec = FLAC;
+@@ -1476,25 +1447,6 @@ int load_next() {
+ return 0;
+ }
+
+- if (codec == GME){
+-
+- sample_rate_src = 48000;
+- gme_open_file(loaded_target_file, &emu, (long) sample_rate_src);
+- gme_start_track(emu, subtrack);
+-
+- if (load_target_seek > 0) gme_seek(emu, (long) load_target_seek);
+-
+- if (old_sample_rate != sample_rate_src) {
+- src_reset(src);
+- }
+-
+- pthread_mutex_unlock(&buffer_mutex);
+- decoder_allocated = 1;
+-
+- return 0;
+-
+- }
+-
+ if (codec == MPT){
+
+ mod_file = uni_fopen(loaded_target_file);
+@@ -1811,20 +1763,6 @@ void pump_decode() {
+ pthread_mutex_unlock(&buffer_mutex);
+ }
+
+- } else if (codec == GME) {
+-
+- gme_play(emu, 1024, temp16l);
+-
+- pthread_mutex_lock(&buffer_mutex);
+- read_to_buffer_s16int(temp16l, 1024);
+- samples_decoded += 1024;
+- pthread_mutex_unlock(&buffer_mutex);
+-
+- if (gme_track_ended(emu)){
+- decoder_eos();
+- }
+-
+-
+ } else if (codec == FLAC) {
+ // FLAC decoding
+
+@@ -1853,12 +1791,7 @@ void pump_decode() {
+
+ unsigned int done;
+
+- if(src_channels == 1){
+- done = op_read(opus_dec, opus_buffer, 4096, NULL);
+- }
+- else{
+- done = op_read_stereo(opus_dec, opus_buffer, 1024 * 2) * 2;
+- }
++ done = op_read_stereo(opus_dec, opus_buffer, 1024 * 2) * 2;
+
+ pthread_mutex_lock(&buffer_mutex);
+ read_to_buffer_s16int(opus_buffer, done);
diff --git a/audio/tauonmb/config/python39.diff b/audio/tauonmb/config/python39.diff
new file mode 100644
index 0000000000..734a40fe11
--- /dev/null
+++ b/audio/tauonmb/config/python39.diff
@@ -0,0 +1,134 @@
+diff --git a/t_modules/t_main.py b/t_modules/t_main.py
+index 0d0626e..2348b31 100644
+--- a/t_modules/t_main.py
++++ b/t_modules/t_main.py
+@@ -25220,75 +25220,65 @@ class SearchOverlay:
+ go = True
+ clear = True
+
+- if extend:
+- match n:
+- case 0:
+- default_playlist.extend(self.click_artist(item[1], get_list=True))
+- case 1:
+- for k, pl in enumerate(pctl.multi_playlist):
+- if item[2] in pl[2]:
+- default_playlist.extend(
+- get_album_from_first_track(pl[2].index(item[2]), item[2], k))
+- break
+- case 2:
+- default_playlist.append(item[2])
+- case 3:
+- default_playlist.extend(self.click_genre(item[1], get_list=True))
+- case 5:
+- default_playlist.extend(self.click_meta(item[1], get_list=True))
+- case 6:
+- default_playlist.extend(self.click_composer(item[1], get_list=True))
+- case 7:
+- default_playlist.extend(self.click_year(item[1], get_list=True))
+- case 8:
+- default_playlist.extend(pctl.multi_playlist[pl][2])
+- case 12:
+- spot_ctl.append_track(item[2])
+- reload_albums()
++ extend_actions = {
++ 0: lambda: default_playlist.extend(self.click_artist(item[1], get_list=True)),
++ 1: lambda: [
++ default_playlist.extend(get_album_from_first_track(pl[2].index(item[2]), item[2], k))
++ for k, pl in enumerate(pctl.multi_playlist)
++ if item[2] in pl[2]
++ ][0],
++ 2: lambda: default_playlist.append(item[2]),
++ 3: lambda: default_playlist.extend(self.click_genre(item[1], get_list=True)),
++ 5: lambda: default_playlist.extend(self.click_meta(item[1], get_list=True)),
++ 6: lambda: default_playlist.extend(self.click_composer(item[1], get_list=True)),
++ 7: lambda: default_playlist.extend(self.click_year(item[1], get_list=True)),
++ 8: lambda: default_playlist.extend(pctl.multi_playlist[pl][2]),
++ 12: lambda: [spot_ctl.append_track(item[2]), reload_albums()],
++ }
+
++ show_actions = {
++ 0: lambda: pctl.show_current(index=item[2], playing=False),
++ 1: lambda: pctl.show_current(index=item[2], playing=False),
++ 2: lambda: pctl.show_current(index=item[2], playing=False),
++ 3: lambda: pctl.show_current(index=item[2], playing=False),
++ 5: lambda: pctl.show_current(index=item[2], playing=False),
++ 6: lambda: pctl.show_current(index=item[2], playing=False),
++ 7: lambda: pctl.show_current(index=item[2], playing=False),
++ 10: lambda: pctl.show_current(index=item[2], playing=False),
++ 8: lambda: switch_playlist(id_to_pl(item[3])),
++ }
++
++ go_actions = {
++ 0: lambda: self.click_artist(item[1]),
++ 10: lambda: [
++ show_message(_("Searching for albums by artist: ") + item[1], _("This may take a moment")),
++ threading.Thread(target=spot_ctl.artist_playlist, args=([item[2]])).start()
++ ],
++ 1: lambda: [self.click_album(item[2]), pctl.show_current(index=item[2]), setattr(pctl, 'playlist_view_position', pctl.selected_in_playlist)],
++ 2: lambda: [self.click_album(item[2]), pctl.show_current(index=item[2]), setattr(pctl, 'playlist_view_position', pctl.selected_in_playlist)],
++ 3: lambda: self.click_genre(item[1]),
++ 5: lambda: self.click_meta(item[1]),
++ 6: lambda: self.click_composer(item[1]),
++ 7: lambda: self.click_year(item[1]),
++ 8: lambda: switch_playlist(id_to_pl(item[3])),
++ 11: lambda: [spot_ctl.album_playlist(item[2]), reload_albums()],
++ 12: lambda: [spot_ctl.append_track(item[2]), reload_albums()],
++ }
++ if extend:
++ if n in extend_actions:
++ extend_actions[n]()
+ gui.pl_update += 1
++
+ elif show:
+- match n:
+- case 0 | 1 | 2 | 3 | 5 | 6 | 7 | 10:
+- pctl.show_current(index=item[2], playing=False)
+- if album_mode:
+- show_in_gal(0)
+- case 8:
+- pl = id_to_pl(item[3])
+- if pl:
+- switch_playlist(pl)
++ if n in show_actions:
++ show_actions[n]()
++ if n != 8 and album_mode:
++ show_in_gal(0)
+
+ elif go:
+- match n:
+- case 0:
+- self.click_artist(item[1])
+- case 10:
+- show_message(_("Searching for albums by artist: ") + item[1], _("This may take a moment"))
+- shoot = threading.Thread(target=spot_ctl.artist_playlist, args=([item[2]]))
+- shoot.daemon = True
+- shoot.start()
+- case 1 | 2:
+- self.click_album(item[2])
+- pctl.show_current(index=item[2])
+- pctl.playlist_view_position = pctl.selected_in_playlist
+- case 3:
+- self.click_genre(item[1])
+- case 5:
+- self.click_meta(item[1])
+- case 6:
+- self.click_composer(item[1])
+- case 7:
+- self.click_year(item[1])
+- case 8:
+- pl = id_to_pl(item[3])
+- if pl:
+- switch_playlist(pl)
+- case 11:
+- spot_ctl.album_playlist(item[2])
+- reload_albums()
+- case 12:
+- spot_ctl.append_track(item[2])
+- reload_albums()
++ if n in go_actions:
++ go_actions[n]()
++ reload_albums()
+
+ if n in (2,) and keymaps.test("add-to-queue") and fade == 1:
+ queue_object = queue_item_gen(item[2],
diff --git a/audio/tauonmb/doinst.sh b/audio/tauonmb/doinst.sh
index 1ed122d2fb..f76a4cc462 100644
--- a/audio/tauonmb/doinst.sh
+++ b/audio/tauonmb/doinst.sh
@@ -7,10 +7,6 @@ if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
-fi
-
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
diff --git a/audio/tauonmb/slack-desc b/audio/tauonmb/slack-desc
index 235e09d7a1..c04eab2c36 100644
--- a/audio/tauonmb/slack-desc
+++ b/audio/tauonmb/slack-desc
@@ -11,9 +11,9 @@ tauonmb:
tauonmb: Tauon Music Box is a modern streamlined music player with a minimal
tauonmb: interface that's packed with features! An emphasis on playlists and
tauonmb: direct file importing puts you in control of your music collection.
-tauonmb: Uses Phazor and GStreamer for playback.
+tauonmb: Uses Phazor for playback.
tauonmb:
tauonmb:
tauonmb: Project URL: https://tauonmusicbox.rocks/
-tauonmb: GitHub URL: https://github.com/Taiko2k/TauonMusicBox/
+tauonmb: GitHub URL: https://github.com/Taiko2k/Tauon/
tauonmb:
diff --git a/audio/tauonmb/tauonmb.SlackBuild b/audio/tauonmb/tauonmb.SlackBuild
index 4c242a3a58..2044008b1c 100644
--- a/audio/tauonmb/tauonmb.SlackBuild
+++ b/audio/tauonmb/tauonmb.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Tauon Music Box
-# Copyright 2019-2022 Pouria Rezaei <Pouria.rz@outlook.com>
+# Copyright 2019-2024 Pouria Rezaei <Pouria.rz@outlook.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,11 +27,12 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=tauonmb
-VERSION=${VERSION:-7.2.1}
-SRCNAM=TauonMusicBox
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-7.8.0}
+SRCNAM=Tauon
+BUILD=${BUILD:-4}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
+SLACKVER=$(awk 'NR {print $2}' "/etc/slackware-version" | sed 's/[^+]//g')
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -49,6 +50,8 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+KFVER=${KFVER:-131.1.0}
+MATAG=${MATAG:-4a5b74bef029b3592c54b6048650ee5f972c1a48}
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -61,7 +64,25 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+
cd $SRCNAM-$VERSION
+
+# - Replaced my own isounidecode with Unidecode.
+# - Pass libgme.
+# - Fixed custom theme bug.
+# - Reverted old days theme changer!
+patch -p1 < $CWD/config/fix-tauon-options.patch
+
+# Make libgme optional, isn't this messy already?
+if [ ! "${LIBGME:-no}" = "yes" ]; then
+ patch -p1 < "$CWD/config/obsolete-libgme.patch"
+fi
+
+# PHAZOR dependencies (Do not modify this part)
+mkdir -p src/phazor/{kissfft,miniaudio}
+tar xvf $CWD/kissfft-$KFVER.tar.gz --strip-components=1 -C src/phazor/kissfft
+tar xvf $CWD/miniaudio-$MATAG.tar.gz --strip-components=1 -C src/phazor/miniaudio
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -69,7 +90,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Compile PHAZOR (Do not modify this part.)
+# Compile PHAZOR (Do not modify this part)
sh compile-phazor.sh
# Compile translator
@@ -78,7 +99,7 @@ rm -f locale/*/*/*.po
case "$RPC" in
[yY][eE][sS])
- patch -p1 < "$CWD/flatpak-rpc.diff"
+ patch -p1 < "$CWD/config/flatpak-rpc.diff"
;;
esac
@@ -88,6 +109,12 @@ mv assets extra lib locale t_modules templates theme CHANGELOG input.txt \
cd $PKG/opt/tauon-music-box
+# Patch by Reza Talebi <reza.talebi.73@outlook.com>
+# - Compatiblity for python3.9 on Slackware 15
+if [[ ! "$SLACKVER" == "+" ]]; then
+ patch -p1 < "$CWD/config/python39.diff"
+fi
+
mkdir -p $PKG/usr/bin
install -m 0755 extra/$PRGNAM.sh $PRGNAM.sh
ln -sf /opt/tauon-music-box/$PRGNAM.sh $PKG/usr/bin/tauon
diff --git a/audio/tauonmb/tauonmb.info b/audio/tauonmb/tauonmb.info
index 8b5e9ccb1f..a3311b4fd4 100644
--- a/audio/tauonmb/tauonmb.info
+++ b/audio/tauonmb/tauonmb.info
@@ -1,10 +1,14 @@
PRGNAM="tauonmb"
-VERSION="7.2.1"
+VERSION="7.8.0"
HOMEPAGE="https://tauonmusicbox.rocks/"
-DOWNLOAD="https://github.com/Taiko2k/TauonMusicBox/archive/v7.2.1/TauonMusicBox-7.2.1.tar.gz"
-MD5SUM="66441bb1faa5475e246a9bb66c2c835e"
+DOWNLOAD="https://github.com/Taiko2k/Tauon/archive/v7.8.0/Tauon-7.8.0.tar.gz \
+ https://github.com/mborgerding/kissfft/archive/131.1.0/kissfft-131.1.0.tar.gz \
+ https://github.com/mackron/miniaudio/archive/4a5b74bef029b3592c54b6048650ee5f972c1a48/miniaudio-4a5b74bef029b3592c54b6048650ee5f972c1a48.tar.gz"
+MD5SUM="1e056ebbc649db767ff64e9275df60c1 \
+ 981ad3e496fbd8edb99704fc0e2aa939 \
+ 01b821de48cdba3838239b6cbd5e13e5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libopenmpt musicbrainzngs mutagen pylast python3-isounidecode python3-natsort python3-plexapi python3-pulsectl python3-pylyrics python3-pysdl2 send2trash setproctitle websocket-client"
+REQUIRES="libopenmpt musicbrainzngs mutagen pylast Unidecode python3-natsort python3-plexapi python3-pulsectl python3-pylyrics python3-pysdl2 send2trash setproctitle python3-websocket-client"
MAINTAINER="Pouria Rezaei"
EMAIL="Pouria.rz@outlook.com"