Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goradio

Mp3 stream player in the terminal written in go as a proof of concept. The music is played in background so you can quit the terminal.

Usage

Build and run :

git clone https://github.com/hamdouni/goradio
cd goradio
go build 
./goradio

You can also go install it if you have configured your go path binaries in your PATH :

go install

The program reads an M3U playlist, named musics.m3u, with only mp3 streams (no sublist as .m3u or .pls).

It renders the content in a list that you can interact with :

  • ↑/k : up
  • ↓/j : down
  • / : filter
  • enter : play selected stream
  • space : toggle pause/play
  • o : jump to actual played station
  • q : quit but let music in background (also ctrl+c)
  • Q : quit and stop music

Cross-compile [DEPRECATED]

Not working since using namedpipe to communicate between client and server

@TODO:

  • use http server and client for inter process communication
  • remove namedpipe code
  • cross-compile !
GOOS=windows go build -o goradio.exe cmd/*

Credits

This application uses the work of opensource contributors.

Thank you to all of them for bringing those awesome projects.

The sound part exists because of those great libraries :

  • oto : A low-level library to play sound on multiple platforms (Apache-2.0 License)
  • go-mp3 : An MP3 decoder in pure Go (Apache-2.0 License)
  • m3u : A basic golang m3u playlist parser (MIT License)
  • shoutcast : All the heavy lifting of the shoutcast protocole to retrieve stream title (MIT License)

The interface could not have been more simple without the work of Charm and their products :

  • bubbletea : A powerful little TUI framework (MIT License)
  • bubbles : TUI components for Bubble Tea (MIT License)

About

Mp3 stream player in the terminal written in go as a proof of concept.

Resources

Stars

Watchers

Forks

Used by

Contributors

Languages