Alle anderen Rechner möchte ich auf Linux umstellen.
Nun die Frage: Weiss jemand ob das Programm “Musikliste.exe” mit einem Emulator (z. B. “wine”) unter Linux läuft. Hat jemand schon Erfahrungen gesammelt? Oder läuft irgendwo vielleicht das ganze System mit Linux?
Ob die Musikliste mit wine läuft, müsstest du mal ausprobieren.
Da ich selbst auch fast nur mit Linux arbeite, habe ich schon seit längerem im Hinterkopf, auch eine Linux-Version von mAirList anzubieten. Es gibt schon erste Versuche, das Projekt unter Linux mit Free Pascal/Lazarus zu kompilieren. Sieht gar nicht SO schlecht aus.
Die größten Probleme sehe ich zur Zeit darin, dass ich für Linux noch keinen adäquaten Ersatz für die BASS.DLL kenne. Also Abspielroutinen in irgendeiner Form. Da muss man nochmal forschen. Außerdem müsste man die MySQL-Anbindung nochmal genauer ansehen. Ich weiß nicht, ob ZeosDBO (das sind die Datenbank-Komponenten) irgendwie mit Free Pascal und Linux kompatibel sind.
Also: Alles noch Zukunftsmusik. Erstmal kommt in den nächsten Tagen die erste Version von mAirList 1.3 raus. Freut euch auf jede Menge Neuerungen!
fmod hab ich mir auch schonmal angesehen. Was mich auf den ersten Blick stört sind die $1000 Lizenzgebühren. mAirList ist für nichtkommerzielle Nutzer umsonst, und wird es auch bleiben, so dass man dort fmod nicht registrieren müsste. Aber nehmen wir mal an, ich würde an einen gewerblichen Nutzer eine Lizenz für, sagen wir, 100 Euro verkaufen - dann müsste ich erstmal 1000 Dollar für fmod zahlen darauf hoffen, dass ich die Differenz irgendwie wieder reinkriege.
Bei der BASS.DLL ist es ähnlich. Da kostet es aber nur 100 Euro.
An einen Linux-Port hab ich auch schon gedacht, und auch schon etwas mit Lazarus rumgespielt. Lazarus (und nicht Kylix) deshalb, weil 1. wenn schon Linux, dann auch einen freien Compiler, und 2. ja dann, wenn es wirklich mal unter Lazarus laufen sollte, die Hoffnung besteht, dass man das Projekt dann auch irgendwann mal unter Windows mit Lazarus ans Rennen kriegt.
Das größte Problem sehe ich zur Zeit in der Inkompatiblität der Dateiformate. Lazarus will ja anstelle von DFM diese ähnlich aufgebauten LFM-Dateien haben, die man zur Zeit nur von Hand über die Lazarus-GUI erzeugen kann. Was zum Portieren schonmal unheimlich unpraktisch ist. Zumal man dann immer nur auf einer Plattform (Windows) entwickeln und in Richtung der anderen (Linux) portieren kann.
Ich hab deshalb mal irgendwann angefangen, einen kleinen Satz Scripts zu schreiben, die genau diese Portierung automatisieren sollen. Ziel: Ich programmiere unter Windows, checke das Projekt dann unter Linux aus, lasse meine Scripts drüberlaufen und kann es dann auf der Kommandozeile mit Lazarus kompilieren.
Natürlich müssen dafür ein Haufen Defines in den Code. Und Ersatzkomponenten für das gefunden werden, was es zur Zeit nur unter Linux gibt. Im wesentlichen halt ein Ersatz für die BASS.DLL. Dafür könnte fmod dann interessant sein.
Das größte Problem sehe ich zur Zeit in der Inkompatiblität der
Dateiformate. Lazarus will ja anstelle von DFM diese ähnlich aufgebauten
LFM-Dateien haben, die man zur Zeit nur von Hand über die Lazarus-GUI
erzeugen kann. Was zum Portieren schonmal unheimlich unpraktisch ist.
Zumal man dann immer nur auf einer Plattform (Windows) entwickeln und
in Richtung der anderen (Linux) portieren kann.
Du hast recht, die Portierung dfm->lfm (wie die Portierung Delphi->Lazarus/Freepascal insgesamt) bedeutet natürlich einen gewissen Aufwand, allerdings müßte man das ja nur einmal machen. Aber es ist ja gerade der Vorteil von Lazarus (und da muß ich Dir wiedersprechen), daß man einen Sourcecode für beide Plattformen pflegen kann, was natürlich heißt, daß der Code entsprechend aussehen muß. Das beste Beispiel ist die Lazarus-IDE selbst, deren Source auf beiden Plattformen compiliert werden kann (hab ich auch schon gemacht, geht also wirklich).
Aber das ganze hätte eh nur einen Sinn, wenn mehrere entwickeln … (habe inzwischen Deine Antwort auf die Frage nach Open Source unter Feature-Requests gelesen). Trotzdem schade. Kannst Du nicht Deine Supportleistungen/Schulungen o.ä. verkaufen?
[quote=“stemueh”]allerdings müßte man das ja nur einmal machen. Aber es ist ja gerade der Vorteil von Lazarus (und da muß ich Dir wiedersprechen), daß man einen Sourcecode für beide Plattformen pflegen kann, was natürlich heißt, daß der Code entsprechend aussehen muß. Das beste Beispiel ist die Lazarus-IDE selbst, deren Source auf beiden Plattformen compiliert werden kann (hab ich auch schon gemacht, geht also wirklich).
[quote]
Das stimmt dann, wenn Lazarus/FreePascal tatsächlich so weit ist, dass es die komplette Funktionalität von Delphi hat und ersetzen kann. Ich bin da zur Zeit noch etwas skeptisch. Zumal mAirList mittlerweile etliche Drittanbieter-Komponenten verwendet: ZeosDBO, DSPack, PascalScript, JVCL, um nur mal ein paar zu nennen. Die müssten natürlich auch alle schon unter Lazarus funktionieren, was ich sehr bezweifle. Außerdem würde das die Auswahl weiterer Komponenten sehr einschränken, wenn man immer darauf achten muss, dass das auch Lazarus-kompatibel ist.
Fazit: Lazarus ist äußerst interessant, eine endgültige Portierung (auf beiden Plattformen) wird aber IMHO erst dann möglich sein, wenn es 1. komplett ist (also den gleichen Umfang an Komponenten und Funktionalität hat) und 2. so etabliert, dass auch die Drittanbieter Lazarus-kompatible Komponenten zur Verfügung stellen.
Ich denke mal, ich würde zunächst versuchen, tatsächlich eine automatische Portierung (Vorbereitung durch Defines und dergleichen) nach Linux zu realisieren. Dann halt mit fmod im Hintergrund und als reine nicht-kommerzielle Variante. Aber das ist echt Zukunftsmusik und erstmal “Spielerei”, erwartet also nicht innerhalb der nächsten zwei Wochen einen Linux-Port
Kannst Du nicht Deine Supportleistungen/Schulungen o.ä. verkaufen?
Braucht ja niemand, ist ja kinderleicht zu bedienen
Nicht so wirklich. Im wesentlichen warte ich darauf, dass sich seitens der BASS.DLL dort was tut. Ansonsten müsste man schauen, ob man die Soundausgabe irgendwie anders hinkriegt. Vielleicht mpg123 fernsteuern oder so.
Note there are some API changes (along same lines as BASS 2.1). Updated documentation is not included, but you can lookup the new stuff (MusicSet/GetAttribute functions) in the full BASS docs.
Ich bezweifle, dass sich die FMOD-Entwickler darauf einlassen würden.
Davon ab, wenn ich schon ein komplett neues Interface zu einer anderen Soundengine programmieren müsste, dann muss es nicht unbedingt FMOD sein. Ich denke da zum Beispiel an GStreamer oder sogar Phonon (wobei letzteres erst dann interessant wird, wenn KDE4 rauskommt.)
Es scheitert weiterhin an einem geeigneten BASS.DLL-Ersatz. Außerdem gehe ich davon aus, dass diverse GUI-Elemente unter Lazarus nicht laufen. Und Zeit habe ich im Moment auch nicht dafür