[Projekt] MusiGPlayer

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Antworten
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

[Projekt] MusiGPlayer

Beitrag von B.G.Michi »

Einen schönen guten Tag zusammen

Obwohl das hier ja ein Forum mit Schwerpunkt Spieleentwicklung ist möchte ich euch mein derzeitiges Projekt vorstellen. Auslöser war das Aus von Winamp und die Suche nach einem neuen Mediaplayer. Winamp funktioniert zwar nach wie vor, ist stellenweise aber einfach nicht nach meinem Geschmack (z.b. bei Duplikaten in Playlisten). Und ich konnte einfach keinen Player finden der meinen Ansprüchen gerecht wurde. Wenn du also etwas richtig gemacht haben willst, mach es selbst. Herausgekommen ist MusiGPlayer. Und ich denke es ist langsam so weit ihn an die frische Luft zu lassen.

Es fehlen selbstverständlich noch sehr viele Funktionen um es mit den sonst erhältlichen Mediaplayern aufnehmen zu können, allen voran z.B. das Editieren von Metadaten oder die Wiedergabe von Streams. Ich werde meinen Player aber die nächste Zeit selbst verwenden, dabei sehen was noch fehlt und hoffentlich auch außerhalb der Semesterferien die Zeit finden daran zu arbeiten. Mein ultimatives Ziel ist es, das beste aus Winamp, MusicBee und Virtual DJ zu vereinen: sprich Bibliotheksverwaltung wie in Winamp/MusicBee und dabei aber mehrere Decks mit Mixer zu ermöglichen. Bei Winamp und Konsorten fehlt mir nämlich unter anderem die Möglichkeit Lieder über Kopfhörer und zweite Soundkarte oder hintere Surroundkanäle vorzuhören während der Rest normal weiterläuft. Bei Virtual DJ finde ich die Bibliotheksverwaltung grauenhaft/nicht vorhanden. Auch Beaterkennung/-matching soll in nicht absehbarer Zukunft dazukommen.

Zur Technik: Für die GUI wurden wxWidgets und DialogBlocks verwendet, worüber ich im Verlauf des Projekts irre viel gelernt habe. Die Metadaten werden mit TagLib gelesen, die Audiodateien mit Libav dekodiert. Die Ausgabe läuft über PortAudio. KissFFT wird verwendet um zwischen Zeitbasis und Frequenzbasis hin und her zu transformieren. Das ermöglicht z.B. den Equalizer und später will ich auch einen Phasevocoder implementieren. Außerdem habe ich zusätzlich zur Windowsversion eine Linuxversion kompiliert, was erstaunlicherweise ohne viel Portierungsaufwand funktionierte. Die erwähnten Libs müssen auf Linux extra installiert werden. Aber ich kenne mich da recht wenig aus. Evtl versuche ich irgendwann mal ein Package zu erstellen. Das ist zwar noch viel Zukunftsmusik (höhö) aber mal schauen was noch daraus wird...

Genug geredet, hier drei Screenshots:
BildBildBild

Und falls jemand testen will gibt's hier die downloads:
https://vulgrim.de/~michi/musigplayer/

Für etwas Feedback wäre ich dankbar. Insbesondere falls etwas nicht intuitiv so funktioniert wie ihr es euch vorstellen würdet oder was euch noch dringend fehlt würde mich interessieren.
Ich geh mir dann mal den nächsten Punkt auf meiner TODO-Liste suchen... Einreihliste steht auf dem Plan.

Mit vielen Grüßen
JFF_B.G.Michi
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] MusiGPlayer

Beitrag von Jonathan »

Interessantes Projekt. Ich verwende derzeit foobar2000, was ich recht nett finde, da es aufgeräumt ist und alle Features hat, die ich brauche. Kennst du das Programm? Wenn ja, wie unterscheidet es sich von deinem?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
ponx
Establishment
Beiträge: 217
Registriert: 04.05.2008, 12:52
Echter Name: Andy Ponx
Wohnort: Hamburg
Kontaktdaten:

Re: [Projekt] MusiGPlayer

Beitrag von ponx »

