Code Monkey home page Code Monkey logo

pigmend-player's Introduction

Pigmend Player

Pigmend Player Icon
Pigmend Player
Version: 1.1
Ivan Chapkailo © 2022


About Pigmend Player

Pigmend Player

Pigmend Player is 'open source' media application based on Qt v5.12. It is fast and simpler to use with convenient interface that allows to perform media without redundant adjusting.

It is very usable for watching episodes and listening to music or any other media files. Just choose folder with serial episodes or separate episodes and it will be added to playlist that allows to turn episodes automatically. By the way it is not only about serials.

Pigmend Player Pigmend Player Pigmend Payer

Codec support is based on used OS codec supplier (as gstreamer for Linux). And currently only Linux version supported. Windows to soon.

Libraries

License

GPLv2

pigmend-player's People

Contributors

septimomend avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

pigmend-player's Issues

Bug 2: Slider rewinding

Add ability to rewind media to the certain point at duration slider after clicking (now implemented only "smooth" rewinding, ie "press on slider and move").

Bug 15: Bad behaviour of 'play' button

While pressing play after pause the content is hanging. Also if no one item from playlist is chosen the play button should set the first item. It sets, but in case of video the content does not display on usual mode. In full screen all okay.

Bug 8: Store the volume value

Volume value should be stored in next cases:

  1. Click on 'mute' -> remember last volume value and set volume to 0 -> click on 'mute' again -> restore last volume value.
  2. Exit player -> write last volume setting to config -> start player -> read last volume value from config and set it.

Bug 1: No ability to save playlist

Need to add functionality to save playlist into file while exiting and load it on start.
Preferred file formats - PLS or XML.

A playlist used on last time should be loaded in new session.

Bug 33: Shuffling randomizer always the same

Test

  1. Load content
  2. Enable shuffle mode
  3. Skip to next content several times
  4. Exit player
  5. Repeat steps 1-3

Result
1, 2, 3, 4 : OK
5 : KO - The same order of shuffling data

Expected result
The shuffled data should be randomized by different ways every time the shuffle mode be enabled.

Bug 32: Playlist upgrading

Upgrade playlist due to next specifications:

  • Playlist should be included in some tab widget to have ability create several playlists and manipulate it.
  • If there are more than one directory listed in playlist - group rows by directories its included. Possible solution: use combination of QTreeView (to branch by directories) and QTableWidget (to list row inside branches)

Bug 31: Can't change music animation

  • Add ability to change music animation. Use menu for it (view -> animation -> [animation list]). Similar as choosing themes.
  • Expand animations arsenal

Bug 26: Not informative playlist

Change playlist to be able to show track number, duration, name etc.
However the List View widget has no such ability, so it is need to change playlist widget type.

Bug 24: Integrate new UI

There is problem with UI appearance. Need to change controls design, replace checkboxes (repeat, shuffle) to checkable buttons. Reload some buttons and remove a redundant one.

Bug 29: Crash after clearing playlist

Test

  1. Load a lot amount of content
  2. Clear playlist

Result
1 : OK
2 : KO - crash

Expected result
After pressing the Clear button the playlist should be cleared without crash.

Bug 17: Wrong searching

While search the first appropriate item will be set to play. This is wrong behavior.
Search module should present all corresponding items and then user can choose item to play or decline search filter (show all items).

Bug 14: Wrong restoring of video widget after full screen mode disabling

The problem:

  1. Load video
  2. Enable full screen mode
  3. Disable full screen mode

The result:
Widget viewing is crashed. But video is holding on. Volume is presented. If enable full screen mode again the video will be showed.

Expected result:
The video should be good in full screen as well as in usual mode.

Possible solution:
Maybe there is wrong restored size. So store size of widget before passing to full screen and restore it while full screen mode disabling.

Bug 10: Playlist tabs

Add tabs for playlist (QListWidget). Possible solution example:

int main(int argc, char* argv[]) { QApplication a(argc, argv); QWidget window; QVBoxLayout* layout = new QVBoxLayout(&window); layout->addWidget(new QPushButton("Dummy top button", &window)); QListWidget* list = new QListWidget(&window); list->setTabKeyNavigation(false); for (int i = 0; i < 10; ++i) list->addItem(QString::number(i)); layout->addWidget(list); layout->addWidget(new QPushButton("Dummy bottom button", &window)); window.show(); return a.exec(); }

Bug 21: Config file

Need to add config file to store start configuration, such as

  • name of xml where themes stores
  • path to start-cfg.xml
  • ...
  • debug level #10
    etc

Bug 6: Add mouse right click menu for playlist widget

Add menu which presents by clicking RMB on playlist widget.

Menu items:

Add item (media/file/element)
---------------------------------
Add folder
---------------------------------
Remove item
---------------------------------
Clear playlist
---------------------------------
Save playlist
---------------------------------

Bug 9: Debug output

Add debug output. There should be at least 3 debug levels:

  1. ERROR
  2. WARNING
  3. INFO

Use config [#9] to set debug level and enabling/disabling.

Bug 23: Add hot keys to chabge volume value

For progress slider there are using right/left keys to rewind (back) up to 10 sec.
Use the same concept to increase/decrease volume for 10 units using up/down arrow keys.

Bug 7: Control panel for video widget in full screen mode

Need to show control panel while video widget is on full screen mode.

Control panel should be the same as in usual mode, ie play, pause, next, stop, prev keys, volume slider, volume controls, progress slider, time labels.

Control panel should be appeared when there is some mouse acivity and hiden after 1 second of inactivity.

Bug 22: Can't reset playback rate to normal

Test:

  1. Play content
  2. Set playback rate x2 or x4
  3. Press Play

Result:
1, 2 : OK
3 : Content reloads and starts from 0

Expected result:
After pressing Play the playback rate should be reseted to normal and content's progress is kept

Bug 16: Constants

Add separate mode to define all constants such as formats, paths, colors etc. Integrate these constants instead of hard code.

Bug 30: Music animation

Create animated gif with PP emblem (try GIMP for it)
Animated gif should be shown only for audio content and video widget should be hidden. Otherwise show video widget and hide music gif.

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.