15
Minox Player Radionica Implementacija korisničke teme na Minox Player Izvorni tehnički članak Piše: Amar Tufo Sažetak: U ovom radu autor pokazuje način implementacije i programiranja korisničke teme na Minox Player-u u njegovom SDK-u koristeči VB.NET programski jezik. U radu je demonstrirana implementacija Lime Green teme koristeči se unaprijed kreiranim setom interfejsa Minox Player-a i njegovim učitavanjem u kod kreiranjem vlastite subrutine. Na kraju je prikazano pozivanje vlastite subrutine i testiranje novokreirane teme na Minox Player-u. U radu se između ostalog pominje kreiranje vlastitih tipova podataka, varijabli i subrutina kao i način njihove manipulacije i pristupa istih u kontekstu Minox Player-a. Ključne riječi: Minox Player, VB.NET, Lime Green tema, Minox SDK Autor: Amar Tufo © Amar Tufo & Minox Player, 2015 © Minox Player, 2012 - 2015 http://www.minoxmp3player.org

Minox Player - Implementacija limeGreen teme preko VB.NET-a

Embed Size (px)

Citation preview

Minox Player RadionicaImplementacija korisničke teme na Minox PlayerIzvorni tehnički članakPiše: Amar Tufo

Sažetak: U ovom radu autor pokazuje način implementacije i programiranja korisničke teme na Minox Player-u u njegovom SDK-u koristeči VB.NET programski jezik. U radu je demonstrirana implementacija Lime Green teme koristeči se unaprijed kreiranim setom interfejsa Minox Player-a i njegovim učitavanjem u kod kreiranjem vlastite subrutine. Na kraju je prikazano pozivanje vlastite subrutine i testiranje novokreirane teme na Minox Player-u. U radu se između ostalog pominje kreiranje vlastitih tipova podataka, varijabli i subrutina kao i način njihove manipulacije i pristupa istih u kontekstu Minox Player-a.

Ključne riječi: Minox Player, VB.NET, Lime Green tema, Minox SDK

Autor: Amar Tufo© Amar Tufo & Minox Player, 2015

© Minox Player, 2012 - 2015 http://www.minoxmp3player.org

O Autoru:

Amar Tufo je 22. godišnji student treče godine Arheologije, Filozofskog fakulteta u Sarajevu, bloger, VB.NET Junior developer i kreator Minox Player-a. Amar je ujedno i četverogodišnji korisnik Ubuntu Linux-a i open source softvare evanđelist koji s vremena na vrijeme objavljuje članke u vezi Ubuntu-a i njegove filozofije na svom sajtu. Više o Amaru možete vidjeti na ovim dole linkovima:

Oficijelni Facebook: http://www.facebook.com/ubuntuBoy

Oficijelni Twitter: https://twitter.com/amartufo

Oficijelni LinkedIn: https://www.linkedin.com/in/amartufo

Zvanična web stranica: http://www.amartufointeractive.blogspot.com

2Uvod:

Prošlo je više od 4 pune godine kako se Minox Player razvija. U protekle 4 godine od 2011. godine kada je Minox Player nastao do 2015 objavljene su pune 4 verzije ovog male našminkane muzičke aplikacije. Iako je Minox Player napisan isključivo za Windows 7 mnogi njegovi korisnici apeluju kako Minox Player treba zaživiti i svoje Linux izdanje. Uglavnom, ono po ćemu se Minox Player razlikuje od ostalih i niza drugih, funkcijama, naprednih player-a jeste odstustvo muzičke biblioteke kao i programski jezik u kojem je ovaj player i nastao. Radi se o VB.NET programskom jeziku koji je izuzetno lagan za savladati ali i naširoko primjenjiv profesionalni programski jezik za izradu vrlo interaktivnih ali dosta kvalitetnih softwerskih rješenja kao Minox Player. Glavna namjena Minox Player-a nije ekonomski profit nego se radi o intelektualnom profitu što hoće reči da je moj primarni cilj od samog poćetka bio VB.NET programski jezik i njegovo učenje kroz sasvim drugačiji naćin a Minox Player je taj naćin odnosno krajnji rezultat kontinuiranog, 4 godine dugog rada i razvoja. Minox Player objedinjuje sve koncepte objektno orjentisanog programiranja kroz teoriju i praksu, tipove podataka VB.NET programskog jezika, manipulacije i kreiranje sopstvenih tipova podataka, manipulacije izlazom i ulazom kroz radni filter podataka ali i izrada interfejsa tako i rad sa greškama. Minox Player je bio moj najbolji naćin da savladam i naučim VB.NET razvojem i radom na pravoj računalnoj aplikaciji koja primjenjuje kako teoriju tako i praksu da bi na kraju Minox Player postao to što je postao. Da ne dužim ovaj poveć dug uvod treba svakako da napomenem kako Minox Player nikada nije imao razvojni dokument niti je bilo koja nova opcija pomno planirana za svoju implementaciju. Stoga u nastavku ovog rada bit će prikazan naćin i metode implementacije novog interfejsa ili kako sam to ja nazvao nove teme za izgled Minox Player-a.

