Inspiration

Alex and I both love vim, and felt a need for a music player app. We decided to make our own for this event.

What it does

Users are able to fully control their music through our app. It has play/pause capabilities, seeking forward and back, and users can enable shuffle mode. Users are able to navigate through their files using vim motions in an interface inspired by lf and ranger. Our app plays local files, as well as YouTube audio.

How we built it

We built our app in Python, using Textual as our UI framework and MPV as our audio interface.

Challenges we ran into

Interfacing with MPV was definitely the hardest challenge. Documentation was scarce for interfacing with it, and we relied on examples online and trial and error. Additionally, neither of us are particularly experienced with user interfaces, and as such creating this app was a learning experience.

Accomplishments that we're proud of

We're very proud of the navigation. It feels very natural, and it maintains history in each directory. The ability to play YouTube audio was an additional achievement we were very proud of, because users aren't locked down to playing what they have on their computer.

What we learned

We learned how to work in a UI framework. As mentioned, we are both inexperienced with user interfaces, and this was a great opportunity to learn how to work with a new framework in a small amount of time. We also gained insight into the challenges of building a music player, as interacting with audio interfaces can be a challenge.

What's next for vimus

Alex plans to continue using this app for his daily music. As a result, we do plan to continue developing it, and hopefully add in features that we set aside as stretch goals. The project is open source and on GitHub, allowing anyone to try it out for themselves.

Built With

Share this project:

Updates