Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,
ich bin auf der Suche nach ner vernünftigen SoundLib, die auf Windows 32- und 64-bit läuft. Zur Zeit mach ich das mit OpenAL und einigen Libs für OGG und Co. Doch leider gibt es die Libs nicht für Win64. Ne alternative wäre Bass. Die sollte auf Win und Linux (jeweils 32- und 64-bit) laufen, aber das ist dann auch nicht gerade billig :/ Gibts da was gutes? Zur Not auch nur für Win64, dann wrapp ich mir die unterschiedlichen Libs in ner Klasse und kann dann je nach OS die entsprechende laden.
Registriert: Di Jun 12, 2012 21:26 Beiträge: 112
Programmiersprache: Delphi
Hallo,
mir fällt spontan SDL_Mixer ein. Soweit ich gesehen habe, unterliegt SDL_Mixer der zlib-Lizenz. Empfehlen kann ich es Dir jedoch leider nicht, da ich mich noch nie intensiv damit befasst habe. Das Einbinden von ogg-Dateien macht SDL_Mixer automatisch, sofern die entsprechenden dll's verfügbar sind. Du musst Dich hierbei also um nichts weiter kümmern. Sollte auch als Subsystem nutzbar sein, falls Du ansonsten kein SDL nutzt. Wobei ich nicht weiss, wie und ob die Libs auf Win64 laufen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Xiph.Org hat einige Libs in diese Richtung (libao für Audio Output z.B., libvorbis für Vorbis-Decoding, libogg für den Ogg-Container ... ). Die kann man notfalls selber kompilieren, ggf. findet man aber auch irgendwo Builds. Die laufen ziemlich sicher auch unter 64-bit Windows, wenn du sie selber kompilierst.
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
Bergmann89 hat geschrieben:
Zur Zeit mach ich das mit OpenAL und einigen Libs für OGG und Co. Doch leider gibt es die Libs nicht für Win64.
Falls du da irgendwelche Wrapper-Libs verwendest, empfehle ich dir direkt libogg und libvorbis zu verwenden. OpenAL gibt es nämlich für Win64 (hab ich da auch schon benutzt) und die xiph.org-libs laufen da auch problemlos. Ich verwende momentan libogg, libvorbis und OpenAL auf allen Systemen (Windows x86, Windows x64, Linux x86, Linux x64). libogg und libvorbis werden sogar bei jedem build komplett aus dem Sourcecode gebaut.
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
Moin!
Ich hab den Spaß verbrochen, schreib ich mal was dazu Wrapper-Libs - nö, nur die compilierten DLLs, die einem überall nachgeworfen werden (z.B. hier, ursprünglich hab ich unsere aus dem Audorra-Paket geklaut). Die hab ich auch in Win64 gefunden (z.B. sogar aus SDL_mixer), aber laut Bergmann fehlt dort eine c.dll. IDA-64 jedenfalls sagt mir aber nur, dass das eine MSVCRT90 sehen will; ich selbst habe nur Win32, kann da also gar nichts testen.
Eigentlich problematisch hatte ich mir nur vorgestellt, ob die Delphi/FPC-Header auch auf Win64 passen (die waren schon für 32bit kaputt, musste da einiges am Speicherlayout reparieren), aber so weit sind wir noch gar nicht gekommen. Mindestens den OpenAL-Header müssten wir wahrscheinlich etwas umbauen:
Code:
{$IFDEF Win32}
callibname='OpenAL32.dll';
Und dann ist da noch soft_oal. Da gibts, so wie ich das sehe, gar keine 64bit von. Die brauchen wir immerhin auf Linux nicht, da geht das ab Werk, aber Win64 ohne Positional-Audio zu lassen wäre schon schade
Und als dann das ganze Problem nochmal mit Freetype kam, hatte ich keine Lust mehr. Die gibts via GTK2 in 32bit (2.4.irgendwas, aktuell eben) und 64bit (2.3.irgendwas, doch schon älter) als experimental, inkompatibel und überhaupt und so. Dann hab ich aus Frust meine BA angefangen, damit ich eine Ausrede hab mich nicht mehr damit zu befassen Naja, nicht so ganz, aber so wirklich Lust auf den sch...paß hab ich auch nicht mehr.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Von vorkompilierten DLLs würde ich dringend abraten, wenn sie nicht von der Webseite der Library selber kommen. Da kann sonstwas für Malware drin sein. Unbedingt selber bauen – dann ists auch garantiert Binärkompatibel zu eurem Compiler.
grüße bei dem schmarrn bin ich froh, nicht unter windows zu entwickeln
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
Lord Horazont hat geschrieben:
Von vorkompilierten DLLs würde ich dringend abraten, wenn sie nicht von der Webseite der Library selber kommen.
Öhm ja, was ist davon nicht Original? Gut, Audorra, aber denen trau ich einfach mal zu was ordentliches auszuliefern... und RareWares klingt zwar komisch, ist aber tatsächlich die mehr oder weniger offizielle Quelle für Ogg/Vorbis-Windows-Binaries. Xiph.org behauptet zwar an mehreren stellen anderes, aber sie haben grade *keine* DLLs der libvorbis/ogg, bestenfalls zusammgenlinkte DirectShow-Filter.
Lord Horazont hat geschrieben:
Unbedingt selber bauen – dann ists auch garantiert Binärkompatibel zu eurem Compiler.
Du hast ein nicht vergessen - das ist hier DelphiGL
Lord Horazont hat geschrieben:
bei dem schmarrn bin ich froh, nicht unter windows zu entwickeln
Ach naja, die Antwort scheint ja genauso "wenn du willst dass es geht, compilier selber" zu sein... wenn wir den Aufwand betreiben und (vermutlich je eine, würde mich wundern wenn mal was kompatibel wäre) Toolchain zusammenbauen, geht ja alles. Wär nur schön, wenn's was fertiges geben würde.
Wir könnten ja Bass lizensieren und das ganze Problem wäre weg, aber für'n Anfang ist das einfach etwas teuer
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Naja, Binärkompatibilität hast du, wenn du FPC und GCC verwendest, die legen da sehr viel wert drauf. Dass Rarewares ein offizieller Supplier ist, sehe ich nirgendwo.
Eine Toolchain für die C-Libraries sollte aber vollkommen ausreichen. Gerade bei den FOSS-Libs ist der Code recht portabel zu bauen. Probleme sehe ich höchstens bei der libao, da müsste man halt sehen dass man das irgendwie mit den Windows-Headern in ordnung bekommt.
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
Martok hat geschrieben:
Und dann ist da noch soft_oal. Da gibts, so wie ich das sehe, gar keine 64bit von. Die brauchen wir immerhin auf Linux nicht, da geht das ab Werk, aber Win64 ohne Positional-Audio zu lassen wäre schon schade
Was spricht denn unter Windows gegen die offiziellen OpenAL-Redistributables?
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
darkinsanity hat geschrieben:
Was spricht denn unter Windows gegen die offiziellen OpenAL-Redistributables?
Die brauchen wir ja sowieso. Aber: außer den Creative-Treibern kann keine Device-Implementation echtes 3D-Positioned-Audio. Die können alle nur Stereo, wenn man einen richtigen Mixer will muss man den selber mitbringen. Tja, und Mittel der Wahl ist da soft_oal, das wird von allem und jedem verwendet. Unter anderem z.B. von der UnrealEngine, die Option "Hardware Sound" schaltet das z.B. um. Gibt's einige Bastler-Threads zu, die sich wundern warum nur "Software" auf ihrem 7.1-System ordentlichen Sound produziert.
Lord Horazont hat geschrieben:
Naja, Binärkompatibilität hast du, wenn du FPC und GCC verwendest, die legen da sehr viel wert drauf. Dass Rarewares ein offizieller Supplier ist, sehe ich nirgendwo.
Hm, wäre dann mal einen Versuch wert. Wenn man mal viel Zeit hat... "Offiziell" ist RW im Sinne von "sie sind die Einzigen"
Finde es übrigens immer wieder spannend, wie viele aktuelle Engines nicht in 64bit-Versionen existieren, selbst wenn sie z.B. crossplatform-fähig sind. Aber nachvollziehen kann ich das schon - Riesenaufwand ohne nennenswerten Vorteil, das ist echt nur schwer zu rechtfertigen wenn man damit Geld verdienen muss und eine Deadline schon feststeht...
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
Moin!
kurzes Update: durch Zufall bin ich im Blender-Installationsverzeichnis auf libsndfile gestoßen - und das Ding funktioniert wunderbar. Neben Ogg können wir jetzt also auch FLAC und jede Menge obskure PCM-Formate. Jedenfalls nachdem man sich selbst einen aktuellen Header gebastelt hat, der im FPC-SVN ist doch etwas alt. Ist aber nichts kompliziertes: zusammen mit der OpenAL-Anbindungsklasse sind das jetzt ~1100 Zeilen (mit Kommentaren), und es scheint zu funktionieren. Allein das wesentlich kleinere Interface macht mir durchaus Mut, dass man das überall zum Laufen bekommt. Eigentlich ist diese lib ja genau dafür gedacht.
Mal sehen, wenn wieder jemand greifbar ist der 64bit macht
Bleibt noch soft_oal für win64, aber naja, immerhin, wir können schonmal grundsätzlich Ton. Das ist doch was.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
libsndfile hatte ich ganz vergessen. Schwirrte irgendwo in meinem Hinterkopf rum. Gut dass du's wieder auffrischst und schön dass ihr was gefunden habt
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.