Tech & UI Design and Features Suggestion: FOSS Media Player Technical specifications

Mtangoo

JF-Expert Member
Joined
Oct 25, 2012
Posts
6,163
Reaction score
5,624
Perhaps this is the hardest part of software development and decisions. This is so because it determines how the software will look like, technically speaking, how it can be easily extended, effectiveness in terms of computer resources et al. It involves from simple decision like "what will program support?" to complex decision like "should player support Python Plugins?". So we have to be slow, careful with what we do here. This place will be divided into three parts: 1. Design Patterns 2. Features 3. UI Design

Before I go further here are libraries we will be using:
wxWidgets for UI and all non-playing core functionalities
libvlc - For Detecting and Playing files. The core of Player functions

undecided libraries (you can point good library for the functionality)
- Reading Meta data (for Audio/video??)
- Transcoding Audio and video


1. Design Patterns
I will not use the term to its strictness because I want it to be understood, in layman terms. So here it will mean both "SE design patterns" and "architectural design" interchangeably. Here are few Questions to be answered:
1. what functionalities should be visible globally and hence singletons?
2. The App is going to be modular, plugin based kind of architecture. So what languages should player support for plugins?
3. What should be exposed to plugins as Official Plugins API? (What can plugin access, manipulate or even delete?)

2. Features
Here is what we expect the player to do? Of course some features are must for player. So here are features that will be naturally supported and you should **not** mention them in your suggestions list

  1. NORMAL FUNCTIONALITIES: PLAYING, PAUSING, FF, REW, NEXT, PREVIOUS, PROGRESS (Audio and Video)
  2. PLAYLIST FUNCTIONALITIES: LOAD FILES AND SORT THEM TO VIDEO AND AUDIO SUB-LISTS (Also Sort each Per Meta tags i.e Artist/Album/et al).
  3. - FILE MANAGEMENT: IMPORT FILE/FOLDER (To Multimedia Directory), DELETE, RENAME FILES

You can suggest your feature here that i not mentioned

Suggested Additional Features
1. Screenshot Capture (elmagnifico)
2. Editing Tags and Album Cover (@nurbert)
3. Streaming Youtube (CTO)

UI Design
The place for designers! You can design a mockup that will simulate features above. You can go ahead and add features that are not said here (Just mention them in same thread you upload your mockup).
Also here we need icon designers for all needed buttons and images.

If you feel I have left something here. Please include in your post and I will add it here. Also if something need clarification, point it out and I will try to explain even more!

Meanwhile if you have not casted your vote do so here: https://www.jamiiforums.com/tech-ga...g-foss-media-player-name-voting-new-post.html

God bless you and Enjoy!
BH,
CTO Hosanna Higher Technologies!
 
CTO haina haja ya kufanya features request kwa sasa. Hapa tunachohitaji ni basic function za media player yoyote kama play, pause, next, prev, playlist, mute, unmute, volume control, simple progress bar. n.k baada ya hapo sasa mambo yaanze na angalau tuione alpha version au beta version then ndo tuanze ku-request features. Features request msingi wake ni basic functions ambazo mtu akiziona zinamapungufu ndo anaomba feature fulani naomba kwanza tuanze na SIMPLE JamiiPlayer then mambo mengine yatafuta...
 

nyasiro You have a point. Lengo ni kuona kuwa hakuna feature itakayo affect future design na kulazimisha major refactoring. Kupata nguvu kazi ya kuifanya hiyo kazi ikitokea in future ni gharama kubwa. Hata hivyo hakuna haja ya kufanya haraka hivyo. Si muda mrefu tutaingia hatua hiyo. Kama watu wangekuwa active enough wiki moja ingetosha kwa mazoezi yote so far....lakini ndio hivyo wako na mwendo wa kobe.

Tutafika tu!
 
Last edited by a moderator:

Ok sasa na mimi mtanishirikisha ingawa sijui C++ but I real like coding in C++ still learning...
 
kwakweli nimefurahia hii project japo bado mdogo sana kwenye coding itakuwa ngumu toa mchango wangu kwa hilo lakini ntakuja na mchango wa mawazo and i am real happy kuwa party of the team.
Msisahau kuweka ile feature ya ku capture snaps mfano kama naangalia movie niweze capture shots ninazo penda kwenye movie.
 
Hata huu ni mchango mkubwa tu. Hata kukosoa mahali mambo yanafanyika vibaya ni mchango.
Mchango ni mchango tu, iwe code, design, graphics, et al!
 
Ok sasa na mimi mtanishirikisha ingawa sijui C++ but I real like coding in C++ still learning...
Ni mpango wa kuinua uwezo wa SE wa Tanzania. Ukifanya Juhudi kumaster basics za C++/wxWidgets, tupo tayari kukuinua kwa program fulani hivi itakayoendana na projects.
Ni wewe kuamua tu!
 

Yap, nakuunga mkono hapo... kwasababu ni alfa version inawetakiwa kwanza kuwa na features chache likini zenye 100% Good Functining... Taratibu tuta add vile vitavyoonekana kuwa vinahitajika sana na watumiaji
 
Yap, nakuunga mkono hapo... kwasababu ni alfa version inawetakiwa kwanza kuwa na features chache likini zenye 100% Good Functining... Taratibu tuta add vile vitavyoonekana kuwa vinahitajika sana na watumiaji
Ukianza program ambayo hujui inapaswa kuwaje kwa mbele itakushinda kwa sababu msingi unajengwa kulingana na nyumba inayotarajiwa. Msingi wa ghorofa moja haubebi tatu.
Features husaidia better design kuliko kufanya trial and error.

Design itakusaidia kukataa au kukubali kuongeza feture fulani. Mfano kama app haikuwa designed kufanya any streaming halafu feature request baada ya ver 1 ikawa ni youtube streaming unadhani kitatokea nini? Au developers watabadili design au watai dismiss. Lakini kama ingekuwa considered mapema ktk design (hata kama kwa wakati huo isingekuwa part ya feature) inakuwa rahisi ku accomodate.

Ili usininukuu vibaya, sitasubiri kila possible feature iwe presented, ila najipa muda nikiamini kinaweza tokea kitu ambacho kina fit scenario hii!

Shukrani kwa changamoto,
BH
 
That we are in January, and time for project o start is coming rapidly, I would say this: while I will be watching here, but I'll go ahead with design.
I want to go for class diagramming. I do a lot of things in paper and Then take ideas back to computer. So I will post what I see as API of the app.
I will open new project repository at Github for sharing.

Before I give it a go, I will let today pass as final date for official name selection and feature Resuest.
After 00h00 C6 Invisible you can lock name suggesting thread and we'll have a name.

In summary, tomorrow I will post header files with basic app structure and create Github project. After agreement on API and design......welcome to world of set up and coding.

I have updated parent thread for tools (IDEs et al) check out that one!
 
Last edited by a moderator:
C6 what about making a design of Video player that is not Yet another VLC or WMP? It sounds a nice thing to do
Player+Playlist (Tabbed for Audio and video??)+ Youtube Search and Play is enough
 
Last edited by a moderator:
Cookies are required to use this site. You must accept them to continue using the site. Learn more…