./audio/termusic, Music Player TUI written in Rust

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.9.0nb1, Package name: termusic-0.9.0nb1, Maintainer: pkgsrc-users

Terminal Music Player written in Rust.

Listen to music freely as both in freedom and free of charge!

Freedom: As time goes by, online service providers controls pretty much
everything we listen. Complicated copyright issues make things worse.
If my favorite song cannot be found in a website, probably I'll just not listen
to them for years.

Free of charge: you can download from youtube, netease,migu and kugou for free.
No need to register monthly paid membership for several websites.

As a contributor of GOMU, I met serious problems during development. The main
problem is data race condition. So I basically rewrite the player in rust, and
hope to solve the problem.

As for now, mp3, m4a, flac, wav and ogg/vorbis are supported.
By the way, for mobile devices, I recommend sync your music library with mobile
by verysync and listen to them with vinyl(which I contributed also).

If you wish to download mp3 from youtube, install youtube-dl.


Master sites:

Filesize: 3307.381 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-05 16:01:01 by Thomas Klausner | Files touched by this commit (49)
Log message:
*: recursive bump for protobuf 26.1
   2024-03-25 14:18:00 by pin | Files touched by this commit (3) | Package updated
Log message:
audio/termusic: update to 0.9.0

[v0.9.0] - Released on: March 24, 2024.
 - Big thanks to the contribution of hasezoey. A lot of improvements and \ 
refactors in this release. Especially now you can change backends without \ 
recompile.
 - Change: updated MSRV to 1.74.
 - Change: better Error messages if the server binary cannot be started.
 - Change: small optimizations.
 - Change: change almost all eprintln to be log::error.
 - Change: change almost all println to be appropriate log levels.
 - Feat: change logger to be flexi_logger, including logging to file.
 - Feat: add cli arguments to the server binary.
 - Feat: add a lot more metadata to media controls, like cover art, duration, \ 
seek, volume(RW), quit.
 - Feat: support mkv & webm in backend rusty (no metadata, support depends \ 
on codec).
 - Feat: in backend rusty, buffer files in 4Mb chunks.
 - Feat: better version via --version.
 - Feat: allow specifiying which interface (ip) to run on.
 - Feat(server): allow compiling multiple backends via features and select at \ 
binary start (via --backend or TMS_BACKEND).
 - Feat(server): for backend mpv, switch to use libmpv-sirno and use mpv API 2.0.
 - Feat(server): for backend mpv and gstreamer, speed change without changing \ 
pitch is great for podcasts.
 - Feat(tui): add a "currently playing" symbol to active track in playlist.
 - Feat(tui): add search function for Podcast Episodes.
 - Feat(tui): allow confirming quit-confirm choices with Y or N.
 - Feat(tui): allow confirming config save confirm choices with Y or N.
 - Fix: try to find the server binary adjacent to the TUI binary.
 - Fix: change many panics to be results instead.
 - Fix: dont panic if "music_dir" value is empty when entering config \ 
editor, fixes #161.
 - Fix: log something if a file is not going to be added to the playlist.
 - Fix: in backend rusty, skip all tracks (and packets) that are not the \ 
selected track in backend in decode.
 - Fix: in backend rusty, correctly select a audio track (instead of symphonia's \ 
default which might be something else).
 - Fix: in backend rusty, when using radio, always use overwrite the last radio \ 
title instead of appending.
 - Fix: in backend rusty, when using radio, parse until '; instead of just ', \ 
now things like Don't actually work correctly.
 - Fix: in backend rusty, when using radio, dont infinitely save the stream.
 - Fix: in backend rusty, when using radio, now only use 1 stream to get audio \ 
and metadata (instead of 2).
 - Fix: in backend gst, fix gapless track change not being tracked correctly, \ 
fixes #192.
 - Fix(tui): add panic hook to reset screen before printing backtrace.
 - Fix(tui): dont extra clear screen on quit.
 - Fix(tui): reset screen if a Error(Result) happens and exit properly.
 - Fix(tui): wait until tonic is connected instead of static sleeps.
 - Fix(tui): only display ueberzug "Not found" errors once.
 - Fix(tui): blanket disable ueberzug for windows.
 - Fix(tui): in Database -> Tracks view, display track title instead of filename.
 - Fix(server): log port used.
 - Fix(server): log on quit.
 - Fix(server): properly exit on player thread crash (instead of being \ 
pseudo-zombie).
 - Fix(server): potentially fix media display in windows.
 - Fix(server): in backend rusty, fix radio not starting if gapless is enabled \ 
and the track changes to be radio (from something else).
 - Fix(server): in backend rusty, fix radio streams not being stopped once they \ 
have been skipped.
 - Fix(build): install to $CARGO_HOME/bin instead of always into a static path.
 - a bunch of internal refactors.

[v0.8.0] - Released on: March 23, 2024
 - Yanked as it had been a broken release, see v0.9.0 instead.
   2024-01-30 19:29:21 by Adam Ciarcinski | Files touched by this commit (47)
Log message:
revbump for devel/abseil
   2023-11-15 19:14:46 by Thomas Klausner | Files touched by this commit (55)
Log message:
*: bump for protobuf 25
   2023-11-02 13:20:06 by Thomas Klausner | Files touched by this commit (54)
Log message:
*: recursive bump for protobuf
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2023-07-12 22:16:11 by pin | Files touched by this commit (4) | Package updated
Log message:
audio/termusic: update to 0.7.11

[v0.7.11] Released on: July 11, 2023.
 - For packagers: This version add a binary termusic-server and remove some
   features flags, please kindly check Makefile for changes and update packaging
   script accordingly. Thanks so much.
 - New: split the function of app to termusic-server and termusic.
   termusic-server can be run separately with RUST_LOG=trace termusic-server
   to debug.
 - New: remove feature flag mpris and use a configuration option
   use_mpris(default is true) to control the function.
 - New: remove feature flag discord and use a configuration option
   use_discord(default is true) to control the function.
 - Change: loop mode change to single/playlist/random. Remove the option to
   add tracks in the front of playlist.
 - New: termusic-server and termusic communicate through rpc, and the default
   port is 50101. Can be configured as other values.
 - New: can load .m3u file with live audio stream.
   2023-04-10 17:19:29 by pin | Files touched by this commit (3) | Package updated
Log message:
audio/termusic: update to 0.7.10

[v0.7.10]
Released on: April 09, 2023.
 - Fix: don't panic if XDG_MUSIC_DIR is not set.