1. Ukratko o Minox Player-u 3

Od samog razvoja Minox Player-a mnogi su bili zbunjeni tako da sam dobijao pitanja šta je uopšte Minox Player. Zašto praviti aplikaciju koja svira samo vašu muziku? Koja je to svrha i kakvu korist aplikacija može donjeti svom krajnjem korisniku? Trebate imati na umu kako programiranje nije svačija sretna ćaša niti je to znanje koje može svatko da ima. Ili ste talentovani za programiranje ili ste rođeni programer, treće nema. No, svakom programeru je san kreirati program, aplikaciju koja radi bilo šta pa makar ona bila i već tradicionalni “Hello World” program, konsolna aplikacija koja na crnom zaslonu printa tekst poruku: 'Hello World'. Jedanput kada programer stvori nešto u svojoj glavi i to isto prenese u računar, aplikacija je krajnji rezultat a nagrada za nju je ponos i zadovoljstvo jer ste ostvarili svoj cilj, ovladali ste znanjem i to znanje uspješno iskoristili i stvorili svoju sopstvenu aplikaciju. Ista priča prati Minox Player i mene koji sam zajedno s njim već 4 godine. Pa šta je to Minox Player? Minox Player je besplatna muzička aplikacija za Windows-e otvorenog koda1 koja je napisana u VB.NET2 programskom jeziku. Minox Player pogoni vrlo močni Windows Media Player API3 i .NET Framework 3.5 SP14. U softwerskoj arhitekturi Minox Player predstavlja WFA5 tip aplikacije za Desktope namjenjenim isključivo

1 Minox Player koristi GNU/GPL v2.0 licencu koja dopušta korisnicima, hobistima i developerima da slobodno preuzmu izvorni kod Minox Player-a, modifikuju ga, preprodaju ili jednostavno stvore svoju verziju aplikacije s jedinom abavezom prema njegovom uvaženom developeru a to je objava modifkovane verzije i novih dodataka u krajnjem smislu. Za više pogledaj: https://www.gnu.org/licenses/gpl-2.0.html

2 VB.NET ili Visul Basic 2008/10 je programski jezik koji dolazi iz Microsoft Visual Studio 2008/10/12 prodice progrtamskih jezika a koji nam omogučava izradu vrlo kvalitetnih softver rješenja i interaktivnih aplikacija različite namjene. Za više pogledaj: http://it-ebooks.info/book/2829/

3 API u informatičkom žargonu predstavlja radni engine koji pogoni aplikaciju odnosno engleska skraćenica od (Application Programming Interface). Zapravo se radi o biblioteci sa skupom predefinisanih funkcija koje developeri mogu lahko iskoristiti za izradu svoje aplikacije ili unapređenje postojeće biblioteke.

4 .NET Framework 3.5 SP1 predstavlja radni okvir ili kostur aplikacije nastale u Visual Studio programskim jezicima. U suštini se radi o glavnom engineu na kojem se pokreću .NET applikacije i na kojem u osnovi počivaju svi noviji Windows operativni sistemi od Win Vista, 7, 8 i 10. Za više pogledaj: https://msdn.microsoft.com/en-us/library/zw4w595w%28v=vs.110%29.aspx

5 WFA ili (eng: Windows Forms Application) predstavlja desktop interfejs aplikaciju koja je dio VB.NET programskog jezika kao i svih drugih programskih alata iz Visual Studio porodice a koja developeru omogučava vrlo jednostavnu izradu aplikacija sa bogatim interfejsom čiji je izvorni kod već unaprijed pripremljen i spreman za proširenje i modifikaciju. Za više pogledaj: https://msdn.microsoft.com/en-us/library/ms172749.aspx

