--- BasiliskII/src/audio.cpp 2001/02/02 20:52:56 1.7 +++ BasiliskII/src/audio.cpp 2001/07/11 19:26:13 1.9 @@ -36,6 +36,11 @@ #include "debug.h" +// Supported sample rates, sizes and channels +vector audio_sample_rates; +vector audio_sample_sizes; +vector audio_channel_counts; + // Global variables struct audio_status AudioStatus; // Current audio status (sample rate etc.) bool audio_open = false; // Flag: audio is initialized and ready @@ -65,7 +70,6 @@ static int32 AudioGetInfo(uint32 infoPtr { D(bug(" AudioGetInfo %c%c%c%c, infoPtr %08lx, source ID %08lx\n", selector >> 24, (selector >> 16) & 0xff, (selector >> 8) & 0xff, selector & 0xff, infoPtr, sourceID)); M68kRegisters r; - int i; switch (selector) { case siSampleSize: @@ -73,15 +77,15 @@ static int32 AudioGetInfo(uint32 infoPtr break; case siSampleSizeAvailable: { - r.d[0] = audio_num_sample_sizes * 2; + r.d[0] = audio_sample_sizes.size() * 2; Execute68kTrap(0xa122, &r); // NewHandle() uint32 h = r.a[0]; if (h == 0) return memFullErr; - WriteMacInt16(infoPtr + sil_count, audio_num_sample_sizes); + WriteMacInt16(infoPtr + sil_count, audio_sample_sizes.size()); WriteMacInt32(infoPtr + sil_infoHandle, h); uint32 sp = ReadMacInt32(h); - for (i=0; i> 24, (selector >> 16) & 0xff, (selector >> 8) & 0xff, selector & 0xff, infoPtr, sourceID)); M68kRegisters r; - int i; switch (selector) { case siSampleSize: D(bug(" set sample size %08lx\n", infoPtr)); if (AudioStatus.num_sources) return siDeviceBusyErr; - for (i=0; i