#Songo #5

1734 messages · Page 2 of 2 (latest)

unborn barn
#

Little question, are those songs you actively listen?

sand hemlock
#

I fucking love Tessa Violet

#

My music taste all over the place though, childish Gambino, TWRP, Abba

sand hemlock
#

Hey folks, heres v0.3.3 Tina:
https://drive.google.com/drive/folders/1721ry10xuoTSClFBV7VmCZzTETO9kiqH?usp=drive_link

Change Notes:

  • Fixes bug with main menu size not being applied immediately when changed in settings
  • Adds Song Following this can be enabled/disabled in the settings menu, enabled by default. Now when you nav back out of a song it will keep playing and show a song panel that follows you in the app.
  • Organizes/cleans up some settings
  • Adds more debug info for screen resolution, orientation, and window sizes
#

If you get a chance to try this version out @lunar cloud let me know what the new debug info shows on your rp mini. Nothing in this update should fix your issue but the extra info should help me close in on the issue.

#

Last Comments:
The song follow is really fun and in my opinion takes songo one step closer to feeling like a bonafied fleshed out music player. I hope you folks like it.

unborn barn
#

Now only playing music while the app is closed and it will be my favourite app

sand hemlock
#

Let's get playlists out the door first and then we can talk about background playing.

lunar cloud
#

before, then after turning on force full screen and off again

sand hemlock
#

If you leave force screen fit on and reboot the app does it boot broken?

ashen imp
#

Web radio my beloved 😭

lunar cloud
#

you can see it in the picture actually, the battery icon is occluded

lunar cloud
ashen imp
#

@ocean fog if you need a tester for your web radio I'm happy to help!

unborn barn
#

There are also a ton of radio apps for muOS

sand hemlock
unborn barn
#

also another question i got, are there any benefits from your custom runtime ?

sand hemlock
#

Yes, Godot can't decode flac, read metadata, or stream audio from external files. I built all that into the runtime

unborn barn
sand hemlock
#

Works fine on windows, I can send you a version. I haven't had a need to get it on Linux x86 but I can probably do that no problem

lunar cloud
# sand hemlock With fit full screen enabled does it boot and fit the UI fine or do you need to ...

re-enable every time...from startup without force full screen it scales off the right side, from startup with force full screen it doesn't reach the right side...anything that changes the screen resolution while the app is active will make it fit after at least two resizes max

...also i got around to loading the new update on the RG35XX-H, song follow works very well in the UI, do we have any buttons set up to control or return to the following music?...maybe shoulder buttons to forward and back or some button to return to it without re-starting from another prompt?

ashen imp
# unborn barn Also MPD Supports web Radio

i tried mpd but it was really struggling to decode the streams properly, i remember experiencing some problems. I should also change my role cause i have switched to Knulli now >:)

unborn barn
#

i more guess your wifi connection was the problem or CPU was completly used by a other application

sand hemlock
#

Id also guess it's the connection, these handhelds are kind of bottlenecked with their wifi and bluetooth hardware

ashen imp
unborn barn
sand hemlock
#

Best case scenario maybe the web api has an endpoint you can hit that can limit the bitrate but that seems like wishful thinking

sand hemlock
lunar cloud
# sand hemlock This problem does not cease to confound me

at this point i'm willing to just call it a loss as i feel we're troubleshooting in circles and it seems that only my device is affected in this odd case...wouldn't hurt to leave some of the functionality there for if any devices have similar outcomes but i'm fine in continuing to test from the RP35XX-H until the RP-Mini's inclusion becomes relevant again, like another RP Flip / RP5 gets brought in for testing

sand hemlock
#

That's probably a good idea but it doesn't feel good haha

lunar cloud
#

I've learned to triage in my line of work 😁...this feels like something that needs a deeper dive and it's largely a distraction in the short term goals

sand hemlock
#

Remind what was the behavior in v0.3.0? This issue wasn't there right? Or behaved differently?

unborn barn
#

hmm im wondering godot should normally already detect what screen resolution its on, so maybe removing GODOT_OPTS could help?

lunar cloud
sand hemlock
#

v0.3.0 was still forcing the resolution, I think for your case you should change the actual launch line back

#

So just replace GODOT_OPTS with this
--resolution ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}
And that should hopefully fix the aspect ratio issue

unborn barn
#

i think your issue is actually the -f ?

#

ah you removed it lol

sand hemlock
#

Yea I just noticed that lol

#

The -f seems like the issue if GODOT_OPTS is actually getting populated like you mentioned earlier Dia

#

Is there a video showing the jitter you mentioned @lunar cloud

lunar cloud
unborn barn
#

GODOT_OPTS=$(echo "$GODOT_OPTS" | sed -E 's/(^|[[:space:]])-f($|[[:space:]])/ /g' | sed -E 's/(^|[[:space:]])--fullscreen($|[[:space:]])/ /g')

that should work i guess

lunar cloud
sand hemlock
#

Thanks! I appreciate all the testing and reporting back 🙏

unborn barn
#