hallo Michi,
ich hab's leider nicht geschafft, da irgendein Audiofile abzuspielen :-/ Unter "File" gibt's bei mir nur die Option "Quit", und auch sonst hab ich nichts gefunden. Im File Browser kann man anscheinend nur Playlisten laden. In neu erstellte Playlisten was rein zu laden hab ich auch nicht geschafft.
Grundsätzlich wär ein neuer Player aber schön! Mit foobar2000 bin ich auch eigentlich zufrieden, aber ein paar kleinere Sachen nerven dann doch.
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: [Projekt] MusiGPlayer

Beitrag von B.G.Michi »

Die bisher einzige Möglichkeit Dateien reinzuladen ist per Drag&Drop in die aktuelle oder eine manuelle Wiedergabeliste oder in den Einstellungen unter "Library" einen Ordner hinzuzufügen, der dann gescannt wird. More to come ;)

Edit: foobar2000 hab ich noch nicht verwendet von daher kann ich da schlecht einen Vergleich ziehen.
Auch eine Sache die ich bei verfügbaren Playern nicht finden konnte war die Möglichkeit ReplayGain-Informationen zu berechnen sobald ein Lied abgespielt wird. Es gibt immer nur "Send to ReplayGain-Analysis" oder ähnliches. Sobald ich die Lautstärkeanalyse implementiert habe werde ich eine Option anbieten, diese automatisch durchzuführen wenn ein Lied ohne ReplayGain-Informationen abgespielt wird.
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: [Projekt] MusiGPlayer

Beitrag von B.G.Michi »

So jetzt gibts hier mal wieder ein Update von mir:
die größte Änderung besteht darin, dass es jetzt möglich ist, mehere Tracks auf mehreren Soundkarten gleichzeitig abzuspielen. Die Anzahl der Decks und Soundkarten ist dabei beliebig, die Anzahl der Decks aber bis jetzt im Program noch nicht änderbar. Mit dem DirectSound Zweig von Portaudio scheint es zudem nicht möglich zu sein, die Soundkarten korrekt zu synchronisieren. Mit WMME klappt es. Ich vermute das lässt sich nur über einen manuellen Delay lösen. Da die Funktion zumindest von mir aber hauptsächlich für PFL auf der zweiten Soundkarte verwendet wird (der kleine Laptop hat nur einen Audioausgang -> billige USB-Soundkarte für PFL) und der Delay relativ gering ist, steht das auf der Prioritätenliste nicht so arg weit oben. Über das "Mixer"-Fenster können die Tracks dann eingeblendet werden und/oder für PFL ausgewählt werden. Die im Moment sehr kleinen Slider der Equalizer werde ich bei Gelegenheit durch eigene Steuerelemente ersetzen.

Bild

Hier noch der Changelog seit dem letzten mal:

Code: Alles auswählen

crossfader is now working (until now only for 2 channels)
mixer values are now saved
lanczos interpolation is now used for resampling again

drag & drop to decks is now working
sample rate and buffer length player settings are now working
slightly changed layout of mixer

added mixer
multiple decks and multiple outputs are now usable
added settings for output devices

internal changes for supporting multiple inputs and outputs

added queue
Download der Windowsversion:
musigplayer-0.055-alpha-win64.zip
(die Linuxversion funktioniert gerade nicht ganz korrekt)

Vielen Dank fürs reinschauen
JFF_B.G.Michi
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: [Projekt] MusiGPlayer

Beitrag von B.G.Michi »

Es hat sich wieder einiges getan:
Die größte Änderung ist die interne Verwaltung der Medienbibliothek: damit ist es nun möglich die Metadaten der Tracks zu ändern. Diese werden dann mittels TagLib auch wieder zurück in die Dateien geschrieben. Außerdem wird nun der ReplayGain-Wert automatisch berechnet, womit ein weiteres meiner Ziele erreicht wäre. Erwähnenswert ist außerdem, dass nun auch Netzwerkstreams abgespielt werden können. Ein Freund war zudem so nett mich auf seinen Webserver zu lassen und damit gibt's jetzt auch eine "offizielle" Webseite. Danke dafür :)

Webseite mit Downloadlink:
https://vulgrim.de/~michi/

Hier wieder der Changelog seit dem letzten Post:

Code: Alles auswählen

added dynamic ReplayGain
number of decks can now be changed
network streams now working
changes in tracks now get written to the file
added Metadata Editor
significant internal changes to support file editing
outsourced output, input and metadata reading into plugins
decks are now swappable
added first context menus
Vielen Dank fürs Reinschauen und viel Spass damit
JFF_B.G.MIchi
Antworten