Giter Site home page Giter Site logo

penny's Introduction

Build Status

Penny

Linux Tui MP3 player

This project was created as a personal goal to improve my Rust skills.

Why Penny?

Inspiration for the name comes from the character which battle theme is good and feels misplaced in the same time.

Dev dependencies

For development on Linux OS, alsa development libraries needs to be installed.

Fedora

dnf install alsa-lib-devel

Arch Linux

pacman -S alsa-lib

Ubuntu

apt install libasound2

penny's People

Contributors

dependabot[bot] avatar kryszak avatar

Watchers

 avatar

penny's Issues

Queue functionality

As all music players, Penny should allow user to compose and use playlist playback queue. At bare minimum it should be possible to play songs from playlist queue and allow to remove and add songs to playlist queue.

Theme support

Penny should allow user to change between built in themes.

Refactor code

Current code is not the best it can be, there are some duplicates and multilevel nested code blocks.
Duplications should be removed if possible.
Nested code structures should be flattened.

Multiple files can be played in the same time

Sometimes when selecting new song to play while playback is active new song plays together with currently playing one.

Most likely function set_song_file in Mp3Player needs to be improved to better lock player and let it finish up cleanup of currently playing song thread.

Migrate to ratatui

Tui-rs crate is no longer mantained. Fork of it called ratatui was created and is actively maintaned.

Penny should switch to this crate.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.