4produciranju .mp3 formata datoteka. 8. januara 2015. godine popularni informatički portal INFO6 je uradio i prvu službenu recenziju Minox Player-a gdje se apelovalo na dodatak naprednih funkcija i bolje manipulisanje osnovnim opcijama ovog player-a kako bi se zakrpili postojeći i uklonili bilo koji novi bagovi. Sa svojom zvaničnom facebook stranicom kao i službenom web stranicom, Minox Player7 predstavlja idealan sofwer projekat koji je stalno u razvoju i koji će u budučnosti dobiti set novih i znatno naprednijih funkcija koje nisu postojale u starijim izdanjima ovog player-a. Do tada puno toga treba da se odradi i svaki novi korak (opcija) predstavlja novi izazov kojem treba pristupiti na što adekvatniji naćin kako bi njegova implementacija na Minox Player-u prošla što bolje bez ikakvih bagova koji bi mogli unestabiliti ovaj player i dati mu loš poziv. No, ovo je druga strana Minox Player priče koju nećemo ovdje iznositi. Vrijeme je da krenemo u posao. Prije nego li dizajniramo i implementiramo novu temu na Minox Player, ja predlažem da se ukratko upoznamo sa radnim zadatkom i pogledamo šta zapravo treba da uradimo i kakav rezultat treba na kraju da dobijemo.

Slika1: Minox Player Flat Brown tema

6 Zvaničnu recenziju Minox Player koju je uradio portal INFO pogledaj na ovom linku: http://www.info.ba/software/3028/recenzija-minox-player-domaci-audio-player-amar-tufo-softver

7 Više o Minox Player-u posjetite zvaničnu web stranicu projekta: http://www.minoxmp3player.blogspot.com

5Na slici 1 je prikazan flat brown tema Minox Player-a koja u punom modu zapravo predstavlja vrlo pripamljivu temu koja uveliko istiće već krupne kontrole koje Minox Player ima. No, u ovome zadatku ćemo dodati i implementirati programski kroz VB.NET jednu potpuno živopisniju temu Minox Player-u koja mjenja njegov dosadašnji izgleda a uz to donosi i novi logo koji zaista izgleda fantastičan. Evo kako naša nova tema po završetku našeg posla treba da izgleda.

Slika2: Minox Player Lime Green tema

Ovo je tema koju će Minox Player kasnije da dobije kada završimo naš zadatak. Obzirom da sam vas uveliko upoznao kako s Minox Player-om tako i radnim zadatkom, zaboravio sam da dodam kako je interfejs Minox Player-a rađen u Adobe Photoshop CS 2.0 pa stoga pretpostavljam da znate barem osnove Adobe Photoshop-a ali i osnove programiranja a ako ste već nekada ranije radili neke svoje aplikacije to će vam uveliko pomoči da onda shvatite i naučite rad u Minox Player SDK-u. Odmah da vas napomenem kako ovo nije nikakav članak za poćetnike niti su ovo osnove programiranja, cilj ovog članka je da vam pokaže razvoj Minox Player-a kroz potpuno noviji način nego što se to u struci radi. Stoga, ukoliko ne znate osnove programiranja da li u C++8 ili u VB.NET-u9 onda vam preporučujem toplo da ih savladate.

8 Osnove C++ programskog jezika pogledaj na ovoj stranici: http://www.cplusplus.com/doc/tutorial/ 9 Osnove VB.NET programskog jezika pogledaj na ovoj stranici: http://www.tutorialspoint.com/vb.net/

62. Implementacija Green Lime teme na Minox Player

Minox Player je u svom posljednjem izdanju10 objavljen sa setom poprilično korisnih i 'naprednih' funkcija koje bacaju potpuno drugo svjetlo na njegov rad ali i moj kredibilitet. U ostalom govore o tome koliko ja cjenim ovaj svoj rad i smatram ga svojim zaštitnim znakom. Niti jedna opcija ne privlaći pažnju programa kao njegov izgled odnosno interfejs. Interfejs govori puno toga o vašoj aplikaciji, njenoj ozbiljnosti i naravno vašem trudu i mašti koju ste primjenili kako bi vaša aplikacija zaživila. Upravo iz ovih razloga WFA tipovi aplikacija jesu idealno rješenje kada vam je potreban bogat i kvalitetan interfejs a ne želite se zamarati njegovim programskim implementacijama. Vas zanima kod koji se nalazi iza vašeg interfejsa. Tako je i s Minox Player-om. Minox Player upravo i odskaće tako visoko baš zbog svog interfejsa koji je urađen na skoro profesionalan naćin. Cilj mi je bio da player skrene pažnju krajnjeg korisnika ali i da bude jednostavnog izgleda sa osnovnim setom funkcija koje ima svaki poznati muzički player.

