[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]