DEV Community

Sumit Patel
Sumit Patel

Posted on

Introducing TUISIC: TUI Music Streaming App.

Well, i don't have much to say but to show.

tuisic image

This is what TUISIC looks like, It is written in CPP and at initial release right now.

As a Linux enthusiast and someone who practically lives in the terminal, One day someone asked me how I play music in terminal. (thanks to that someone BTW, that question led the whole journey started!), the only thing I got was some scripts, that time I felt something was missing in my Arch Linux setup when it came to music. I was using MPD & ncmpcpp to play my downloaded songs, but constantly downloading music felt... outdated, and now i was thinking what if i can just stream music directly from the terminal instead of opening browser and typing spoti..., yeah that's painful.

So, TUISIC started its life as a collection of bash scripts. (one of the craziest thing i know )
And If you are curious to know how wild bash script can get, you can checkout this gist ;)

Dark-Kernel/Music.sh

This is what it looks like:

But then i'm an engineer and doing things in organize manner is what i am supposed to do. And one day i came to this repo FXTUI a fantastic C++ library for creating terminal user interfaces, so i started building tuisic.

Some Cool Features:

  • Stream music right from terminal (bye-bye browser!)
  • Easy to use (seriously, it's pretty intuitive)
  • Vim keybinds (because why not make it look cool?)

Want to try it?

If you're on Arch Linux (yeah, it's available on AUR now and that's a big deal! :)

yay -S tuisic-git
Enter fullscreen mode Exit fullscreen mode

For other distributions, you can build from source:

GitHub logo Dark-Kernel / tuisic

A simple TUI online music stream app written in c++ with easy vim keybinds.

TUISIC

TUI Online Music Streaming application.

tuisic3.mp4

It let's you search and play online songs from cli hassle free.

Features

  • Vim motions
  • Easy downloads
  • Multiple song sources
  • Playlist support
  • Copy urls
  • Add to favourites

Sources

It fetches songs from some platforms:

  • SoundCloud
  • LastFM
  • ForestFM
  • YouTube ( Yet to be implemented )

Installation:

  1. Using AUR package
yay -S tuisic-git
Enter fullscreen mode Exit fullscreen mode
  1. Building from source

Dependencies

sudo pacman -S curl mpv fmt yt-dlp
Enter fullscreen mode Exit fullscreen mode

Build, Compile & Run

mkdir build && cd build
cmake ..
make
sudo make install
Enter fullscreen mode Exit fullscreen mode

Thanks to all.

Contribution

It's open for contribution, read CONTRIBUTING.md for more information.






What's Next?

This is just the initial release, and I have many features planned:

  • Custom Playlist support
  • Search history
  • Custom keybindings
  • Visualization like cava
  • Lyrics support etc.

Contributing

If you're interested in terminal applications, music, or just want to contribute to an open-source project, feel free to:

  • Star the repository
  • Report issues
  • Submit pull requests
  • Share your feature ideas

Let's make terminal music streaming better together! 🎡


TUISIC is free and open source software. Contributions and feedback are always welcome!

Top comments (2)

Collapse
 
codebyg14 profile image
Girish B Nair • Edited

That's really cool!!!
Aa a developer, who enjoy working on terminal and Linux it's really something I would like to get into.
Hopefully I can contribute to your work and bring some ideas in future. It would be great if I get to connect with you as a learner.

Collapse
 
naufil profile image
Naufil

Looks cool!