Skip to content

EmilianStankov/Viridis-Media-Player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Viridis Media Player

alt tag

What is this?

This is my project for the FMI course 'Programming with Python'. It will be an all-purpose media player. That means it will be able to play the most common media formats such as mp3, wav, avi etc.

Functionality

  • Basics

    • Playback for different media formats
    • Playlist editing
    • Play/pause button
    • Previous button
    • Next button
    • Time slider
    • Volume slider
    • Switch between fullscreen and windowed
  • For the audio

    • You will be able to rate songs
    • Metadata(id3 tags) will be editable. This includes:
      • Performer
      • Song title
      • Album
      • Year released
      • Genre
      • Maybe more?

Why viridis?

Since this is a Python course I felt like naming my project after a subspecies of the Pythonidae family. I chose viridis since my favourite color is green.

Fun fact

The logo is supposed to resemble a snake head.

Milestone

For the second milestone I should have implemented most of the backend + tests to go with it. This includes building two (SQLite) databases (for the playlists and rating). On second thought I think the rating will be better off in the id3 tags. So just one database - to store the playlists in.

What's done so far?

  • A song class, the methods inside it are focused around ID3 tags, so they work with mp3s only. This will not be a problem once the gui is implemented. They will just not be reachable for other formats.
  • A movie class. Similar to the song class, this one is for mkv files and its methods will be unreachable for other formats. (The player will still support other media formats like avi and wav, there just won't be any metadata for these formats.)
  • A playlist class, it generates a playlist object, and saves it to a SQLite database.There is also a function to generate a playlist from apreviously saved one.
  • I tried writing to the files, to make my own tagging, but could not do it properly. I did manage to write, but could not figure out how to read the data I've just added to the files, so I scratched that idea (for now).
  • You can now add playlists with the help of the gui. You can also load them.
  • The player itself is now ready. It is completely functional. It consists of:
    • A Play/Pause button
    • A time slider
    • A timer
    • Visualization field (of course)
    • A volume slider
  • Next / Previous buttons added. They work as expected.
  • The player now automatically plays the next file in the playlist if the current one finishes playing.
  • You can switch to Fullscreen using F11 at any time.
  • You can also go back to the main window by pressing ESC
  • Splash screen(sort of)
  • Custom button icons

Libraries used

  • sqlite3
  • stagger
  • enzyme
  • PyQt4 + Phonon

Releases

No releases published

Packages

No packages published

Languages