The officially official Devuan Forum!

You are not logged in.

#1 2025-07-20 20:54:01

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

New Project, a simple music player. And now a video player!!

Working on a quick-and-dirty simple music player, using ffplay as the backend. Re-using a lot of code and protocols from some other ones I have made. Uses a text database that's scraped from ~/Music and ffplay to do the work, gui is C and GTK.

EDIT: Philosphy of use and protocol: Featureless. No replaygain, no eq, no excessive controls, no album art, no skins, no visualizations, no plug-ins, no lyrics, no fetching tags, no bouncy graphic doo-dads. Just a simple music player, that's all I want it to do. Opens waaaaay faster than other music programs and plays until I tell it to stop.

It's another niche app, and that's okay. I learned a lesson early on in my linux years: You can either make do, or make new. I have reached a point in my life where I have more time to make new, so that's what i'm doing. Making things I like, just how I want them. But I share with other folks too in case they might find some use for them, and of course it's all FOSS, anybody is welcome to take anything I do and make something they like even better. But I expect there's more than one ol' hardass like me that wants simple things. wink

Working prototype:

hh3gaf.png

Last edited by greenjeans (2025-07-24 02:50:16)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#2 2025-07-20 22:34:15

Devarch
Member
Registered: 2022-10-03
Posts: 103  

Re: New Project, a simple music player. And now a video player!!

Will it support ReplayGain?

Offline

#3 2025-07-20 22:42:02

zapper
Member
Registered: 2017-05-29
Posts: 1,064  

Re: New Project, a simple music player. And now a video player!!

Doesn't a music player like that already exist though? I think there are already ones like that out there already. pragha, moc lxmusic are three I can think of right off the bat.


Freedom is never more than one generation away from extinction. Feelings are not facts
If you wish to be humbled, try to exalt yourself long term  If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Peace Be With us All!

Offline

#4 2025-07-21 09:30:11

Camtaf
Member
Registered: 2019-11-19
Posts: 481  

Re: New Project, a simple music player. And now a video player!!

@ zapper
It doesn't matter that there are already similar players, this one is personal.... big_smile

Quick & dirty music player to me is mc. smile

Offline

#5 2025-07-21 13:37:35

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

^^Correct!

But really, it isn't similar to the ones he mentioned at all. Plus, go ahead and search for a simple gui frontend to ffplay to only play music and nothing else. There's some bits and chunks here and there, but most are full-on MP's or video players, converters etc. ffmpeg does a lot of stuff, easy to get caught up in "what if I added blah blah?" Then comes the feature bloat.

But it seems like most times when I start a project or even think out loud about one, there's always gonna be that guy that has to post "why don't you just use blah blah?"

Really no point in trying to explain myself to 'em.

Last edited by greenjeans (2025-07-21 13:43:22)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#6 2025-07-21 13:46:27

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

A quick and dirty music player is Alsaplayer, it's pretty nice, but the alsaplayer-gtk package has been dropped in excalibur/trixie because debian doesn't like that it's gtk2.

No side panel, or I maybe would have been content with it. One of the developers even mentioned that it would be great if someone modded the code to gtk3, I took a look at it, but man it's a LOT more code than what I typically use. I also thought about just making a simple gui using it for a backend, but ffplay just works on so many more formats and it's already onboard all my systems.

Last edited by greenjeans (2025-07-21 13:52:25)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#7 2025-07-22 14:29:12

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

Man, this stuff is hard, spent half of yesterday getting proper behavior and squashing little self-induced bugs (made a pause button but forgot to make the un-pause method etc.), then spent the rest trying to figure out how to make the search do things in a very complex way, and that part still doesn't work right. Tempted to blow it off as this really doesn't need search as all the artists/albums are already listed in the treeview.

But now Devarch has me thinking about replaygain...*sigh*...from what I read, ffplay supports reading the tags and making volume changes accordingly, but can't calculate it itself, so the music itself would already have to be formatted with the extra metadata. Of course if the music is ripped with some care about volume levels and such to start with, replaygain is not necessary.