GODOT_OPTS=${GODOT_OPTS//-f/}
or wait that should work too lol

#

and that should even work when GODOT_OPTS is not set like on some systems?

#

ill also test godot later

#

i need sleep, meant rocknix

sand hemlock
#

it's working fine on Rocknix with a rg35xxh, Im thinking it has more do to with the hardware

#

I wont say no to help investigating this though

unborn barn
#

i guess weston could be a bitch here

sand hemlock
#

I dont use weston for the port, is that what your referring to?

unborn barn
#

im talking about real weston and not westonpack

sand hemlock
#

Well then carry on 🫡

unborn barn
#

Out of the box, Weston provides a very basic desktop, or a full-featured environment for non-desktop uses such as automotive, embedded, in-flight, industrial, kiosks, set-top boxes and TVs. It also provides a library allowing other projects to build their own full-featured environments on top of Weston’s core.

The core focus of Weston is correctness and reliability. Weston aims to be lean and fast, but more importantly, to be predictable. Whilst Weston does have known bugs and shortcomings, we avoid unknown or variable behaviour as much as possible, including variable performance such as occasional spikes in frame display time.
#

that is the compositor for some rocknix devices

#

others use sway

#

little reminder to make your binaries actually runable lol

#

@sand hemlock Ive got a even worse thing btw. Let me make a picture

#

GODOT_OPTS=${GODOT_OPTS//-f/}

that fixed it

#

yup its really the -f, just added a -f after it and it looks funny again

lunar cloud
#

so the line i'm editing is 76 (correction) in the graphic right?

unborn barn
#

its basically unimportant where you place it, aslong it has a own line and lower than the mod line

lunar cloud
#

gotcha

unborn barn
lunar cloud
#

added and working:

GODOT_OPTS=${GODOT_OPTS//-f/}

back to the original jitter which i'll do a video for now

sand hemlock
#

That is so weird, does it behave the same if you rapidly press the dpad instead of hold it?

lunar cloud
#

yeah, it's like a chance each time it scrolls that it happens regardless of how it scrolls....also if you look closely you'll see the screen elements in the top right rolling over to the bottom in the same position during the jitter, like it can't decide how to display the screen when it faults

#

if i had to rough estimate it's between 30% and 50% of the time when it scrolls...

i figured out i can trigger it while a song is in focus...1 sec

sand hemlock
#

Interesting, I bet theres some default control mapping happening. The ui_up and ui_down controls don't do anything in that view

#

Im not using any kind of shader that would make the UI overflow and wrap to the top or bottom though. This has to be another rp-mini quirk

#

I suspect these issues will probably apply to any of these devices built for android but idk

#

Does it do it if you try and scroll by repeatedly flicking your left joystick down? (holding it down probably wont actually scroll)

lunar cloud
#

up/down/left/right, single press or held in the music in focus have the chance of it per press, just tested various button presses, also the dim/wake causes the jitter too

sand hemlock
#

That's including nav with the joystick as opposed to the dpad?

#

I just did some discovery on m3u playlist integration and it's looking really good. Nothing substantial is built out yet but I can convert my internal music record data into m3us and convert m3u files into music record collections.

lunar cloud
sand hemlock
#

Hmm do you have other Godot ports on there? Can you try and spam dpad on a port like kobold kallista and let me know if it does the same thing? No worries if youre busy

lunar cloud
#

i'm downloading it now

#

kobold kallista runs fine, no graphical issues, to be fair it's panel transitions and not scrolling though

sand hemlock
#

Well the individual song screen doesnt have any scroll components and it happens there which is odd

lunar cloud
#

i agree it's straight up weird 😅

sand hemlock
#

Can you go to a song then lock your inputs with the quick menu and tell me if it still jitters with your inputs locked while pressing the dpad?

lunar cloud
#

yes, just tested, replicated on the main screen with controls locked

remote swan
#

It stays 4:3 regardless of screen aspect ratio and just scales up at best

#

Too much is hard coded sadly

small tapir
#

if you are interested in having this added to the applications area on muOS when the port installs let me know, but you can steal the mux_launch.txt from flipclock directly and it should just work with the beta Portmaster

sand hemlock
lunar cloud
#

sure

lunar cloud
sand hemlock
#

Hell yea, now we're getting somewhere

mortal moat
#

The new update is working flawlessly! Thanks again for all your effort, this thing is running smooth as hell.

I was thinking about the playlist system and wanted to share a few ideas that might make it both powerful and simple to implement.

Maybe start by adding a “Playlists” block right on the main menu, same style as the All Songs / Albums / Artists tiles. Once you select a playlist, you could scroll through your whole collection and use button combos to build or edit it:

  • B + Right → Add the current song from “All Songs” to the selected playlist
  • B + Left → Remove it from the playlist when editing

That keeps everything controller-friendly without needing a keyboard.

For naming, playlists created inside the app could just use generic names (Playlist 1, Playlist 2, etc.), and if someone wants to rename them, they can simply rename the playlist file on the SD card the app could pick up the new name automatically on rescan. No typing UI needed.

And on the backend, it might be best to use a hybrid format save playlists as JSON internally (for metadata, album art, etc.) but also allow import/export with M3U files for compatibility with other players.

That setup would make it easy to create and manage playlists on-device while keeping it open for anyone who wants to share or import theirs.

Just ideas, above all else thank you for all your effort as always. It's greatly appreciated!

sand hemlock
mortal moat
sand hemlock
#

Small preview

#

Playlists will be instantiated and deleted from the settings menu. Editing them will be handled differently. Basically my working idea for editing is that I will use a similar strategy as song follow. You enter an edit mode and then a panel follows you around the app and when you select a song it will get added to the playlist instead of opening the song and playing it.

#

I think it will feel pretty intuitive. I will also have a quick menu option available whenever you are listening to a song that will add that song to your most recently edited playlist.

#

Also a quick note, I know the settings page is growing rapidly. I plan on breaking these panels into subpages accessible from a top level settigns index.

ocean fog
#

I see here a solution that could easily replace the rockbox!

remote swan
#

Just curious and don't know if it's been brought up but will it be open source?

sand hemlock
sand hemlock
remote swan
#

Ah k... Started wondering about additional codec support... Looking forward to it

ocean fog
sand hemlock
#

I feel pretty good supporting mp3 and flac right now, m4a would probably be a bear to add

mortal moat
sand hemlock
sand hemlock
#

Made some more progress on playlists today, it's coming together really nicely. Does anyone use a m3u management tool I can check out? I want to be sure I build this out so it works well with external tools if need be

mortal moat
#

I never made one, I was going to try and automate it tho 😅 if you give me a bit of time I’ll knock it out in a moment

mortal moat
#

im sorry I cant be much help here, I usually download my playlist in folders so my "chill mix" is that folder

and all i had to do was just a small command RIP

…/KeepLocal/Omarchy ❯ cd Chill\ Mix/

…/Omarchy/Chill Mix ❯ command ls -1v --quoting-style=shell-escape *.mp3 > playlist.m3u

…/Omarchy/Chill Mix ❯ vlc playlist.m3u

I suppose it really just a doc that keeps the titles. I thought it was something fancy doggokek

sand hemlock
#

Yea this confirms what I was beginning to suspect, I'm over engineering this. My current working implementation moves all the meta data in and out of m3u files as well

#

I gotta knock that off haha

unborn barn
#

I would say just make your own playlist thing where its simply just a name of the Song

mortal moat
# sand hemlock I gotta knock that off haha

It seems to be pointers

If ~/songname.mo3

full path

I suppose if someone wanted to add a song in a different folder

It just would pull the full path ending with name

Over engineering just means you care 🎉

unborn barn
#

M3u's are universal across all system but a pita

unborn barn
#

(Is there any song limit or will Songo #5 crash when i add like 4k songs )

unborn barn
#

my mp3 player crashed horribly when i did that. I mean this got like 200x the ram but still

lunar cloud
#

i'm at around 850-ish right now and i've seen no real ill affects...i've been a bit tempted to throw 50gb of music at it but all that will tell is that it breaks

unborn barn
#

sadly my stupid ass compressed most of the music so it will only be like 4gb

lunar cloud
#

compressed...like down sampling or literally compressed archives?

unborn barn
#

down sampling to i think 64kbit/s

#

from .flac to mp3

lunar cloud
#

64k.....that's like $5 ring tone quality from the early 2000's

unborn barn
#

i take it back its 128kbit

lunar cloud
#

128k is at least radio-ish quality...

#

...to be fair the human ear can't discern much over 256k...but you really scared me there with 64k

unborn barn
#

(Im sometime listening to spotify on low settings which is 24 kb/s btw, dont hear any much difference )

lunar cloud
#

I suppose it depends on what you listen to....i'm no audiophile by any measure, but my "comfortable" range is between 128k and 256k...i prefer to have variable bitrates over lossless like flac...but listening to music south of 64k is a bit too crunchy for me 😁

sand hemlock
unborn barn
#

i really need to listen to actually notice a difference

unborn barn
sand hemlock
#

I have 1244 songs currently and no signs of stress

#

Everything is essentially streamed or handled asynchronously so it should be able to take anything you throw at it

unborn barn
#

not even loading metadata in ram?

sand hemlock
#

Technically thats a limiter but I haven't hit that limit yet and don't expect that I will

#

That said I have some optimizations in mind to mitigate that if needed. I should probably see how well songo works on a half gig of ram

lunar cloud
unborn barn
#

I wish kindles could run godot, it would be the perfect music player at night

lunar cloud
#

is it just having a thin, small, tablet that would be ideal or something more specific about the featureset in the kindle?

unborn barn
#

The E-Ink is what i really like. My eyes get really stressed when looking at bluelight at night

lunar cloud
#

usually those devices don't have enough juice to run anything more complicated than text though, hence the godot issues....that and people not focusing on multi-function in that form factor due to the limitations of e-ink as a display.......yeah, that's a conundrum...you could have two bespoke devices which would likely do the job better though as there isn't a lot of overlap in the two usage "modes"

sand hemlock
#

Still making headway on playlists btw

#

Using a different image style from the dicebear API for playlist default images

lunar cloud
#

figured some time was needed to implement playlists since it was outside the original scope

unborn barn
lunar cloud
lunar cloud
#

yeah....i was trying to line up features in the scenario you described, e-ink, nearly a full android device, but not a phone...odd combo that jumped out

unborn barn
#

Also i bought a Kindle for directly not having a phone. I can read books of my phone fine its just that having one device for Books doesnt get you distracted with Whatsapp, Insta, Tiktok like that. Just a device made as a safe place which my kindle is. Listening to music while reading without anything annoying me

lunar cloud
#

makes sense, nearly unplugged, just missing some ram and other features to make it a full package

unborn barn
#

also i dont see anything good on that phone lol

#

OH Nice this Music player can actually correctly show russian characters

lunar cloud
#

interesting

unborn barn
#

that it can show russian characters or something else?

lunar cloud
#

i guess when i pointed out japanese characters being absent i guess most of the other character sets were added as well

unborn barn
#

this is the only song i got that isnt using generic UTF-8 Characters so idk

#

3 Feature requests (sorry) : Eh going back to a song when you went out of it would be nice, setting screen brightness or not overwriting it when screen auto turn off is off and putting songs in some kind waitlist

sand hemlock
# unborn barn

Yep yep, if you find any languages with characters that don't render just let me know. It should have pretty good coverage though

unborn barn
#

BTW is your runtime open source?

sand hemlock
#

Not yet but it will be. At least the parts I added to Aris Valdez' SDL2 branch of Godot 4.3

sand hemlock
#

And for clarity that will mean the whole runtime can be built as it is currently in Songo.

#

The modules are pretty clean too. Essentially just wrapping industry standard c libraries into Godot flavored interfaces. Dr_flac, and dr_mp3 are wrapped into a module I'm calling UniversalStreamer though it's not very universal yet.

#

I guess industry standard would be more like a ffmpeg wrapper. The dr_lib stuff is great though

#

I might have 3.4 out today, playlist functionality is done. Im just fighting my virtualized lists now. It doesn't like having elements to be removed at runtime haha

#

At least not in a way that feels smooth. I can force the list to rebuild but I want the focused element to persist and I want to avoid a stutter in the UI

sand hemlock
#

We're getting close folks

unborn barn
#

You can push so much out of this Game engine

sand hemlock
#

Godot is pretty fun

#

This is my other hobby project I'm making in Godot.
https://bsky.app/profile/nikisquest.bsky.social/post/3lwtqbenkh22f

I added some better lighting in this room and played around with adding terrain around the walls to make the derelict-underground-castle vibe a bit more pronounced. What do you think? I show the room in-game at the end of the video here 🙂
#godot #GodotEngine #roguelike #indiegame #blender #pixelart

▶ Play video
ocean fog
#

@sand hemlock You are doing a game too?

unborn barn
#

i would have guessed so that you are doing games, your app is really good so i knew you arent just starting

ocean fog
#

@sand hemlock Works as developer, is building this app and a game. Does he sleeps?

sand hemlock
#

I also have a 5 year old and a 3 year old, I guess I'll sleep when I'm dead?

mortal moat
polar crypt
sand hemlock
sand hemlock
#

Here it is

polar crypt
sand hemlock
#

Ok folks, I promise it's been worth the wait. Heres v0.3.4 Tina:
https://drive.google.com/drive/folders/1721ry10xuoTSClFBV7VmCZzTETO9kiqH?usp=drive_link

Change Notes:

  • Adds Playlists these are driven by m3u files so you can technically create and edit them outside of the app if you were inclined. Currently the in-app method of editing playlists is through the quick menu, if you hover your cursor over a song anywhere you can open the quickmenu and add/remove the song from your most recently used playlist
  • Adds "return to song" feature for song follow
  • Adds song queueing, hover cursor over song while a song is playing, open quick menu and you can see the queue option
  • Adds flash messages all throughout the app
  • Imports now report how long they took upon completion via flash message
  • Finally removes the single frame stutter on opening song lists
  • Fixes screen issues / resolution problems for sm8250 chip

Last Thoughts:

  • This update adds a lot of functionality, thanks to @lunar cloud we were able to squash a lot of bugs before this actual release but you may find some obscure ones.
  • I will be adding more convenience to playlist editing at a later time, I feel that the quick menu method is pretty user friendly but it may not be for everyone.
#

Let me know what you think of this version and what I can add to make the app feel more intuitive. Next big changes will probably be a settings index page with each section broken out into a separate page.

sand hemlock
#

Oh this version also enables godots low processor mode, which should make the app more energy efficient.

#

Basically it just makes it so the UI doesnt redraw unless something actually changed.

#

Theres quite a bit more I can do later to make it more energy efficient but it's not exactly a priority since consumption isn't really an issue

sand hemlock
#

Unless anyone uncovers a critical bug it will probably be a week or so till the next update

mortal moat
# sand hemlock Unless anyone uncovers a critical bug it will probably be a week or so till the ...

I havent updated yet but thanks so much for the constant push to get new items on

I cant imagine what other items youre thinking of doing but this is absolutely a stellar project

I could ask maybe, selfishly, a toggle to keep the screen on, so when i'm driving I can see the song names

(I use the Anbernic 35XX-H as my mp3 player in the car and it fits perfectly in those phone holders. )

Thats really it. Thanks again for all!

sand hemlock
ocean fog
#

@sand hemlock Can you help me how to avoid the knulli OS and MuOS getting suspended?

#

I've tried a few option, but It always get suspended.

unborn barn
#

I've a idea in my head what you mean but I don't know if it is what you mean

ocean fog
#

If you don't touch on the device, it will suspend after X time.

#

I want to disable it, on a app I'm developing (Web Radio). Otherwise, at same point, the devices stops playing.

unborn barn
sand hemlock
#

That will keep it awake, you should implement a similar strategy that undoes this when your app closes or else you will be overwriting the users preferences

#

The Muos equivalent is a bit more complicated.

#

Heres a couple snippets from my Muos Strategy that should help you though

var config_values = {
    "idle_display": MuosConfigItem.new("settings/power/idle_display", "0", "unset"),
    "idle_sleep": MuosConfigItem.new("settings/power/idle_sleep", "0", "unset"),
    "lid_switch": MuosConfigItem.new("settings/advanced/lidswitch", "0", "unset")
}
func set_muos_config():
    var reset_commands = []
    for config_item: MuosConfigItem in config_values.values():
        var og_val =  get_var("config", config_item.path)
        if og_val != "" && og_val != config_item.forced_val:
            config_item.og_val = og_val
            set_var("config", config_item.path, config_item.forced_val)
            reset_commands.append(set_var_cmd("config", config_item.path, config_item.og_val))
    
#
class MuosConfigItem:
    var path: String
    var forced_val: String
    var og_val: String
    
    func _init(path_arg, forced_val_arg, og_val_arg):
        path = path_arg
        forced_val = forced_val_arg
        og_val = og_val_arg
#

I Overengineered this a bit @remote swan has a more straightforward strategy, I would reference his rockbox port code for this if I were you.

#

An important note though for you @ocean fog make sure whatever method you use to undo these commands can be done when the app is forcefully closed.

#

And if you are adjusting brightness you'll want that to get reset in your clean up script to, some cfws dont have convenient hotkeys for adjusting brightness so getting dropped back at the cfw main menu with brighness set to 0 can be an issue.

#

Heres some changes i'm working on for settings. A couple more color options in here for theme colors too.

ocean fog
#

@sand hemlock Thanks for your tips and advices! I will try to implement it later on.

unborn barn
sand hemlock
#

Which part didnt work?

#

The snip I showed should prevent cfw sleep. Does songo go to sleep and stop playing music on your muOS device?

unborn barn
#

Sorry I should have elaborated more

sand hemlock
#

Yikes that's really not good, anyone else on muos seen this behavior??

#

You're using the MuOS device strategy right?

#

Are you on golden goose or Canada goose or something older?

#

Songo should stay awake forever unless you specifically put it to sleep

#

Or if you are using the generic Linux strategy then it could time out and sleep too but the solution to that is not using the generic strategy

sand hemlock
# unborn barn Yes

Do you use Songo with a different device? I feel like songo is basically unusable if the cfw sleep isn't getting disabled correctly

unborn barn
sand hemlock
#

Some more changes in settings pages to show. Just curious has anyone had a chance to mess with playlists yet? What do you think?

mortal moat
lunar cloud
mortal moat
#

The m3u file I have just lives in the folder as ~/ but nothing more

lunar cloud
#

the quick menu is how you add songs to the playlists in app, i built two playlists already, the quick menu prompt writes the song into the playlist...nice and simple but has to be manually configured

sand hemlock
#

I didn't really consider that someone would want to create and edit a playlist completely outside the app. In theory it's pretty easy to edit it outside the app after creation

#

You definitely can create and organize it or whatever outside the app but you'd need to drop it into that playlists directory that Hades mentioned

#

Also manual creation would skip getting a default image from the dicebear API

#

But thats fine you can add your own image too

#

I'll mull this over and figure out a nice way to let people use m3us stored anywhere with relative paths

sand hemlock
#

The complication with relative paths arises if a user is using several music directories and tries to add a song to a playlist that the user created manually inside the other music directory. Then I would either need to default to using the absolute music path or find the nearest directory ancestor looking up higher than the selected music directories

#

Defaulting to absolute path is probably fine if the use case is more centered on importing an existing m3u you use in your personal collection.

lunar cloud
#

sounds like there's no good answer for externally made playlists...i like the system currently in place for my 2 cents

sand hemlock
#

Idk I can add an "Import" where you point to an externally made m3u and it build an internal m3u from it. That's the lowest effort fix

mortal moat
#

I just wasn’t sure how it’s handled. I think since I can automate making the playlist externally and by folder , it’s fairly easy to pop together a playlist for my folders that are organized as their own mixes

Now that I know where the playlist directory lives, I’ll test making one and just adding the rest externally

But I don’t think this is a flaw or anything, it seems it was simply recognizing that the m3u files need to live in a particular folder

unborn barn
sand hemlock
#

Hmmm goose should be fine

#

Did you check which device strategy is being used?

sand hemlock
#

Is your battery capacity also borked

unborn barn
unborn barn
sand hemlock
#

If you update songo and still have that issue I'll flash goose to my spare rg35xxh and see what's up

#

Golden goose and Canada goose have been tested and shown to have the cfw sleep and idle timer disabled correctly. I havent tested goose specifically so it could be a minor change in the version causing an issue

unborn barn
sand hemlock
#

I might do it anyways, I assumed it would work fine on goose. Id like the advanced feature support to go back to at least the start of goose for muOS

small tapir
#

there was a major change to internal structure from goose to canada goose

unborn barn
#

PERFECT MUSIC PLAYER LOL

unborn barn
#

You can also play music for around 8hours on the RG35xx devices

#

Maybe even more if I activated auto screen off

lunar cloud
#

that's kinda wild honestly, certainly in the range of digital audio players normal operation range

sand hemlock
#

Honestly there's some more tweaks I can make for efficiency too.

#

Have you folks been experiencing crashes at all? If so, how frequently?

unborn barn
twilit nova
#

Is it possible to integrate subsonic servers into this?

twilit nova
#

By that I mean would it be possible for you to support connecting to a subsonic server (IE navidrome) using this and stream/download music

mortal moat
#

You could push .mp3 to the drive OR you could ssh and mount the directory you want to use then select as the folder you want scanned (would only work while you’re at home )

#

Both are logical ways to make this happen

unborn barn
twilit nova
unborn barn
twilit nova
mortal moat
# twilit nova Navidrome is just a server, you need a client to access it

Had you not mentioned it I would’ve never looked into subsonic 😅

I had been doing the cross server syncing using syncthing as the service

That would push all my music folders to my device

I wasn’t aware something like subsonic made this possible as well. Seems like a similar premise as syncthing for music.

The more you know.

twilit nova
#

I’m actually able to tinker with it now

#

Also is there any way to make themes out of custom colors

#

I have a blue rg35xx SP

#

I’d like for the ui to match the shell

mortal moat
unborn barn
twilit nova
unborn barn
#

Now using my TV lol

sand hemlock
sand hemlock
#

I'll look into subsonic but I can't promise anything

twilit nova
#

And what do you think of subsonic servers support?

#

It’s better than a no 😀

polar crypt
#

this app is goated

sand hemlock
polar crypt
mortal moat
#

made a quick script that will autogenerate a playlist

#!/bin/bash

mixroot="/userdata/music/Mixes"
plistroot="/userdata/roms/ports/Songo5/conf/godot/app_userdata/Songo #5/playlists"

echo "Rebuilding playlists..."

for mix in "$mixroot"/*; do
[ -d "$mix" ] || continue

mixname=$(basename "$mix")
outfile="$plistroot/$mixname.m3u"

echo " → $mixname"

Create / clear playlist file

: > "$outfile"

Add tracks

for f in "$mix"/*.mp3; do
[ -f "$f" ] && echo "$f" >> "$outfile"
done
done

echo "✓ Done."

I have subfolders based on mixes I got from Spotify

It has like Mix 1, Mix 2 etc etct

I didnt want to click much, this just makes the playlist for you based on the name of the folder (I pushed my into a subfolder called mixes so my Albums didnt get clumped in)

a quick and dirty solution so I dont have to click much in the app and can just enjoy (plus its easier to enjoy a grab and go option once I dump my mixes)

Not really anything special, just figured I'd share

all the best to you all!

sand hemlock
#

Here's my setup, in pretty happy with it. Not the best speaker but sangean is pretty good quality imo

twilit nova
#

Key, have you looked into subsonic servers?

twilit nova
#

Also lrc file support ?

forest patio
#

This app is so good!!

I like rockbox, but this has the flavor of simple UI I like.

Do you plan on adding a genres tab, or is parsing genre metadata a nightmare?

sand hemlock
sand hemlock
sand hemlock
twilit nova
sand hemlock
#

Interesting, that sounds cool, I have been wondering about lyrics actually.

No feature requests are off the table but adding anything introduces a maintainability tax on me so I really want to lock in core functions first. Ideally I can add more supported audio formats before any more non essential features

#

I might end up just publishing my runtime and Godot module wrappers for Audio streaming and hope someone helps add wrappers for other formats. I'm not sure, my time to work on songo is just very limited at the moment

sand hemlock
#

Now that Advent of Code is over I will have some more free time, is there anything essential anyone wants to see in v0.4.0 Sandra?

unborn barn
#

I would say either Background Playing but thats not something you can easily just do

sand hemlock
#

I was thinking I might just export items to m3u and check if the device has mpv installed and kick that off with the m3u in a seperate process before killing songo. Im somewhat ignorant regarding this though, what do you think of this approach?

unborn barn
twilit nova
#

Is there any way to open a menu that just has controls for what’s currently playing? Preferably with a large album art

sand hemlock
#

Im a bit confused, doesnt that describe the song page when you pick any song?

#

I do plan on adding a settings overlay that is specific the currently selected song/album/artist/playlist at a later date

sand hemlock
#

I'll probably have an update out tomorrow or next week.
I just flashed loose goose on my brick and it's working nicely with songo

sand hemlock
#

A little QOL addition coming with v0.4.0 Sandra. You can hide menu items you dont use.

#

Other nice things too, stay tuned. With a little luck and a christmas miracle I'll have a download link ready tomorrow

unborn barn
sand hemlock
#

Another small but impactful setting I am exposing to the user.

#

Stream buffer length

sand hemlock
#

Alright folks I did it! Finished before Christmas.
Here is v0.4.0 Sandra. This focuses on QOL changes and an easier to navigate settings menu.
https://drive.google.com/drive/folders/1721ry10xuoTSClFBV7VmCZzTETO9kiqH?usp=sharing

Change Notes:

  • Revamps settings menus
  • Allows users to add whole albums and artists to playlists with the quick menu
  • Allows user to hide main menu items they dont use (thats the intent at least)
  • Adds "Keep screen awake" quick menu item, it replaces the "Queue Song" control when you are in an actual song instead of the song list.
  • Allows user to adjust stream buffer length for optimal settings on a per device basis (though the default 100 should be fine in most cases)
  • Can no longer use an empty string for playlist names
  • Adds black screen fade option so AMOLED/OLED screens have a very smooth fade option, also allows nonsupported cfw's to have screen fade to some degree.
  • More stuff that I have forgotten because I took so damn long on this version.
  • Adds better messaging around setting up music directories for new users
#

For adding/removing albums or artists to a playlist the logic is as such (should be at least):
If less than half of the album/artist is in your playlist "Add songs to playlist" (this adds the remaining songs to the playlist)
If more than half of the album/artist is in your playlist "Remove songs from playlist" (this removes all the selected albums songs from the playlist)

#

let me know what you folks think of this version, it adds a lot of UI/UX convenience I have been meaning to add for a while.

small tapir
#

If you want to throw this in the songo5 folder of the zip, during the portmaster autoinstall it will make an app entry for Songo5 in muOS since it's not just a game, basically it's like a desktop shortcut in the applications menu

sand hemlock
#

Oh no kidding, I'll definitely pop it in then. Thanks, do you mind if I credit you in the app after I add that?

small tapir
#

You really don't need to as it's intended to be a feature collab of portmaster/muos that I had help with, but worked on with apps like this in mind (tested it with my flipclock port as a POC)

sand hemlock
#

I forget who asked for the keep awake feature, was it you @mortal moat ? Regardless it probably shouldn't have taken this long to end up in the app lol

mortal moat
#

I’m sure I did ask for it, considering I use it during my commute to work. Just nice to have on like a dashboard

sand hemlock
#

Nice nice, I'm tempted to get some kind of mount to use for my car haha

mortal moat
#

It’s been so awesome! Just throw my device on it and flick the stick to switch songs from playlist

#

I don’t know why that tactile experience is so cool. I have perma monkey brain

sand hemlock
#

That's cool as hell, next time you pop in the car can you take a picture?

mortal moat
#

Of course I even have it in my motorcycle

unborn barn
sand hemlock
#

The cycle of life

#

Hakuna matata am I right

sand hemlock
#

That is way too frickin cool. Thanks for sharing

mortal moat
#

For my car I use something like this

#

Similar concept

#

The 35XX-H has is truly my media player thanks to your app 🙏 appreciate it! I’ll test out the new version soon 🎉

sand hemlock
#

I'm thrilled to hear it, I mostly use my brick for music but I actually bought it with that intent haha. Let me know what you think of v0.4.0

sand hemlock
unborn barn
sand hemlock
#

I don't know what you're talking about

small tapir
#

i like the latte art too

unborn barn
#

Same

#

Nothing goes above a good coffee

dapper vault
#

this is so cool dude

forest patio
#

Really loving using this on my brick. I have a MuOS card that's just for songo #5

I have a couple questions

  1. Is there a way to pull up the "currently playing" screen?

(The return button takes me to it, but if I've clicked around a bit and added songs to the queue, then pressing it takes me to the albums list, pressing it again takes me to the first album, pressing it once more starts playing the album)

  1. in a future update, I'd love to see buttons for next/previous track and play/pause when outside the currently playing screen.

  2. In a future update, could you give us the option to hide "unknown album" from the albums list?

(I have some sleep aid audios that I navigate to via the artist screen. I don't have an album set in the metadata and was hoping that'd just keep them from showing up in the album list)

  1. Disc number doesn't seem to be taken into account when sorting an album.

(So disc 2 track #01 is shown next to disc 1 track #01)

These are all minor things, the app is really easy to use in its current state. Thanks again for putting something so polished together for us!

sand hemlock
# forest patio Really loving using this on my brick. I have a MuOS card that's just for songo #...

I'm thrilled you're enjoying songo. I'll check out the return to song bug you outlined, It should always return you the currently playing song.
In the future I can definitely add an option to hide the unknown album collection. Remind me if I forget in the next update, that's a quick change. There's no good reason why Im not pulling track number from song meta data right now and sorting on it, this will definitely be added at some point.

sand hemlock
forest patio
# sand hemlock I'm also using muOS on the brick, it's great

I love nextUI, but it takes a long time to launch portmaster stuff. I might try muOS for more than just songo and other ports. There's a lot to love about it

And I'll keep an eye on the thread for the next update. I really appreciate all the love and effort you're putting into this ✨

dapper vault
#

This is by far the best music app that exists for retro consoles. Amazing work man. One issue, definitely on my end, but when I use apple earbuds on my R36S while listening to music (arkos) it sounds drowned out and kinda far away, but as soon as I press the button on the earbuds, its clear as a bell. Do you know of a way to fix this?

mortal moat
sand hemlock
#

If it is a songo#5 exclusive issue I'll see what I can do

sand hemlock
#

I'm considering adding shoulder button functionality to skip, previous the currently playing song when the song is minimized. Should I just go all out and add button remapping settings for all the xinput buttons while I'm at it?

#

It would push back the next release a good bit

#

I don't have an interface layer between button events and their respective actions yet, that's where the dev time would go. Adding the UI wouldn't be too hard

sage tusk
#

I’m here!

#

Is the release candidate going to be called “You”? 😬

sand hemlock
#

Shhh no spoilers

#

I've actually been wondering wether or not I am going to include "you" as a version name

sage tusk
#

🙂 Respect the dedication!

sand hemlock
#

It fits well enough with the source material 😉

sand hemlock
# sage tusk I’m here!

Welcome! I'm glad you found your way here, a lot of folks already have server overlap so it's a quick journey haha

#

Let me know how the install goes on your 34xxsp! As long as you know how to autoinstall with portmaster you should be good to go

#

If you don't it's pretty easy, especially with muOS

sage tusk
#

I had success installing Spelunky with port master. Will let you know when I try!

lunar cloud
dapper vault
#

So definitely not your fault then

#

Ill ask otherwhere

#

Thanks Anyways!

sand hemlock
# forest patio Really loving using this on my brick. I have a MuOS card that's just for songo #...

I've been considering your return to song button issue and I think I actually know what's going on. I had the same issue when switching from nextUi to muos on my own brick. The select and func button are swapped for some reason for muOS vs nextUi (though I like the muos layout better). The func button seems to act as an "A" press which explains the behavior you mentioned.
Can you verify if the return to song button works if you use the left most bottom button?

There may be an underlying issue with how I am using Sdl controls in tandem with gptokeyb but I've only encountered this when switching from nextUi to muos.

forest patio
#

The keybinding options sound nice, but I'm personally more excited to see the features/qol develop.

sage tusk
#

Dumb question probably: how do I get albums to play in their right song order?

#

Track 01 first, then Track 02, etc.

#

(Install went fine, by the way!)

sand hemlock
#

Not a dumb question at all, the answer is I need to add it to the metadata wrapper module. So currently album songs aren't sorted by track number but that should be added soon

sage tusk
#

Adding things to a playlist and giving the playlist an image was easy enough!

#

Well done so far! Only thing I’m wishing for is some kind of way to know which button will do what.

#

Or a way to pop up a key.

sage tusk
#

Took some screenshots as I was reporting the bug, might as well share them here because the app looks so good (running with the interface scaled to 1.15x):

sand hemlock
mortal moat
sage tusk
mortal moat
#

You wouldn't have to manually do it but glad to see you made it happen

mortal moat
# sage tusk Here it is!

I’m using Knulli, please verify your file system is the same otherwise the script will dump the .m3u somewhere else

sage tusk
#

Ah, I’m on MuOs.

mortal moat
#

I’m not sure if it’s the same file system but the script is easy to edit. You just need to figure out what folder you’d want as your “make playlist of any folder here” and where the .m3u files go

Next time you drop an album you simply run the script and no more worries

forest patio
#

That is a good workaround for now ✨ The only albums I care about the order for are like...musicals, so for those I'll make playlists (and leave out the songs I don't wanna listen to very often 🤭)

I'm thinking of making a simple music importer app. It'll transcode all my music down to like 128kbs mp3, and edit any playlists in a certain folder to have the paths they need for the brick. I think I'll add a lil checkbox next to albums for "generate playlist" or something.

If I actually get around to making it, I'll post it here for whoever wants to use it. (I know powershell, bash, and python are options. But I like my guis)

sand hemlock
mortal moat
#

Simple bash did it for me for now 😅

ashen imp
mortal moat
#

Also if you pull it out just a bit and they work, it might just be the actual jack. Simple test by pulling it 1 notch up

sand hemlock
#

If I can't fix it I'll make sure it's well documented

#

Btw I think I must have broken async image loading in one of these last few updates, flipping through songs rapidly seems to have brief hiccups. I should be able to fix this regression in the next update

forest patio
# mortal moat Also if you pull it out just a bit and they work, it might just be the actual ja...

A lot of the handhelds have jacks that don't play super nice with the TRRS plugs.

You can get little adapter dongles (I had a dumb one that looked kinda like a tampon)

The brick is the ONLY one of my handhelds I can just plug any headphones in and not have to fiddle with the headphone jack to get the fit perfect.

With all the other ones, my headphones will work, but the sound will go out sometimes until I spin it around, push/pull it a little to get it seated right, etc. (It's a problem on my RGB30, X55, RGB10Max3, Rg351p, RG-ARC-D, and TrimUI Smart Pro)

mortal moat
dapper vault
dapper vault
#

for me they sound amazing when you do that

#

The weirdest thing just happened

#

i plugged it in and it sounded great

#

idk what i did different

verbal sentinel
mortal moat
sand hemlock
#

I found a little stand for a clock that works pretty well for my brick. The charger can't plug in though unfortunately. Makes me realize I really like the look of having it propped up next to my work computer so I might end up buying a stand actually designed for the brick. Or print one if there's an stl floating around out there.

sage tusk
#

That’s a sharp look.

verbal sentinel
sand hemlock
sand hemlock
#

Next update is probably going to be very minor stuff. Sorry for slow dev, my day job is kind of hectic right now. In the next update I will have a proper splash screen instead of the Godot default. Excuse my quick gimp job.

unborn barn
forest patio
sand hemlock
#

Slightly nicer looking contact page too

sage tusk
#

Thankful for anything you do!

sand hemlock
#

I'm not going to get excited until/if it happens but I have been talking to a popular manufacturer and they say they'll send me a handheld for testing. If they follow through you'll know which company it is because I'll give them a shoutout in the credits.
I'm a bit skeptical but it would be pretty cool

sage tusk
#

You’ve been working on this without testing it on a device? 😮

lunar cloud
#

we've been testing on a few devices actually, pretty sure he has a TrimUI Brick and he started testing on an RG35XX-H...

sage tusk
#

It’s been working great on the RG34XXSP.

sand hemlock
#

I have a couple devices I have been testing on but I feel better having more to test with. I don't particularly like testing with my EDC

lunar cloud
#

Every Day Carry

sage tusk
#

Ah, right. Thanks!

sand hemlock
#

I bring my handheld with me when I put my son down to bed and play music. Bedtime is kind of a vibe ngl

sage tusk
#

Which device is that?

sand hemlock
unborn barn
#

Soon Songo#OS

#

For every device out there

sand hemlock
#

I have an ayn Thor on the way so the temptation to at least port it to android is pretty strong

#

Having songo on the bottom screen would be pretty damn cool

verbal sentinel
#

So I'm wondering if the RP6 might be the best decision instead. But the thor is definitely so SO sick.

sage tusk
#

There’s always the option to wait! Incremental improvements every yea in this space, it seems. 🙂

sand hemlock
#

Though I do think they could have committed a bit more with the hardware on that device. Slightly stronger CPU paired with their recent fixes would make it really competitive

lunar cloud
sand hemlock
#

Adding some things in this next update you folks have been asking for, stay tuned. Anyways heres something no one has asked for. Tweaked UI (included icon) for shuffle and added song repeat toggleable via quick menu).

sage tusk
#

Love it.

cinder cargo
#

I tested app on dArkOS on R36S. Its working. Only one small bug that not shows battery percentage

sand hemlock
sand hemlock
#

I'm going to try and get Songo up on portmaster officially before the end of the month. This is the last call if you've been testing Songo and want to be added to the credits page let me know ASAP.

#

I'll still be putting out updates every month or two after its added to portmaster in earnest

unborn barn
#

Are there any missing features you wanna add? This is already 🔥

sand hemlock
#

I think Songo is currently stable enough and feature rich enough to be distributed though

unborn barn
#

Oh wow, big plans

sand hemlock
#

Eh none of that is going to take very long, I have infrastructure in place for most of that stuff already. Its just cumbersome having to make the godot engine changes

unborn barn
#

(I'm just trying to motivate you by making it sound like a big project while it's being little things. I wanna maybe study Pedagogy and I love using people as tests and it seems to work. But also don't overwork yourself on this, this is already such a great project and I really hope it's going to be open source someday so I can run it on Windows/Linux

sage tusk
sand hemlock
#

As far as I'm concerned, if songo is on your handheld right now then your a tester

sage tusk
#

I’d like to be on there then!

sand hemlock
#

Not to discredit the huge amount of work, debugging, and Q/A that folks like @lunar cloud have done.

sage tusk
#

Can @sage tusk be added and also my kid’s handle? She’s not on here but would go nuts. She “tests” it technically. 😬

sand hemlock
#

What name do you want me to add for your kid

sage tusk
#

She would be BunBun328

#

You rule.

sand hemlock
#

Just setting up at my desk for the day, here's hoping the rest of my day is as good as the first song I pulled up in shuffle

sage tusk
#

Nice Chainsaw Man pup sticker!

sand hemlock
#

Thanks! I have a bunch of chainsaw stuff in my office

sage tusk
#

Nice collection!

sand hemlock
#

Hows this @sage tusk , is it too much?

sage tusk
#

Oh my god, not at all! 💗

#

That’s amazing!

sand hemlock
#

Something else nobody asked for. Adjustable content margin setting. Only helpful for long horizontal screens like trimUI Smart Pro or for very tiny screens where getting that space back makes a difference.

#

It all comes down to user preference, some might prefer the wide layout even on wide screens. This is for comparison:

sage tusk
#

That’s really great customization.

#

That in-hand with global UI scale makes it very flexible. Bravo!

forest patio
#

One little customization request for the pile - the option to disable the navigation sounds. (When I'm listening to a sleep audio or guided meditation, I have to turn it way up compared to music. And the navigation blips can be a little too loud if I forget to turn the audio back down before navigating away)

No rush on that or any of the other features. This is already my daily carry app for music. Excited for the official release so you can see lots more people enjoy your work 💙

sand hemlock
#

Ill add an adjustable increment setting for SFX, you're not the first person to suggest the sfx vol is a bit much haha

sand hemlock
#

Anyone remember this customization feature I was playing with a while ago? Im tempted to finish it and then pre-add a bunch of logos that make absolutely no sense. Like the mcdonalds logo, apple logo, nike, etc...

#

Gotta keep users on their toes, keep em guessing

verbal sentinel
#

I'm just trying to figure out where I would even get song files for download any more? Is this something like YouTube/Spotify premium where you download the song and then put it on here?

sand hemlock
#

🤷‍♂️ eh that's not my business, I suppose I am making an assumption that users already have a music library or convenient means of obtaining one.

#

Steam lets you download game OSTs pretty easily

#

I know HadesArcadius has done this for some of his steam library

forest patio
small tapir
#

from their original media

unborn barn
#

Only one thing is missing for me here on Songo #5 but no other Player on here currently has that, Lyrics. Showing Lyrics while Playing music

sand hemlock
#

are lrc files the standard way of handling this? If I only need to implement it for one file type it should be pretty quick. Taking a look at an example lrc file it would be really really easy to parse

#

It would be pretty easy for me to add LRC parsing and render them in time with songs but that is assuming users will supply their own lrc files. Im not sure how many people would actually do that

sage tusk
#

Are LRC’s readily out there or is it a manual thing?

sand hemlock
#

Looks like it's a bit of column A and a bit of column B

sage tusk
#

Oh, you… linked to the exact thing I would search for first. Hahaha

#

❤️

unborn barn
sand hemlock
#

See just like this

sage tusk
#

Wow, incredible.

#

OsmosisOS

#

Or… mosisOS

sand hemlock
sage tusk
#

Deep cuts all day.

sand hemlock
#

I should have v0.4.1 ready tomorrow, lots of UI/UX improvements and some more noticeable QOL things added

forest patio
#

Can't wait to try it out ✨✨✨✨ I've got some powershell scrips ready to import a pretty big music library with a lot of playlists to use as a stress test

#

(128kbs because I can't hear the difference on the brick or through my shitty wired earbuds)

sand hemlock
sage tusk
#

Will the next version play albums in the order of the tracklist?

#

🤞

sand hemlock
#

Yesn't

visual topaz
#

lol

sage tusk
#

Just curious! 🙂

sand hemlock
#

I just haven't had the time and energy to work on the actual runtime. Waiting for Godot to compile takes like 20 minutes and I'm not too savvy with C so it takes me a good chunk of time

visual topaz
#

ccache is your friend

sage tusk
#

No need to explain to me, my guy!

sand hemlock
visual topaz
#

Feel free to ask us!

You can always ask in the dev channels if you dont want to detract from this thread.

sand hemlock
#

I won't be able to get an update out today, power went out due to crazy winds like 4 hours ago

west sentinel
#

hope everything's OK there, Sandra works on muos knulli and panfrost! This really feels like a modern music player!

cinder cargo
#

Yeap, i only waiting on more formats support 🙂

sand hemlock
#

Wav is possible but wav doesn't support meta data so I'm hesitant to include it

unborn barn
#

Don't think anyone stores their music files in Wav

#

It's more used for game sounds

sand hemlock
#

That's a better reason not to include it haha. I'm not sure how many people even use ogg but I'm happy to add it for the rare minority of people that do use it

unborn barn
#

I would love to hear Ness say "Peak a fire" 50x times in a minute

#

I mean it's Lossless but it's more used for working with the files than using it for music

#

I use FLAC and MP3, maybe ogg too but that's it. I don't think there is any benefit for Wav or other file formats

#

I mean WAV can be lossless but never really saw that in person

sand hemlock
#

M4a is going to be a real pain in the ass but I might trade my sanity to make it happen. With m4a compatibility I could include functionality for audio books and long form media

#

I really would like to add m4a but don't hold your breath for it. It could be a long time if I do make it happen

west sentinel
#

I belive ffmpeg allows many formats, if you could integrate it it would make things much easier

sand hemlock
#

Pretty early on in dev I was considering ffmpeg and I decided against it. I forget why, it may have been for OS compatibility or because of the amount of effort to try and wrap it into a Godot module

#

If you're suggesting hitting it directly in the command line that would work but not every system has ffmpeg or mpv or something similar

#

I'll do some more digging there to make sure I didn't rule it out unnecessarily

unborn barn
#

If I got some free time I can make a big lib with all Major codecs in it... I've worked with ffmpeg before And I could just steal most of it from there

sand hemlock
#

Honestly I might have just taken a look at the ffmpeg package and thought it's too technical for me. Most of my software engineering career has been in web frameworks and technologies. I try and set myself up for success. So if it seemed like too heavy of a lift that could have very well been why I opted not to.

sand hemlock
# unborn barn If I got some free time I can make a big lib with all Major codecs in it... I've...

That's awesome you're able to do that, I'm not sure I'd be able to use it personally though. I'd like to keep the backend audio streaming consistent. Right now I am wrapping various popular c libs In godot modules to create a universal streamer. Mp3s and flac are powered by drFlac and drMp3 right now. In a perfect world I would find a lightweight lib for m4a but I don't think it exists. I need to get more in the weeds for m4a

#

In summary I'm kind of lazy 😉

unborn barn
#

Ffmpeg is a huge project, hard to understand at the start but once figured out it's pretty nice

sage tusk
#

Honestly, I think people who are savvy enough to sideload this app and music into this app are savvy enough to convert their albums to mp3 or whatever the app requires.

lunar cloud
# sage tusk Honestly, I think people who are savvy enough to sideload this app and music int...

yeah, flac and mp3 also covers the widest range for audio formats, flac being the standard in lossless and mp3 being the genuine standard for audio files....that aside ogg represents variable bitrate, m4a for audio books as mentioned, wav is popular in certain circles (mostly games as mentioned)...

the real question comes to, would a laymen be able to convert audio formats using a cell phone?...I don't think Songo needs to conform to a laymen, but it's obviously something worth considering the effort on, thankfully the two most common audio formats are already represented which largely solves the laymen problem.

unborn barn
#

I can also code a converter real quick that converts OGG and WAV to mp3 if Needed

sand hemlock
#

Those two wouldnt be hard for me to support outright, m4a would kind of be the issue

#

Also I just double checked licensing details and If I used ffmpeg I would be forced to make my code open source legally. I'm not sure I want that. I'm not saying songo#5 won't be open source at some point but I don't want that currently

unborn barn
cinder cargo
#

Re-Import Directories button dont deleted non existing files. Its ok?

sand hemlock
#

Yea, it's a somewhat misleading label. It just does exactly what the automatic scan does when the app starts but manually.

#

I need to update a few things in the data page to be more informative

mortal moat
sand hemlock
sand hemlock
#

Well I got in the weeds a bit more than I had wanted to. V0.4.1 will be done in a day or two, it has a LOT of changes. Including some changes to the runtime.

unborn barn
#

Currently ripping and downloading 800 songs. To use with Songo but still don't overwork yourself, take your time and I would say never do ETA

sand hemlock
#

After I get v0.4.1 out to you folks I'll wait a few days to see if any obvious bugs crop up. Then I'll try and get songo up on portmaster legitimately

sand hemlock
mortal moat
sand hemlock
#

An example is when I added flac support, that required mostly changes to the Godot engine itself since Godot doesn't support flac out of the box

mortal moat
sand hemlock
#

Alright folks this is a big one, lots added. Unless any critical bugs show up this will be the version I put on Portmaster officially. So here it is v0.4.1 Sandra: https://drive.google.com/drive/folders/1721ry10xuoTSClFBV7VmCZzTETO9kiqH?usp=sharing

Change Notes:

  • Adds OGG support, bringing the supported file types to my initial goal (mp3, flac, and ogg)
  • Now sorts albums on track number and displays track number if available (turns out I WAS lying @sage tusk )
  • Adds content margin setting so wide screens can tweak the display to be more convenient
  • Adds SFX volume setting
  • Adds song repeat mode accessible via quick menu when listening to a song
  • Adds roadmap for future dev plans
  • Updates Development Credit page
  • L1 and R1 can now be used to skip/previous song, even when navigating other menus with song follow.
  • Various fixes and improvements to the UI/UX

Final thoughts:
With the addition of OGG support and some of the clean up I did in this update I feel really good now about getting this up on portmaster. Thanks for all the help, suggestions, testing, etc...
If I forgot to add you to the testers section of the dev credit let me know ASAP.

Updating to this Version:
This will require a full re-install, the Songo5.sh script, the pck, and the runtime all had updates. Since this update also includes changes to the data structure you will also need to add your music directory again in the data settings.

Sorry about pinging @here but this is the last push! if you havent updated in a bit it would be really helpful to get as many eyes on this as possible to squash any bugs before release.

sage tusk
#

Congrats, @sand hemlock! Do we have to back up the playlists and artwork first before updating?

sand hemlock
#

For the technical folks you can instead just replace the old Songo5.sh, pck, and drop the new runtime in the runtime dir.

sage tusk
sand hemlock
#

If you dont see your playlists after re-importing your music directories restart the app

sand hemlock
sand hemlock
#

I'm actually in the process of plugging it in and testing it now 😃

sand hemlock
#

Just got the mux_launch script in and it works great. Assuming nobody encounters any bugs I think I will get the PR in tomorrow.

unborn barn
#

Just converted my Audiobook into mp3s, time to try out the new Songo #5

sand hemlock
#

All the audio formats are streamed so it should be able to play those fine, that said I dont have controls for seeking so audio books will be kind of awkward on songo right now. Ive thought about adding an audio book specific module that remembers where you stopped and can pick back up. It wouldnt be very hard to add.

#

I think theres another audio book app on portmaster though, I dont want to step on their toes

sage tusk
unborn barn
#

But also I would also love that feature for my normal songs, like I can just start back again at the old point

sand hemlock
unborn barn
#

So I've chosen .FLAC and split

sand hemlock
#

I see I see

unborn barn
#

Btw Riley, is that you on your Profile Picture

sand hemlock
#

Yea that's me

#

The face of a maniac, in high def

#

I use this exact photo for teams and slack as well

unborn barn
sand hemlock
#

Software engineer, Father, Husband, Serial Killer

#

brb ordering some new business cards

unborn barn
#

Uh fuck, my title in the metadata of my audiobooks are empty... So the title is now blank

sand hemlock
#

Oh that's good to know, I have some code that is supposed to use the file name instead when that happens. I guess I need to check on that

unborn barn
#

I mean it has some Metadata, like a album cover ( also doesnt work???), Artist ( which worked)

sand hemlock
#

If it's flac or ogg you can add an image in the same directory as those files and it will be used as the album art. Technically flac can have embedded images but I usually see images sit next to them for album art. For ogg embedded images I just havent added support for them yet so it works the same way as flac

#

Youll need to probably re-index your files in songo after adding an image for the album art though. I will make this more seamless in the future, I recognize it's not ideal managing album covers for flac/ogg this way

unborn barn
#

Ah lol okay, didnt know that!

#

Maybe you can see whats fucked on it? I dont wanna push you or anything but you are way smarter on that topic

sand hemlock
#

What's the issue?

#

Are you referring to the title not falling back to the filename when title metadata is missing?

#

Looking at the metadata I see title and track # are missing for that

sand hemlock
#

Gotcha gotcha just checking

lunar cloud
sage tusk
#

The K-Pop Demon Hunters album shows up with the tracks in the right order! 🥰

sand hemlock
unborn barn
#

Opposite, thanks for checking that I'm not just stupid

sand hemlock
#

I sat down today and added some fixes before putting in the PR for Songo. Whenever it gets approved and merged the version portmaster will be v0.4.2. And it includes the fix for song title fallback. I also went ahead and added proper metadata reading to get the embedded image from ogg and flac files.

#

Loading image files from any embedded source should also be much faster now too. Not that it was particularly slow before

#

Going through my library I didn't even realize some of my flacs had embedded art until now haha

sand hemlock
#

Starting off the day with another banger

#

PR for Songo is 1/2 approved. I will say there is a slight regression with image loading for specifically flac files. I am loading images syncronously and since I actually support flac embedded images now it tries to look for an embedded image in flac songs every time causing a brief hiccup when starting a flac song. I need to add some kind of caching solution or think of a way to load the image asynchronously without making it feel bad

#

If you're not using flac you dont need to worry about it 😊. If you are using flac you might not notice it, the image loading only blocks the UI from updating for a moment, the tracks don't have a delayed start

#

Today I'm loading up this rg35xxsp anbernic sent me with songs. It's a bit bigger than I expected but I think I'll end up liking it more as a music player than my brick.
When I was chatting with anbernic I mentioned a few models that would be helpful for testing, this is the least helpful among the few I suggested but I'm still stoked they sent it haha. I can test closed lid functionality with other cfws besides muos now

lunar cloud
#

that's neat, i was curious about the anbernic logo in the credits but i figured you'd share if it was relevant...i guess "you miss every shot you don't take" is fairly accurate

sage tusk
lunar cloud
#

funny thing, anbernic just downgraded the rg34xxsp from 2gb ram to 1gb...might be why they didn't send one if that was requested

sand hemlock
#

Rg34xxsp was one of the models I suggested, I think they were just leaning towards sending me to cheapest model since Im just a guy, for all they know I just threw together a fake image and sent it their way to get a free handheld

sage tusk
#

We have one from late 2025 - are you saying the latest ones they are shipping have one less GB of ram? 😳

lunar cloud
#

it's as simple as i described, an eagle eye'd person noticed that the product page for the rg34xxsp got updated and they directly asked (i think) on the anbernic discord and they confirmed the change from 2gb to 1gb on the store page wasn't an error but an update going forward

lunar cloud
sage tusk
#

Wild. Thanks!

sand hemlock
#

Yea it's really unfortunate, there's not a lot of cheap 2gb Linux devices but there are more than a couple ports that really need 2gb to play well

lunar cloud
#

yeah, i mean these ports are just icing on the cake for most of these handhelds, and their design spec was made for emulation of old hardware which usually had practically 0 ram by today's standards....so it stands to reason that additional ram is seen as unnecessary by these handheld manufactures...i don't blame them for cutting corners but it still sucks

sage tusk
#

Thanks, AI!

sand hemlock
#

Love the Aurora theme

sage tusk
#

Thanks! Goes well with that model / color.

sand hemlock
#

Hey folks, I am going to make an effort to move non-testing chat over to #🎵|songo-number-five

lucid dock
#

is it planned to add a feature to let the music play even if the clamshell of the 35xx sp is closed on Knulli?

sand hemlock
#

Yes! I have this for muOs already, I need to take a look at Knulli's code and check if they expose anything I can leverage to make it work like muOs. If there is a setting in knulli to prevent sleep when the lid is closed I should be able to leverage that during songo#5 use.

lucid dock
#

another question: is it possible to seek (aka go to the middle of a song directly for example)?

sand hemlock
foggy saddle
#

support external dac?

sand hemlock
#

It depends on the cfw and device. At least one tester has been able to use usb dac with the brick and muOS using the bluetooth app

sage tusk
#

Using Bluetooth headphones on her Rg34xxsp today my daughter informed me that the usual “double tap headphone button to pause/play” shortcut isn’t working in Songo. I’m assuming this is a limitation with the RG and not Songo, but wanted to bring it up here!

sand hemlock
#

I think that's something I would need to monitor hardware inputs for but to be honest im not sure. I'll do some reading and figure out how tricky it would be to get that to work. It would be nice if songo could support that

sage tusk
#

I wonder if I tried the Apple Wired EarPods pause/play if it would work.

#

Will report back! (Not immediately — later. :))

visual topaz
lunar cloud
#

i have some headphones i could test also, hadn't even thought about it till now

lunar cloud
#

Yup,just tested on Rocknix with bluetooth headphones, play/pause and forward/back buttons are not making it to Songo.

I'm curious if any of the cfws are trying to receive these bluetooth events

verbal sentinel
#

If you can get yhe buttons ON the headphones themselves to work with this, that'd be super cool

heavy pumice
#

Does it work on TrimUI Smart Pro?

white wind
sand hemlock
#

It should work on the smart pro, I need to fix a bug for smart pro S though

sand hemlock
patent holly
#

Does it work on R35S?

unborn barn
sand hemlock
#

There is a bug in v0.5.0 that might effect the R35S. If your playback keeps stopping about half a second after it starts try and increase stream buffer length to around 400

#

This bug is fixed in the next version to be released soon

urban sable
#

With rocknix on RG35XXH it would play songs upto 40s and then skip to the next song

#

I tried different formats
Flac m4a and ogg

#

All of them got this

verbal sentinel
urban sable
#

I love this player

#

I was barely using my handheld now it's repurposed into a music player

sand hemlock
#

You are the only one to report this issue from an anbernic device which is interesting. Regardless, the new version doesn't rely on the flakey tcp audio transfer that v0.5.0 was

urban sable
sand hemlock
urban sable
sand hemlock
urban sable
onyx mesa
sand hemlock
fervent quarry
#

This app looks amazing, with a friendly and attractive interface. Thank you so much!

#

i'm using a10mini darkos

fervent quarry
#

But when I use headphones through a dongle connected to the OTG port, I can't adjust the volume using the device's volume buttons. Is there a way to adjust the volume directly within this app?

#

My headphones, for some reason, cannot be fully inserted into the device's 3.5mm jack, so I have to use the OTG port

sand hemlock
river pulsar
#

After discovering the existence of this port, I deeply regret having bought an MP3 player last year that doesn’t even show the album cover and doesn’t allow creating playlists.

#

I just discovered the existence of the Koreader port too, I guess today is my lucky day.

ocean fog
#

OMG!!!

#

Is that already available?

unborn barn
ocean fog
#

Songo running on linux!

unborn barn
#

And show stuff, not actually released

ocean fog
#

Yeah! But, who knows if one day could be released as Linux APP 🙂

#

Still miss Winamp times!

unborn barn
#

You can definitely do that once the source releases

#

Or just run it via a VM

ocean fog
#

@sand hemlock any plans to allow streaming music from our personal server? Thanks!

unborn barn
unborn barn
#

( you could ofcourse just mount your server and then point Songo to it and let it sync the songs etc )

ocean fog
unborn barn
#

yup

#

depends on the cfw you are on

#

some cfws have nfs mounting turned on, if it doesnt then you will need to do it a different way but if you tell me the OS i may be able to figure it out tonight

ocean fog
#

Oh! That's smart! Didn't know that. I'm currently using Knulli. I don't know if muos will be better for that.

#

I will also give a look! Thanks for your idea!

unborn barn
ocean fog
#

Yes, I'm ok with it. If not today, for sure, friday night 😅

ocean fog
unborn barn
#

theoratically its possible via sshfs but idk how fast that is