💾 Archived View for auragem.letz.dev › music › public_radio captured on 2024-06-16 at 12:48:14. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-03-21)
-=-=-=-=-=-=-
This is AuraGem Music's public radio that plays public domain and royalty free music. All music is collected from sources like the Free Music Archive, archive.org, and Chosic, and stored on my server. This radio does not proxy from the web, unlike other radios over on Gopherspace.
Total Clients Currently Connected: 0
Hashnix.Club Radio (with Icecast Support)
Some spec-compliant clients that support playing mp3 files should be able to stream, particularly Lagrange on Desktop. Clients that can pipe into another program will also work. This includes diohsc, which can pipe the data into mpv or vlc.
Currently, Rosy Crow does not seem to support streaming mp3 files. Additionally, Lagrange has several bugs that prevent it from streaming or playing audio on Android and iOS. There is an issue open for this on Github and Bubble, and it seems to apply to all audio playback within the app from all protocols that lagrange supports:
Lagrange Github: spartan mp3 links won't play on android
[#14] Lagrange android doesn't play any sound files
Finally, Lagrange via the AppImage also seems to be bugged for some users and does not stream audio files. You can try to build lagrange yourself instead.
Supported Clients: diohsc (pipe into vlc or mpv), Lagrange on Desktop (Windows, macOS, Flatpak, & self-built w/ mpg123)
Unsuported Clients: GemiNaut, Lagrange on iOS & Android, Kristall, Rosy Crow
Buggy Clients: Lagrange AppImage
If your client starts playing but then times out, then you can look in settings to disable this timeout, or request that the developer change the implementation so that timeouts only apply when no data has been received for a given period of time.
Some clients, like GemiNaut, will timeout if the connection hasn't been closed by the server within a given time (aka. if the file hasn't downloaded within a given time). This assumes that all files take a specific period of time to download, which is a faulty assumption, especially for users with very slow connections that can't even download a text file within that given time. This is a naive implementation that developers should fix by only timing out based on the period of time that the client has not been given any data. This allows both very slow connections and the downloading of binary and large text files to work.
If your client tries to download infinitely without playing, that means the client is waiting for the connection to close before displaying/playing the file. You can try to look in settings for a streaming option, or request that the developer change this so that data is displayed/played as it comes in. This change is compliant with the spec, as per Section 1.1:
Note that clients are not obligated to wait until the server closes the connection to begin handling the response. This is shown above only for simplicity/clarity, to emphasise that responsibility for closing the connection under typical conditions lies with the server and that the connection should be closed immediately after the completion of the response body.
In fact, this addition to the spec was made specifically to allow for streaming:
2020-06-16 A vision for Gemini applications (Solderpunk)
If your client doesn't start playing the music and also times out, then both problems above apply to this client.
I am also announcing that I will be working on a Media Player that uses VLC (libvlc) as the backend and which will support gemini urls and streams. I have not started the project yet, but I intend to very soon. I hope to make it cross-platform on the desktop, but I plan to support Linux first since it does not seem to have a graphical browser that supports audio streams atm (since Lagrange seems to be buggy with this). It would be nice to also get mobile apps, that that requires much more work and I have to pay to get the app in official appstores, so I won't be able to do any of that for a while, unless Skyjake fixes lagrange's audio streaming on mobile.