Fmodex für Autoit

  • hi Leute,
    heute solles "erstmal" nur um die Anfrage nach einer Fmodex-UDF gehen und ob daran interesse besteht. Wer nicht weiß, was Fmodex ist, findet es hier. Fmodex ist demnach eine API für Programmierer und zwar eine der wahrscheinlich meist genutzten Sound Engines in der Spieleindustrie. Für non-kommertielle Produkte kostenlos bietet sich Fmodex geradezu an, um endlich auch mal in Autoit umgeschrieben zu werden. Darauf gestoßen bin ich erst vor kurzem und habe mich mal umgeschaut, habe aber noch nichts für Autoit gefunden. Mein Interesse war geweckt. Ich habe mich gleich mal nach Modulen in anderen Programmiersprachen bemüht, die ich auch lesen kann, wodurch mir das Übersetzen leichter fallen würde, und bin dann auf die Python API gestoßen, welche es hier gibt. Nun besteht nur noch die Frage: Bemühe ich mich da umsonst? Kann das hier eigentlich überhaupt niemand gebrauchen? Nun ist das ganze ja eines meiner Hobbies - durch meine visuelle Schädigung bin ich sehr auf Sound und Musik versiert und damit macht das ganze auch gerade mir Spaß und ich freue mich darauf, diese UDF zu nutzen, wenn sie fertig ist. Das heißt, was ich von euch möchte ist eigentlich nur ein Statement, wie ihr die Idee findet und ob ihr das ganze Unterstützt oder vielleicht sogar helfen wollt ;D. Für Hilfe bin ich natürlich immer dankbar, vor allem bei den Callbacks habe ich noch nicht so den Durchblick, der ganze Rest funktioniert bis jetzt schon. Ich habe auch schon ca. 500-600 Zeilen fertig. Das ganze soll, wenn möglich, so, wie sich die Fmod-Programmierer sich das auch gedacht haben, in Objekten umgesetzt werden, wozu ich die AutoitObject UDF in meine UDF mit eingebunden habe. Dadurch wird eine direkte Objektorientierte Syntax möglich. Durch das erstellen eines Systems bekommt mein ein System-Objekt zurück, über welches man dann Soundobjekte erstellen kann usw usw. Tja, das ist auch schon alles. Wenn das ganze genug Anklang findet klemme ich mich dahinter und werde mich in nächster Zeit mit der Vervollständigung der UDF befassen und sie schließlich hier posten, aber erstmal seid ihr dran ;D.
    Edit: So, und hier ist der Anfang der UDF und einige Infos für euch. Die UDF liegt auf einem öffentlich zugänglichen Subversion Repository unter der URL

    Spoiler anzeigen


    svn://dranor.vserver.softronics.ch/fmodex

    und kan von jedem von euch verwendet werden, zumindest was den Checkout angeht. Wenn jemand mitarbeiten möchte, kann er sich bei mir per PM melden. Ich werde nicht nach jedem neuen Commit eine neue Version zum Download hier posten, daher ist es wahrscheinlich sinnvoll, wenn ihr euch ein Checkout von dem Repository macht und dann immer mal überprüft, ob ich etwas geändert habe. Zum Download gibt es den Anfang der UDF hier:
    fmodexr4.zip
    Falls der Server mal wieder einen PHP-Error auswirft, einfach noch mal später probieren. Der Hoster hat manchmal ne Meise.
    Letzte Änderungen:

    Spoiler anzeigen


    R4 (Toni):
    - dspconnection und dsp angefangen (dspconnection abgeschlossen).
    - einige Konstanten übersetzt, großteils alle Variablen implementiert.
    R3 (Toni):
    - objekt soundgroup vollständig implementiert.
    - funktion advancedsettings wieder aufgesplittet in set/getadvancedsettings.
    - structs fast vollständig aus python-script übernommen und außerdem noch andere hinzugefügt.
    - structureobject umgeformt, sodass, durch übergabe von erstellungsstring, auch Variablennamen verwendet werden können.
    R2 (Toni):
    - System weiter übersetzt
    - einige andere Objekte wie dspbuffersize oder listener hinzugefügt.
    - liste der noch zu übersetzenden Funktionen vorhanden.
    R1 (Toni):
    - Grundprinzip nach Python-Vorbild aufgebaut. Dazu bin und resources ordner angelegt und dateien einsortiert.
    - mit system objekt angefangen und bereits einige helferfunktionen sowie allgemeine funktionen erstellt.


    Infos: Ich habe in der UDF bisher noch keine Einrückungen oder Leerzeilen drin. Das liegt einfach daran, dass ich denke, dass es sich nicht lohnt, Tidy drüber zu jagen, wenn ich danach sowieso wieder ohne alles weiter schreibe. Davon mal abgesehen, dass ich Code nicht so einfach lesen kann, wenn er eingerückt ist. Ich hoffe, ihr könnt das verstehen. Ich wünsche euch viel Freude beim Verfolgen der Entwicklung dieser UDF. Vielleicht habt ihr ja auch Hinweise zur Verbesserung oder es will mir jemand helfen? Einfach hier oder per PM anschreiben.
    mfg.
    Timtam

    Einmal editiert, zuletzt von Timtam (11. März 2012 um 13:53)

  • Hi Leute,
    ich habe gerade den ersten Post bearbeitet und jetzt könnt ihr euch auch die Anfänge der UDF herunterladen. Ich hoffe, ihr könnt mir Tipps oder Verbesserungswünsche geben :).
    mfg.
    Timtam

  • Es ist ja auch noch lange nicht fertig. Man kann zwar schon sounds abspielen, aber mehr auch nicht - die sound abspielfunktion gibt noch nicht mal einen Channel zurüc, weil es das Channelobjekt noch nicht gibt ;D. Ja, sowas meinte ich mit Hilfe... eine Dokumentation wäre nicht schlecht und ich befürchte, dass es mir da auch an Gedult für mangeln wird. Aber zur Not reicht auch die Dokumentation, die dem FModEx an sich beigelegt ist. Dazu einfach auf https://autoit.de/www.fmod.org schauen. Da steht eigentlich alles drin.

  • oh, nochwas... sry :). die textdatei, die beigelegt ist, ist nicht die übersicht der Funktionen, die schon übersetzt sind oder so... nein, dass sind die Funktionen, die noch zu übersetzen sind. Die liegt eigentlich nur dabei, damit ich einen überblick habe, wie weit es noch ist um das unmögliche zu schaffen ;). Also bitte nicht daran klammern. Aber daran kann man sehen, wieviel noch gemacht werden muss. Das sind ja noch ca. 300 Funktionen...