ProtistPlayer

Protistplayer was an idea for a multi platform desktop music player application. The goal was to develop a player that is based on playlists instead of a music database.

Related Articles:

  • Fortschritte beim Musikplayer

    | tagged as
    Summary:

    Eine ganze weile schon habe ich hier nichts mehr geschrieben, was jedoch nicht heisst, dass ich völlig untätig war. Ich habe in den letzten Wochen immer wieder Zeit gefunden, um an meiner Idee weiter zu arbeiten, eine eigene Musik-Abspielsoftware zu entwickeln. Diese Fortschritte möchte ich nun auch hier im Blog kommunizieren. Zunächst einmal etwas ernüchternd: Mein Programm spielt noch keine Musik ab. In der derzeitigen Form ist das Programm nach wie vor eher eine Art Mockup oder GUI-Prototyp dar. Es zeigt, wie ich mir die Programmoberfläche vorstelle und stellt auch einige Bedienkonzepte vor. Realisiert ist der Player zur Zeit als Firefox-Addon und noch nicht als eigenständige Anwendung. Später wird der Player aber auch ohne Firefox lauffähig sein. Ich möchte aber auch die Variante als Addon beibehalten, weil ich dies fǘr eine Interessante Alternative halte. Ich werde in den nächsten Tagen noch einmal in einem Artikel zusammenfassen, welche Ziele ich mir für das Projekt gesetzt habe und welche Anforderungen ich erfüllen möchte. Auch werde ich dann erklären, warum ich einen eigenen Player entwickeln möchte, obwohl es ja schon eine ganze Reihe von Playersoftware gibt. Ich möchte in der nächsten Zeit öffters den aktuellen Stand des Projekts hier beschreiben und so den Projektverlauf dokumentieren. Daneben habe ich ein Projekt auf github.com für den Player gestartet. Wer github.com nicht kennt: Dies ist eine Projekt-Hostingseite, die auf dem Verteilten Versionsverwaltungssystem git aufsetzt. Git ist von seinem Funktionsumfang und den dahinter liegenden Konzepten mit Mercurial vergleichbar, welches ich bisher verwendet habe. Ich bin nach wie vor ein Fan von Mercurial, wollte aber aus verschiedenen Gründen auch einmal git und auch github ausprobieren.
    ...

  • Musikplayer

    | tagged as
    Summary:

    Hin und wieder habe ich in der letzten Woche Zeit gefunden, um an meinem Musikplayer weiter zu werkeln. Der Grund, warum ich das Projekt wieder hervorgekramt habe ist, dass ich vor einiger Zeit sowohl auf dem Notebook als auch auf meinem PC komplett auf Linux Mint umgestiegen bin und Windows nur noch ein Schattendasein fristet und ich deshalb wieder aufs neue feststellen muss, dass die Linux-Musikplayer leider nicht meinen Geschmack treffen und Foobar2000 über Wine auch nicht sonderlich gut läuft. Einen eigenen Musikplayer zu entwickeln ist allerdings auch nicht ganz so einfach. Vor allem die Grund-Funktionalität, nämlich das Abspielen einer mp3 ist nicht so ohne weiteres hinprogrammiert, zumindest wenn man wie ich wenig Ahnung von C oder C++ hat, denn mit bloßem JavaScript lässt sich keine Mp3 abspielen. Da mein Player aber in jedem Fall frei und OpenSource sein wird, ergeben sich einige Vorteile bei der Entwicklung. Ich kann auf Programmcode anderer freier Projekte zurückgreifen und mir anschauen, wie andere Leute das machen. Es gibt ein paar ähnliche Projekte, die ebenfalls auf Mozillas XUL aufbauen. Hier ist als erstes natürlich Songbird zu nennen, der jedoch von seinem Konzept und der Funktionalität her nicht meinen Vorstellungen entspricht. Es war jedoch trotzdem interessant, den Quellcode zu lesen, allerdings ist es nicht so einfach, den Überblick zu behalten bei der großen Anzahl an Funktionen, die Songbird mitbringt. Es existieren aber noch weitere freie Multimedia-Player auf XUL-Basis. "XULPlayer" ist ein universeller Video- und Audio-Player, der auf der MPlayer-Bibliothek aufbaut. Leider wird der XULPlayer auch nur für Windows entwickelt. Eine weitere Alternative wäre XULMusic, der noch am ehesten meinen Vorstellungen entspricht, wenn es darum geht, auf dem Code aufzubauen. Leider ist genau dieser nicht mehr Verfügbar. Zwar kann man auf den XUL- und JavaScript-Code direkt zugreifen, da dieser ja nicht kompiliert wird, jedoch auf den Code der zugrunde liegenden GStreamer-Bibliothek kann nicht so einfach zu gegriffen werden. Leider funktioniert die Version nicht korrekt, was vermutlich daran liegt, dass dieses Projekt schon ein paar Jahre ohne Aktualisierungen auf dem Buckel hat. Aktuell teste ich deshalb einige Varianten, um innerhalb einer XUL-Applikation Audio-Dateien abzuspielen und dies per JavaScript zu steuern.
    ...

  • Songbird nicht mehr für Linux

    | tagged as
    Summary:

    Vor einiger Zeit hatte ich hier an dieser Stelle die Idee vorgestellt, eine eigene Musik-Abspielsoftware zu schreiben oder aber eine Vorhandene freie Software auf meine Bedürfnisse anzupassen. Kurz gesagt ging es darum, dass der Musikplayer foobar2000 einige wirklich überragende und leider auch einzigartige Funktionalitäten bietet, leider jedoch nicht freie Software ist und auch nur für Windows zur Verfügung steht. Was also Fehlt ist ein Player, der für alle relevanten Betriebssysteme (mindestens Windows und Linux) zur Verfügung steht, dabei aber viele gute Ideen von foobar2000 übernimmt, jedoch möglichst die weniger guten Ideen und Verhaltensweisen der üblichen Player, nicht übernimmt. Dazu eine Möglichst simple Konzeptionelle Grundlage auf Basis von Playlisten statt einer Medienbibliothek. Zunächst stand die Idee im Raum, einen eigenen Player von Grund auf neu zu entwickeln. Hier könnten grundsätzliche Entscheidungen von Grund auf getroffen werden ohne auf Abhängigkeiten vorhanderer Software rücksicht nehmen zu müssen. Die andere Möglichkeit, die mir in den Sinn kam ist, eine vorhandene freie Playersoftware den eigenen Bedürfnissen anzupassen. Dafür ist freie Software ja schließlich da. Als Fan von Mozilla-Technologien bietete sich hier natürlich Songbird an, welcher ja komplett auf eben jener Mozilla-Plattform aufbaut, und deshalb neue Funktionalität auch über Erweiterungen eingefügt werden könnte. Zwar ist Songbird ziemlich überladen mit unnötigen Funktionen, diese könnten jedoch zum großen Teil genauso auch wieder rausgenommen werden. So weit bisher. Nun musste ich jedoch mit einer Mischung aus Entsetzen und Enttäuschung lesen, dass das Songbird-Team die Unterstützung für ihre Linux-Version einstellt (Quelle: Heise Open). Zwar wird es weiterhin Releases für Linux geben, diese werden jedoch nicht mehr getestet und neue Features werden nicht mehr Unterstützt. Für meinen Teil hat sich damit die Frage letztlich geklärt, welchen der oben kurz erwähnten Wege ich bevorzugen würde. Zwar ist es realistisch gesehen, natürlich weiterhin möglich, Songbird auch auf Linux zu benutzen und wenn man auf neue Features verzichten kann, ist dies Sicher kein Problem. Jedoch macht sich das Team mit dieser Entscheidung nicht unbedingt sympatischer. Eine aktive Unterstützung in Form von beigesteuerten Erweiterungen, macht so natürlich keinen Spaß mehr. Da ich aktuell mit meinem Praktikum beschäftigt bin, ist diese Programmidee aber ohnehin erstmal noch Zukunftsmusik. Jedoch beschäftige ich mich in meinem Praktikum auch mit dem Mozilla-Framework und der Arbeit mit XML - beides Dinge, die für die Entwicklung eines solchen Players von Vorteil sein dürften. Gerade die Verarbeitung von XML sollte für einen Playlist-Orientierten Player wichtig seien.
    ...

  • Musik Player: Songbird oder selbst entwickeln

    | tagged as
    Summary:

    Nicht erst seit Gestern bin ich auf der Suche nach einer tollen Musik-Abspielsoftware, die alle meine Anforderungen erfüllt. Bisher war die Suche aber nicht wirklich Erfolgreich. Bisher habe ich vor allem den Player "foobar2000" benutzt, welcher von Art und Umfang der Funktionen überaus Großartig ist. Wer möchte kann eine (ziemlich schnelle) MedienDatenbank benutzten - muss aber nicht. Ich persönlich bin da wohl ein bisschen Altmodisch und bevorzuge die Klassischen Playlisten. Diese lassen sich in Foobar2000 sehr intuitiv steuern. Man kann mehrere Playlisten anlegen und in Tabs ordnen. Das ganze in einer simplen, praktischen und unaufdringlichen grafischen Gestaltung. Prima. Doch leider wird das Bild meiner Meinung nach durch 2 Fakten etwas getrübt, wobei der eine Fakt wohl aus dem anderen folgt: Erstens: Foobar2000 ist keine freie OpenSource-Software, zumindest nicht komplett. Und zweitens, was wesentlich relevanter ist: Foobar2000 läuft nur unter Windows und nicht unter Linux. Die Musik-Player, die ich bisher unter Linux ausprobiert habe, können leider Foobar2000 nicht das Wasser reichen - zumindest was meine Bedürfnisse angeht.

    SongBird

    Hoffnung habe ich geschöpft, als ich vom Player "Songbird" hörte. Dieser basiert auf Mozillas XUL-Technologie, was eine ganze Reihe positiver Eigenschaften nach sich zieht. Er läuft unter Windows genauso wie unter Linux. Die Anpassbarkeit über Plugins sollte auf einfachste Art und Weise funktionieren und das Mozilla-Toolkit bietet jede Menge Potetial was die Gestaltung der Oberfläche und den Funktionsumfang angeht. Songbird möchte eine Art "MusikBrowser" sein, jedoch verschenkt er jede Menge Potential. Das fängt schon bei den Tabs an. Tabs sind für Browser heute eine alltägliche Funktion und so bietet auch Songbird tabs. Jedoch kann ich meine MusikPlayliste ausschließlich im ersten Tab ablegen. Alle weiteren Tabs sind ausschließlich für das Besuchen von Webseiten gedacht. Warum kann ich nicht (ähnlich simple wie in Foobar2000) meine verschiedenen Wiedergabelisten in jeweils einen Tab ablegen? Und wo wir bei den Wiedergabelisten sind. Wieso ist es so umständlich, überhaupt eine Playlist zu erzeugen? Als ich Songbird ausprobiert habe, hatte ich ständig das Gefühl, dass ich unbedingt auf die Musikdatenbank angewiesen bin. Ohne Musikdatenbank, nur mit simplen Playlisten zu arbeiten erschien mir unglaublich umständlich. Schade. Weiter geht das ganze mit dem Layout. Leider ist es nicht ohneweiteres möglich, ungewollte Oberflächenelemente, wie z.B. die Seitenleiste der Mediathek, einfach auszublenden. Die eigentlichen Schwächen im Vergleich zu Foobar2000 zeigen sich jedoch erst bei genauerem Hinsehen: Wärend ich bei Foobar2000 nicht nur die komplette Oberfläche (inklusive Menüs) frei gestalten sondern auch ALLE Funktionen, die irgendwo im Player stecken auch über Tastatur-Shortcuts steuern kann, sind die Möglichkeiten bei Songbird hier dürftig. Nur für ein knappes Dutzend Funktionen lassen sich Tastaturkürzel belegen. Diese aber dazu teilweise noch mit Einschränkungen. So ist es in Foobar2000 ohne Probleme möglich, Tastaturkürzel für das Abspielen von Songs auf den Nummernblog zu legen. In Songbird ist dies so nicht möglich. Ich muss zwingend eine Sondertaste zusätzlich angeben. Das ist sicherlich gut gemeint, für mich persönlich stellt das aber ein ärgerliche Einschränkung dar. Ein weiteres, eigentlich total simples Feature, welches ich bei Foobar2000 lieben gelernt habe sind die Funktionen "Playback follows Cursor" und "Cursor Follows Playback". Wenn ich in der Playlist einen Song markiere, dann wird dieser als nächstes abgespielt. Somit kann ich den aktuellen Song noch fertig hören und Foobar2000 springt danach selbstständig zu der Stelle in der aktuellen Playlist (oder in anderen Playlists), an der ich weiter hören möchte. Ein unglaublich simples aber trotzdem cooles Feature, welches ich sonst noch bei keinem anderen Musikplayer gefunden habe.

    Die Lösung?

    Technisch ist Songbird wirklich klasse. Die XUL-Plattform ist meiner Meinung nach eine wirklich gute Wahl bei der Entwicklung von dieser Art von Software. Vor allem für die vielen Internet-Funktionen, die Songbird implementiert ist diese Plattform hervorragend geeignet. Offensichtlich gehöre ich wohl leider nicht so ganz zur Zielgruppe von Songbird. Meine Idee war also, Songbird durch geeignete Plugins so zu erweitern, dass er meine Anforderungen doch erfüllt. Entweder Plugins von anderen Programmierern oder von mir selbst programmierte Plugins. Nach einigen Suchen bin ich da mittlerweile jedoch ein wenig Skeptisch geworden da Foobar2000 und Songbird scheinbar völlig andere Zielgruppen ansprechen und der Aufbau von Songbird in einer ganz andere Richtung geht. Damit war die Idee geboren, eventuell eben selbst eine MusikPlayer-Software zu schreiben, die genau meine Bedürfnisse erfüllt. Nicht mehr und nicht weniger. Da Songbird freie OpenSource-Software ist wäre es ja Möglich, gewisse Grundfunktionalitäten wie das reine Abspielen von MP3s in eine eigene Anwendung zu übernehmen. Als Plattform würde ich selbstverständlich auch Mozillas XUL einsetzen und den Player natürlich auch unter einer freien OpenSource-Lizenz veröffentlichen. Ob und Wann ich diese Player-Software wirklich schreibe, weiss ich aber aktuell noch nicht. Die Idee ist zumindest da und wenn sich die Zeit finden lässt, dann setze ich diese vieleicht auch um. Mal Schauen :-)
    ...

  • Mockup - 'LestardMusicPlayer'

    | tagged as
    Summary:

    Über die Feiertage habe ich ein wenig Zeit gehabt und an einem Mockup für einen Musikplayer gearbeitet. Als Plattform habe ich wiedermal Mozillas XUL gewählt. Das GUI ist an meine Konfiguration von Foobar2000 angelegt. Wie gesagt handelt es sich nur um ein Mockup. Jegliche Programmlogik fehlt noch völlig. Weder lässt sich Musik abspielen noch die Playlists direkt bearbeiten. Es dient nur als Test und Beispiel für die Programmoberfläche. Das Mockup gibt es hier zum Download Hier ein Screenshot: Screenshot
    ...