Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

25.12.2007, 20:10

Vorschau auf BASS 2.4

Die Bass (Audio Lib) Version 2.4 ist in der Beta Phase und soll Mitte Januar erscheinen. Also habe ich mich tief in die aktuellen Headers geschmissen und geguckt was Ian und da so im Vergleich zu der aktuellen 2.3.0.3 zu bieten hat.

Als erstes fällt auf das die API der 2.3 mit der neuen Version gebrochen wird. Das bedeutet ein einfaches auswechseln der DLLs zum updaten älterer Projekte endet in einer Katastrophe. Und dabei sind wir auch schon beim Schwerpunkt des Updates. Der API. Sie wurde in grossen Teilen stark modernisiert und vereinfacht. Das ist zwar ein guter Schritt, bedeutet aber natürlich einiges an Arbeit beim updaten aktueller Projekte.

Wer nur mit normalen Befehlen arbeitet kommt da noch gut weg und sollte (eventuell wenn er zu genau war beim definieren und übergeben von Variablen) darüber stolpern das nun auch Parameter wie OFFSET bei BASS_SampleLoad und co als 64bit Qword definiert werden und nicht mehr als 32bit Dword.

Zitat


* 64-bit file positioning
BASS_SampleLoad
BASS_MusicLoad
BASS_StreamCreateFile
BASS_StreamGetFilePosition


Wer intensiv mit DEVICE Befehlen arbeitet für den wird es enger. Im Zuge der Modernisierung sind Befehle wie BASS_RecordGetDeviceDescription eliminiert worden. Alle diese Befehle wurden in andere integriert (BASS_RecordGetDeviceInfo) und als komplette Strukturen abgefragt oder übergeben.

Quellcode

1
2
3
4
5
6
7
8
// Recording device info structure
typedef struct {
    DWORD flags;    // device capabilities (DSCCAPS_xxx flags)
    DWORD formats;  // supported standard formats (WAVE_FORMAT_xxx flags)
    DWORD inputs;   // number of inputs
    BOOL singlein;  // TRUE = only 1 input can be set at a time
    DWORD freq;     // current input rate (Vista/OSX only)
} BASS_RECORDINFO;


Alles in allem, viele Änderungen die denn Umgang mit BASS erleichtern aber teilweise wieder dazu nötigen sich einzuarbeiten (daran zu gewöhnen). Erwähnen sollte man auch das alle Plugins auf Version 2.4 ansteigen (die aber ebenfalls schon als Beta vorhanden sind).

Fazit: Wer nur normale Abspielfunktionen nutzt für denn lohnt sich der Umstieg kaum (wenn er auch schnell realisiert ist). Wer tiefer drin steckt (Recording,Hardware) der sollte updaten (in Hinblick auf VISTA), hat aber auch mehr Arbeit. Wer jetzt ein neues Projekt beginnt sollte sich direkt an die 2.4 gewöhnen.

cu