[video output=day008 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code template=code008_template.html title="Writing a Square Wave to DirectSound" vod_platform=youtube id=uiW1D1Vc7IQ annotator=jacebennett annotator=Miblo annotator=theinternetftw]
[1:04][Review of DirectSound init]
[2:16][Tangent: methods and vtables]
[8:52][Resume review of DirectSound init]
[14:21][Writing to the sound buffer]
[16:09][Discussion of waveforms for testing]
[17:02][Locking the buffer]
[18:19][Dealing with buffer pointers and locks]
[21:09][The Lock() call]
[22:59][Filling the buffer regions]
[26:49][Generating a test tone]
[35:28][Getting the WritePointer and BytesToWrite]
[48:21][Refine square wave formula]
[51:39][Review the code]
[56:04][Start DirectSound playing]
[57:27][HOLD YOUR EARS]
[58:22][HOLD YOUR EARS]
[59:22][Don't forget to Unlock the buffer]
[1:00:58][Final Thoughts]
[1:02:17][Review of mod operation and how we used it]
[1:10:30][Q&A][:speech]
[1:11:09][Will future broacasts use this Europe-friendly time?]
[1:11:21][Why not XAudio2?]
[1:12:43][Are we going to factor sound playing to a seperate function?]
[1:13:45][Will we rename GlobalSecondaryBuffer?]
[1:14:10][Challenge: XAudio2 is supported on XP]
[1:14:49][Why keyboard events instead of polling?]
[1:15:24][Will we be able to remap keys?]
[1:15:43][Doesn't the size of the buffer increase latency?]
[1:16:53][Will we write audio filters, like reverb?]
[1:17:16][Will we factor the code into seperate files?]
[1:18:06][It takes about a second to start playing, is that expected?]
[1:22:39][Can you show a sine wave as well?]
[1:23:02][What is acceptable latency?]
[1:29:04][No Poop Sauce]
[/video]
