[Stk] audio glitches, drivers and being a beginner

Gary Scavone gary@ccrma.Stanford.EDU
Wed, 30 Mar 2005 17:41:53 -0500


Hi Conor,

When compiling with ASIO support, it is necessary to include all the  
files in the "/src/asio/" folder so that they are compiled ... RtAudio  
needs those.  And I think you have it, but make sure you define the  
preprocessor definition __WINDOWS_ASIO__.

Regards,

--gary

On Mar 30, 2005, at 2:33 AM, Conor wrote:

> Hi again,
>
> just to paint the full picture.
>
> i am linking against these libs
> odbc32.lib odbccp32.lib dsound.lib winmm.lib Ws2_32.lib Wsock32.lib
>
> are there others?
>
> the errors are something like
> >
> demo error LNK2019: unresolved external symbol "public: void  
> __thiscall AsioDrivers::removeCurrentDriver(void)"  
> (?removeCurrentDriver@AsioDrivers@@QAEXXZ) referenced in function  
> "public: virtual void __thiscall RtApiAsio::closeStream(void)"  
> (?closeStream@RtApiAsio@@UAEXXZ)
> >
>
> as if it doesn't have the implementations of these functions?
>
> Conor
>
>> Hi Gary,
>> thanks for the reply
>> I have dug through aload of my compile errors tonight and with alot  
>> of success.
>> It seems .net IDE requires semicolons to separate the preprocessor  
>> definitions in the list instead of commas.
>> it now looks like
>> NDEBUG;__LITTLE_ENDIAN__;__WINDOWS_MM__;WIN32;_CONSOLE; 
>> __WINDOWS_ASIO__
>>
>> However compiling with ms vs.net 2002 with the asio identifiers and  
>> src included is not happy. It seems it wants some precompiled lib or  
>> dll of the asio folder. Do i need to precompile the asio folder as a  
>> separate project and set it up as a dependency.
>> Is there any simple .net workspace available so as i can take a look  
>> at how the whole setup looks like :?
>>
>> regards,
>> Cj
>>
>>
>>
>>
>> Gary Scavone wrote:
>>
>>> Hi Conor,
>>>
>>>      I'm very new to STK but have managed to run the demo's app...
>>>      However I find the audio when playing back glitches period...
>>>      output from the score audible (quality is good but the gli...
>>>          Too many errors encountered; the rest of the message is  
>>> ignored:
>>>      pretty annoying). Is this due to the audio drivers? I have an  
>>> echo
>>>      Layla
>>>      24 soundcard as the default windows audio device. Should I then  
>>> use
>>>      Asio or Direct Sound inorder to run the Layla properly?
>>>
>>>
>>> By default, the demo program is using the DirectSound API. While the  
>>> ASIO API usually provides better performance, I wouldn't attempt to  
>>> use it unless you have an ASIO driver from the soundcard  
>>> manufacturer. With DirectSound, you will probably have to "mess"  
>>> with the audio parameters to achieve more robust performance (this  
>>> is typical with Windoze). You might try both increasing and  
>>> decreasing the buffer size and the number of buffers parameters  
>>> passed to the RtAudio instance.
>>>
>>>       I must say the fact that realtime scores were readily audible  
>>> on
>>>     the
>>>      layla through msdev.net immediately was very promising. . I  
>>> want to
>>>      get into doing some audio dev and this looks perfect. I know  
>>> this
>>>      sounds like a total novice question but where do i query the OS
>>>     as to
>>>      how many audio drivers i have installed. I recently wiped the
>>>     machine
>>>      so i don't know where to check in the registry. the control  
>>> panel
>>>      "sound audio devices" section only displays options for the  
>>> Layla
>>>     and
>>>      the onboard intel sound driver. I don't even think i have  
>>> installed
>>>      the default driver for the sound card that came on the laptop.  
>>> would
>>>      any of these make a difference my setup?
>>>
>>>
>>> Using the driver provided by the manufacturer is a good idea. The  
>>> "Control Panel" can provide some info about your soundcards ...  
>>> also, right-clicking on "My Computer" (or whatever that icon is in  
>>> the top left corner) and looking at the system properties could  
>>> help. The RtAudio class can also probe your system but with the  
>>> DirectSound API, there's not a lot of information. Even if you have  
>>> a multichannel soundcard, DirectSound breaks it down into 2-channel  
>>> pairs and reports those as separate devices. I haven't had the  
>>> energy to attempt to combine these pairs into a single device from  
>>> RtAudio's perspective because I consider the DirectSound API to be  
>>> broken and designed by idiots.
>>>
>>>      I find that when i set the identifiers for asio instead of  
>>> default
>>>      direct sound and include the asio src i get compile errors like:
>>>           e:\forwind_dev\stk-4.2.0\include\Thread.h(62): error  
>>> C2061: syntax
>>>      error
>>>      : identifier 'THREAD_FUNCTION'
>>>      e:\forwind_dev\stk-4.2.0\src\Socket.cpp(61): error C2065:
>>>     'IPPROTO_TCP'
>>>      : undeclared identifier
>>>      e:\forwind_dev\stk-4.2.0\src\Socket.cpp(68): error C2065:
>>>     'TCP_NODELAY'
>>>      : undeclared identifier
>>>           and so on...
>>>      alot macros undefined, where should i find these?
>>>      When i try and compile in debug with the asio identifier and  
>>> source
>>>      included i get these type of compile errors
>>>
>>>
>>> Those are socket macros. I'm guessing that the __WINDOWS_ASIO__  
>>> preprocessor wasn't defined when you tried to compile.
>>>
>>> --gary
>>>
>>
>>
>>
>>
>> _______________________________________________
>> Stk mailing list
>> Stk@ccrma.stanford.edu
>> http://ccrma-mail.stanford.edu/mailman/listinfo/stk
>>
>
>
>
>
> _______________________________________________
> Stk mailing list
> Stk@ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/stk