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
- mpv
- python
- textual
Log in or sign up for Devpost to join the conversation.