Randomplay – ein Player für mp3, Videos, Podcasts

4 02 2009

Zwar schon vor längerer Zeit von mir entwickelt, weil ich mit keinem der vorhanden MP3-Player so richtig zufrieden war, habe ich dieses Projekt jetzt bei Google-Code hochgeladen (http://code.google.com/p/randomplay/).

Randomplay wird von der Kommandozeile aus aufgerufen. Es wurde unter Linux entwickelt, läßt ich mit ein paar Modifikationen im Code aber wahrscheinlich auch leicht für Windows oder andere Systemem anpassen (nicht getestet, aber wenn sich jemand daran versuchen möchte, das Code-Repository kann von jedem heruntergeladen werden).

Die Handhabung von Randomplay ist denkbar einfach: In das Directory wechseln, welches die Mediendaten enthält und dort einfach randomplay eintippen. Es werden dann alle Stücke in diesem Directory und eventuell vorhandenen Unterdirectories in zufälliger Reihenfolge abgespielt.

Während ein Stück gespielt wird, entspricht die Steuerung mittels Tasten dem Programm ‚mplayer‘:
Ein Druck auf die Taste q beendet das gerade laufende Stück und springt zum nächsten Stück. Mit den Cursor-Tasten links und rechts kann man im Stück vor- und zurückspulen.

Anreiz für mich, dieses Programm zu erstellen, war auch, daß man damit sehr schön zeigen kann, wie man die Möglichkeiten von Ada-Tasks (d. h. unabhängig laufenden Programmabschnitten) in einem Programm wie diesem verwenden kann. Es gibt im wesentlichen zwei Tasks. Eine ist dafür verantwortlich eine zufällig zusammengestellte Playlist intern zu erstellen, während die zweite Task für das Abspielen zuständig ist.

Das Programm spielt die Einträge nicht ganz rein zufällig, sondern versucht auch zu vermeiden, daß ein Stück zu oft hintereinander abgespielt wird. Nach einem bestimmten Stück müssen deshalb mindestens N andere Stücke gespielt werden. Falls insgesamt aber zu wenige Stücke vorhanden sind, läßt sich diese Regel nicht einhalten. Das Programm ist auch darauf vorbereitet und es wird der Bereich dynamisch verringert (wenn es insgesamt zu wenige Stücke zum Spielen gibt, dann läßt es sich eben nicht vermeiden, daß man ein Stück kurz darauf schon wieder abspielen muß).

Advertisements




Accessing Spreadsheets with Ada (Excel,Openoffice,Google)

24 07 2008

Since my Roo gem (http://roo.rubyforge.net) for accessing spreadsheet files within Ruby programs works fine and is widely used i plan to implement this project also in Ada.

With this library you can access these spreadsheet types on any platform.





Go playing program with Ada95

25 12 2007

Ich kann’s nicht lassen und will mich nun auch an ein Go-Programm versuchen.

Nach langem Überlegen, ob sich das überhaupt lohnt und angesicht der Tatsache, daß andere Leute damit schon viel weiter sind (siehe auch die Mailinglist computer-go), finde ich es trotzdem interessant, sich damit zu beschäftigen und ein vielleicht einigermaßen passabel spielendes Programm zu erstellen.

Als Implementierungssprache will ich Ada95 verwenden:

  • Sehr gute Geschwindigkeit des compilierten Codes gegenüber anderen Programmiersprachen.
  • Leichter lesbar und wartbar als beispielsweise C oder C++
  • Bereits vorhandene Sprach-Features wie beispielsweise parallele Tasks, die es erlauben, Aufgaben parallel abzuarbeiten.