DirectSound for QuickBasic 2.5
|
Inhalt:
|
Was ist DS4QB?
DS4QB steht für DirectSound for QuickBasic. Es handelt sich dabei um ein Windows-Programm, das Befehle von einem QB-Programm annimmt,
um diese an an das Windows Soundssystem (DirectSound) weiterleitet. Mit DS4QB-sg kann man hochwertige MP3-, MOD- und MIDI-Sounds in QBasic-Programmen verwenden!
Wozu eine neue Version?
Ich habe bisher an allen DS4QB-Versionen etwas auszusetzen. So hat zum Beispiel Ds4QbCD über den OUT-Befehl von QuickBasic kommuniziert, wodurch allerdings
viele Datenpakete verloren gegangen sind.
Außerdem hatte diese Version kein Windows-Fenster, was ärgerlich ist, wenn das Programm nicht richtig beendet wurde und immer noch im Hintergrund läuft!
Das "Original" DS4QB hat mir bisher am besten gefallen, allerdings hat es manchmal sehr langsam reagiert, wodurch auch manche Datenpakete einfach "durchgerasselt" sind. Dies behebe ich z.B. mit einem Datenpuffer und die temporäre Datei wird im APPEND-Modus geöffnet. Bei DS4QB++, der besten Version bisher, und auch bei Ds4QbCD hat mich immer gestört, dass man die Sounds immer vorher in den
Speicher laden musste, wodurch viele QB-Spiele lange Wartezeiten haben! Denn bei DS4QB++ werden die Daten per INPUT eingelesen, und dann zum Soundsystem übertragen....... Man
kann in DS4QB-sg aber die Daten vorher in den Speicher laden!
Also habe ich kurzerhand mir ein eigenes "Slave-Module" geschrieben, das sowohl schnell reagiert, zuverlässig arbeitet und vor allem eines ist:
klein! Die aktuelle Version hat nur 36 KB, das Original hatte 192 KB! Aber nur, weil als Hintergrundbild eine Bitmap-Datei verwendet wurde...
Eine abgewandelte Version von DS4QB-sg wird übrigens auch schon in
Dungeon 2 verwendet.
Was sind die größten Verbesserungen?
- Eine der größten Verbesserungen ist die "Warteschlange" für Datenpakete: Wenn mehrere Befehle schnell hintereinander ausgeführt werden, dann wird die temporäre Kommunikationsdatei nicht einfach überschrieben, sondern im APPEND-Modus geöffnet. Dann werden die Daten eingelesen und in den Queue verschoben, bis sie kurz darauf ausgeführt werden.
- Viele Kanäle: Für die beiden Datentypen "Stream" und "Module" stehen jeweils 32 Kanäle zur Verfügung, also insgesamt 64 (!) Soundkanäle. So kannst du z.B. mit 2 Modul-Kanälen zwischen 2 Songs hin- und herfaden, damit ein weicherer Übergang entsteht!
- Die Sounds müssen nicht vorher in den Speicher geladen werden, sind aber trotzdem sofort verfügbar! Man kann sie aber trotzdem vorher in den Speicher laden, wodurch vor allem MP3-Sounds dann ein wenig schneller abgespielt werden.
- Jetzt endlich auch mit integriertem MIDI-Support!
Wie sieht's aus mit MIDI?
Die BASS.DLL (Auf die alle DS4QBs zugreifen) unterstützt keine MIDI-Dateien. Trotzdem kann man in meiner DS4QB-Version (wie auch im "Original", aber auf andere Weise) MIDI-Dateien benutzen.
Leider ist der aktuelle MIDI-Player alles andere als umfangreich, du kannst nur MIDIs laden, abspielen und wieder stoppen. Außerdem kann man nur eine Datei auf einmal laden.
Doch du solltest sowieso keine MIDIs, sondern lieber Module verwenden...
Inzwischen gibt es aber auch ein Plugin für die BASS.DLL, damit man damit auch MIDIs abspielen kann. Vielleicht baue ich es in der nächsten Version ein!
Neuheiten in Version 2.5
Das hat sich alles geändert:
- Die MIDI-Extension befindet sich nun direkt im Hauptmodul. Der MIDI-Support wurde eingeschränkt (Sys.MidiPosition gibt's nicht mehr).
- Das Slavemodul hat eine neue Oberfläche und ist nur noch 36 KB groß.
- Das Programm läuft nun besser unter Windows XP und erzeugt nicht mehr 100% Systemlast. QBasic selbst erzeugt leider weiterhin 100% Systemlast, die du mit dem Patch von Sebastian Steiner allerdings beheben kannst.
- Der Sourcecode des Slavemoduls wurde extrem verbessert.
Her mit dem Download!
Okay, hier hast du ihn, probier am besten gleich die Tutorials aus!
Download (568 KB)Letzte Änderung: 25.10.2018, 18:54