Slika3: Minox Player SDK Slika4: Default Metal thema

10 Posljednje izdanje Minox Player-a je dostupno na ovom linku: http://sourceforge.net/projects/minoxplayer/

7Ove dvije gornje slike su nastale direktno iz Minox Player SDK-a. Na slici 3 je prikazana hijerarhija Minox Player-a odnosno djelovi koji čine Minox Player. Na slici 4 je prikazan default izgled koji se nalazio u svim prethodnim izdanjima Minox Player-a dok je u zvaničnom SDK-u Minox Player zadržao ovaj default izgled bolje poznat kao Metal tema. Dobro, vrijeme je da zapoćnemo programiranje. Prije nego li zapišemo bilo kakav kod, trebamo se upoznati sa interfejsom Minox Player-a. A evo kako on izgleda:

(1) (9)

(6)

(7)

(2) (8)

(3) (4) (5)

Slika5: Interfejs Minox Player-a

Ovo su dakle djelovi interfejsa11 koji čine Minox Player. Oni su unaprijed pripremljeni kako ne biste morali vi da ih sami dizajnirate ili pravite, sve što je potrebno je da učitate (eng: Import) ove postojeće slike i to je sve. Na narednoj slici je prikazana legenda interfejsa Minox Player-a.

11 Interfejs Minox Player-a je kreiran iz djelova koristeči Adobe Photoshop CS3 a kasnije CS2. Takva metoda izrade interfejsa mi omogučava lakšu manipulaciju tijekom njegovog sastavljanja i manje koda prilikom razvoja aplikacije. Svaki dio interfejsa je obilježen akronimom minox i nazivom djela interfejsa recimo minoxHead( ). AmarTufo, Minox Player 2015.

8

Slika6: Legenda interfejsa Minox Player-a

Dakle, interfejs Minox Player-a se sastoji od 9 komponenti da ih ne nabrajam nanova ovdje. Uglavnom se radi djelovima Minox Player-a koji su svaki zasebno rađeni u Adobe Photoshop programu i kako takvi ubaceni u Minox Player. Interfejs Minox Player-a je rađen u pikselima odnosno svaki njegov element bio on minoxHead_LIME (406 x 35 px) zapravo ima svoju dužinu i širinu u pikselima. Na osnovu tih dminezija u Adobe Photoshop-u su i kreirani ostali djelovi Minox Player interfejsa. Oni zajedno kada se spoje čine prelijep sklop i vrlo šaren interfejs koji kao i da nije sastavljen iz djelova. Upravo slika5 predstavlja interfejs (limeGreenTema) koji treba da implementiramo ali programski kroz VB.NET kako bismo isti vidjeli uživo u akciji na Minox Player-u. Prvu stvar koju treba da uradimo jeste da u kodu kreiramo novu rutinu ili metodu (eng: Sub)12. Metoda će nositi ime limeGreen unutar koje ćemo programski upisati cio interfejs Minox Player-a. Evo kako izgleda implementacija metode za limeGreen temu Minox Player-a.

Slika7: Implementacije metode limeGreen u VB.NET-u

12 Svaka se nova metoda odnosno varijabla u VB.NET-u definiše koristeči Public Sub imeMetode( ) a završava se funkcijom End Sub koja označava kraj deklaracije nove metode. U C++ programskom jeziku se nova funkcija ili metoda programa definiše koristeči void imeFunkcije { a završava se funkcijom } koja opet označava kraj deklaracije iste.

9

Slika8: Importovanje limeGreen teme u resource folder Minox Player-a

A za one koji ne znaju šta je Resource13 folder u VB.NET-u, evo šta je? Resource folder sadrži multimedijalne datoteke koje aplikacija koristi prilikom prikazivanja (eng: Rendering) teksta, slike, zvuka ili videa, najjednostavnije rečeno. Upravo za nas Resource folder igra glavnu ulogu jer iz njega ćemo pozvati sve djelove Minox Player-a kako su naznačeni na legendi njegova interfejsa kako bismo dobili cjelokupnu i močnu limeGreen temu. Vratimo se našoj metodi limeGreen i upišimo ovaj dio koda.