If there are folks out there wanting to try what i'm doing but like me don't have formal training or work-experience doing these things, the most important advice I can give is this: Baby steps for everything. And I do mean tiny baby steps. I have some skeleton scripts now for gui's that work and save me time on new projects, but they were built using baby steps too.

It's hard for sure, but the satisfaction level is through the roof when you finally get something that works.

Last edited by greenjeans (2025-07-22 14:43:31)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#8 2025-07-24 02:54:59

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

And now a second app, a simple video player, also using the ffplay backend. Everything working so far, it scrapes ~/Videos and makes a DB of your videos, displays them in the treeview pane, plays the video in the main pane. All controls work in the gui, and all the keyboard/mouse shortcuts work on the video. It will maximize and size accordingly (not true fullscreen though). Less than 300 lines of source code. wink

Next step= integrate the two for a full media player.

Screenie of working proto:

5ogwkp.png

Last edited by greenjeans (2025-07-24 02:55:46)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#9 2025-07-24 03:19:57

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

I also made a PcmanFM right-click context menu extension this morning, to view metadata in audio and video files using ffprobe and exiftool.

The script should work for most any file manager that accepts user-made extensions.

#!/bin/sh

# Name: metaview
# Copyleft: greenjeans 2025, use as you see fit.
# This script when combined with a .desktop file, 
# is to give you a "view metadata" option for a given file 
# when you right click on audio/video files in the file manager.
# Depends: ffmpeg, yad, libimage-exiftool-perl

filename=$(basename "$1")
{
  echo "\n---- Metadata for $filename ----"
  echo "________________________________________"
  echo "\n---- FFprobe ---- \n"
  ffprobe -hide_banner "$1" 2>&1
  echo "\n________________________________________\n"
  exiftool -a -u -g1 "$1"
} | yad --text-info --borders=10 --title="Metadata" --width=600 --height=400 --center --window-icon=preview-file --image=preview-file --margins=10 --button=gtk-close:0

https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#10 2025-07-24 22:00:39

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

Added internet radio to the music player!

d6x3by.png


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#11 2025-07-25 04:27:17

EDX-0
Member
Registered: 2020-12-12
Posts: 126  

Re: New Project, a simple music player. And now a video player!!

i liked your metadata viewer but did some modifications

#!/bin/sh

# Name: metaview
# Copyleft: greenjeans 2025, use as you see fit.
# This script when combined with a .desktop file, 
# is to give you a "view metadata" option for a given file 
# when you right click on audio/video files in the file manager.
# Depends: ffmpeg, yad, libimage-exiftool-perl

c=0
sep="_"
separator="$sep"
while [ "$c" -lt 80 ]; do
    separator="${separator}${sep}"
    c=$(( c + 1 ))
done

# basename? we don't need that!
filename="${1##*/}"

thumbnail="preview-file"

encode_thumbnail () {
    filepath=$(realpath "$1")
    # ah perl, what would we do without ya and what can we do with ya...
    perl -MURI::file -MDigest::MD5=md5_hex \
        -e 'printf "%s.png\n", md5_hex(URI::file->new(shift))' "$filepath"
}

find_thumbnail () {
    thumbdir="${XDG_CACHE_HOME:-$HOME/.cache}/thumbnails/normal"
    thumbpath=$(encode_thumbnail "$1")
    thumbpath="$thumbdir/$thumbpath"
    if [ -r "$thumbpath" ]; then
        thumbnail="$thumbpath"
    fi
}

find_thumbnail "$1"

# no idea if this will work on a multi-display setup
geometry=$(xdpyinfo | grep 'dimensions:' | cut -d' ' -f7)
w="${geometry%x*}"
h="${geometry#*x}"
w=$(( w - 400 ))
h=$(( h - 200 ))

{
  printf '\n---- %s ----\n' "Metadata for $filename"
  printf '\n%s\n\n' "$separator"
  printf '\n---- %s ----\n' "FFprobe"
  ffprobe -hide_banner "$1" 2>&1
  printf '\n%s\n\n' "$separator"
  exiftool -a -u -g1 "$1"
} | yad \
    --text-info --borders=10 --title="Metadata" --width="$w" --height="$h" \
    --center --window-icon=preview-file --image="$thumbnail" --margins=10 \
    --button=gtk-close:0

the changes are:
make the underline separators 80 columns wide
show the thumbnail of the file if it exists
make the window size depend on the display geometr

Offline

#12 2025-07-25 14:26:52

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

^^Snazzy! But probably a little too upscale for my ol redneck projects. wink


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#13 2025-07-25 17:22:04

EDX-0
Member
Registered: 2020-12-12
Posts: 126  

Re: New Project, a simple music player. And now a video player!!

fair

Offline

#14 2025-07-25 20:15:58

SteveM
Member
Registered: 2025-07-16
Posts: 5  

Re: New Project, a simple music player. And now a video player!!

Just a simple music player, that's all I want it to do. Opens waaaaay faster than other music programs and plays until I tell it to stop.

Nothing wrong with that! No one knows what suites you better than you do and no need for all of that bloat and slowness.

It reminds me of calculators. There must be hundreds or thousands of them out there, but I could be a lifetime trying to find one that suites me. I do a lot of low level work in binary, hex, and decimal and need to quickly convert between them and manipulate the data. The Windows calculator isn't terrible, but I have to switch back and forth between "programmer" and "scientific" to perform floating point operations (very needed in FPGA DSP work). That gets really old fast. Today I needed to do a fairly simple task of reducing 0x1FFF to 10%. In Windows I can enter 0x1FFF in hex then switch to decimal and divide by 10 and see the answer displayed in all of the number formats, including hex. In Kcalc I couldn't find a way to do this other than to divide 0x1FFF by 0xA. And in Kcalc you switch between bases in a drop down menu which is painfully slow and doesn't convert the number in the entry field for you. Imagine if I just rolled my own calculator in the spirit of what you have done, tweaked to fit my own quirks.

Offline

#15 2025-07-26 22:20:51

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

^^^Thanks so much for the kind words SteveM!! It was especially timely in that when I read your post , I had already been working on this app for almost 8 hours, and right in the middle of doing that I found a bug in another app I made that I previously thought was done and needed nothing else, so I had to stop and switch gears and fix it, and boy was I ever aggravated! Your post was a badly needed breath of fresh air, thanks man, it helped me get back on track. smile


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#16 2025-07-26 22:30:16

golinux
Administrator
Registered: 2016-11-25
Posts: 3,474  

Re: New Project, a simple music player. And now a video player!!

/me sends greenjeans a virtual hug . . .

Offline

#17 2025-07-27 01:21:12

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

^^^Mega hugs back atcha Sister!!

Been a looooong day of squashing bugs and fixing behavior but the gui is close, got to start fixing some issues in the scraper script tomorrow too, after that the next phase is integrating a record button to record streams using Streamripper for the backend. wink

Edit: Oh yeah, right now the radio section for now playing only includes the station name and "streaming" as a placeholder for artist/song. Got to spend a hella lotta time I reckon tomorrow going through documentation as I need to parse the stream for that data, probably libavformat will work.

eenjhd.png

Last edited by greenjeans (2025-07-27 01:28:22)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#18 2025-07-29 01:34:59

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

Got the scraper/gui fixed, that was an all day ordeal. Added parsing of radio streams to get artist/track data, that also was an all day ordeal.

xefh9e.png


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

#19 Yesterday 20:43:10

greenjeans
Member
Registered: 2017-04-07
Posts: 1,049  
Website

Re: New Project, a simple music player. And now a video player!!

And now I added a function to record internet radio streams using Streamripper for the backend. wink

That was actually much easier than most of this stuff has been, only took about half a day.

https://imgdump5.novarata.net/649b0e.png

https://imgdump5.novarata.net/4zwdq1.png

https://imgdump5.novarata.net/7l6rp9.png

Last edited by greenjeans (Yesterday 21:52:19)


https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded April 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do. wink Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate

Offline

Board footer