13 Resource folder se može najjednostavnije objasniti kao multimedia folder iz kojeg aplikacija čita svoj interfejs. Naime, u slučaju Minox Player-a cio njegov interfejs je več unaprijed učitan tako da je programski kontrolisan tijekom njegovog renderovanja.

10

Slika9: Izvorni kod limeGreenTeme za Minox Player

Ako malo pogledate ovaj dio koda primjetit ćete već navedene djelove interfejsa sa slike5. Iako stoji da slika vrijedi 1000 rijeći ona vam sigurno neće dočarati niti pokazati pravu privlačnost interfejsa Minox Player ukoliko to ne testirate sami. Ali o tome ćemo neki drugi put. Vratimo se našoj metodi i nastavimo s implementacijom interfejsa. Što se tiće ovog djela koda, naš glavni interfejs kod je uspješno programiran, testiran je kod mene na dev mašini na sve moguće bagove tako da se ne trebate brinuti da li je ovaj dio koda bagovit. Sada je potrebno da se vratimo na glavnu formu Minox Player -a tačnije na njegov Styler14 i tamo odaberemo Themes and Skins i dodamo podopciju LimeGreen.

Slika10: Padajuči menu Minox Player-a

14 Styler – padajuči menu Minox Player-a koji se otvara klikom lijevog dugmeta miša. Na njemu se nalaze neke standardne opcije ovog programa kao i opcija za pristup temama koje su učitane u Minox Player.

11

Nakon unosa gore priloženog koda sa slike9 ostaje nam da unesemo posljednje djelove koda pod opciju LimeGreen kako bi to sve lijepo funkcionisalo.

Slika11: Izvorni kod za opciju limeGreenTeme na Minox Player-u

Na ovoj slici data je lista tema15 koje su učitane u Minox Player. Stoga sam kreirao selektor metodu koja mi pokazuje koja je tema aktivna odnosno koja tema je trenutno odabrana. Tako je Minox Player bogatiji po svojim opcijama što govori u prilog ozbiljnosti ovog player-a. No, da ne dužimo puno. Nakon što se ovaj kod unese unutar Minox Player-a trebali biste dobiti sljedeće rezultate.

15 Minox Player na sebi ima 10 aktivnih tema koje korisnik može vrlo lahko odabrati klikom na željenu temu pri ćemu se odabrana tema selektuje kao aktivna. Unutar izvornog koda nalazi se 18 tema koje su učitane u Minox Player i koje se u developer modu mogu pozvati i naravno vrlo lahko modifikovati.

Slika12: Potpuno implementirana limeGreenTema na Minox Player-u

Dakle, ovako izgleda naša limeGreenTema za Minox Player programski implementirana kroz VB.NET programski jezik. Ovo je bio način na koji Minox Player dobija svoj novi interfejs odnosno novi izgled koji uveliko odiše i čini upotrebu ovog programa još zanimljivijom nego prije. Kao što možete vidjeti na ovoj slici, implementacija limeGreenTeme je prošla bez ikakvih poteškoča i bagova sa selektorom koji korisniku pokazuje da Minox Player koristi limeGreenTemu kao zadanu. Jedina mana kod tema koje Minox Player koristi jeste i to što te teme nisu zadane odnosno jedanput kada se Minox Player zatvori i ponovo pokrene on se vrača na zadanu temu ali ne i na ovu koja je trenutno odabrana. Obzirom da ovaj tehnički članak nije imao za cilj da razjasni tehničke nedostatke Minox Player-a te stoga nema potrebe da napominjem mane i nedostatke Minox Player-a iako ih ima. S bagovima ću se ja uhvatiti u koštac u nešto skorije vrijeme. A za sada Minox Player obavlja svoj posao jako dobro i po meni vrlo zadovoljavajuće nego što se to očekivalo. Ono što dolazi u budučnosti kada je rijeć o ovom playeru jeste serija unapređenja, dotjeravanje izgleda, performansi i umanjenje zauzeča radne memorije pri pokretanju, implementacija ekstenzije i mnoštvo toga drugog. 12

133. Zaključak:

Minox Player za sada predstavlja jako kvalitetan komad softvera i ono što ga čini posebnim u odnosu na ostale aplikacije ove vrste jeste to što je player u cjelosti napisan u VB.NET-u kao WFA (Windows Forms Application) aplikacija što razvoj ovog playera čini izuzetno zanimljivim i do sada najboljim projektom koji je do sada izašao pod mojim imenom. U osnovi, razvoj Minox Player-a za mene predstavlja jedno veliko iskustvo, jednu posebnu avanturu i jednu priču na koju sam ponosan jer razvijajuči Minox Player ja zapravo jačam svoje znanje iz VB.NET-a koje sve do nedavno i nije bilo baš tako jako dok već sada, sada je to druga priča. No, ono što predstoji u budučnosti za ovu aplikaciju jesu novine, poboljšanja osnovnih funkcija ovog player-a, bolji način manipulisanja greškama (eng: error handling) pri pokretanju pojedinih funkcija, ispravka baga folder drag & drop funkcije, poboljšanje i optimizacija aplikacije u cjelosti za brže pokretanje i još nekih novih funkcija koje se planiraju i koje bi Minox Player mogao u budučnosti imati. Za sada je player jako kvalitetna aplikacija koja do duše ima neke bagove ali ne tako strašne da umanjuju ili smetaju rad Minox Player-a. Ono što bi pak trebalo da se uradi u skorijoj budučnosti jeste zamjena API-a koji pogoni Minox Player a to je Windows Media Player Library kojeg Minox Player koristi za reprodukciju .mp3 formata datoteka. U ovom smislu buduči API16 koji bi mogao pogoniti Minox Player bi bio BASS. Zašto BASS? Prvo zato jer se radi o audio libraryu koji pogoni neke od vrlo kvalitetnih aplikacija ove vrste kao što je Spider Player17 koji je po svojoj funkcionalnosti predstavljao ozbiljnu konkurenciju Winampu čiji je razvoj nedavno prekinut18. Ono što je dobro kod BASS-a jeste njegova kompatibilnost sa VB.NET-om gdje bi se vrlo lahko mogle implementirati skoro sve funkcije koje Minox Player sada ima pa i puno više od toga. Ali, ovo je sada sve na dugom štapu i Minox Player će i u narednim izdanjima raditi na WMP-u tako da možemo očekivati seriju poboljšanja kako kod rada pa tako i u performansama Minox Player-a. Ono što se pak neče mjenjati jeste razvojno okruženje na kojemu se nalazi Minox Player SDK a to je VB.NET u kojem se Minox Player razvija još od 2012. godine. Na samom kraju mogu samo da dodam da sam u suštini jako ponosan na sebe i na Minox Player koji je postao dio mene a ja dio njega, jedna moja jako uspješna developerska priča koja se i dalje nastavlja i ja se nadam da će tako i ostati i da ću u budučnosti na svijetlo dana iznijeti još boljih i naprednijih izdanja Minox Player-a.

16 API – Application Programming Interface17 I razvoj Spider Player-a je nedavno prekinut pa o tome saznaj više ovdje: https://forum.raymond.cc/threads/spider-

player-discontinued-pro-version-license-to-everyone.26476/ 18 O Winampu vidi više ovdje: http://forums.winamp.com/showthread.php?t=374929

5. Linkovi i napomena:

Napomena autora: Ovaj rad je isključivo autorsko djelo u kojem je autor, u daljem djelu ovog teksta (Amar Tufo) opisao implementaciju i način programiranja interfejsa Minox Player-a na njegovom zvaničnom SDK-u u VB.NET-u. Sve slike i tekst ovoga rada pripadaju isklučivo njegovom autoru i nisu ni u kojem slučaju plagijat niti su kopirane na bilo koji način sa web sajtova. Ukoliko su u ovom radu korištene slike ili tekst web sajtova ili drugih autora, u tu svrhu su u ovom radu navedene poveznice do njihovih uvaženih autora.

Lista poveznica:

Posjeti zvaničnu web stranicu projekta: http://www.minoxmp3player.blogspot.com

Facebook stranica Minox Player-a: http://www.facebook.com/MinoxSoftware

Minox Player na Twitter-u: https://twitter.com/minoxplayerteam Minox Player Source Forge stranica: http://sourceforge.net/projects/minoxplayer/

Minox Player crowfunding campaign on IndieGo https://www.indiegogo.com/projects/minox-player#/story

Vidi službenu recenziju Minox Player-a /Portal INFOhttp://www.info.ba/software/3028/recenzija-minox-player-domaci-audio-player-amar-tufo-softver

Autor: Amar TufoMinox Player Developer

© Amar Tufo & Minox Player, 2015http://www.amartufointeractive.blogspot.com