About this Blog

fGroove is a audio loop player that allows multiple people to select audio loops that will play in time and at the correct tempo. Think of it as a multitouch version of a groove matrix. Note, I'm just learning to program the surface. While code examples here should work, they may not be the "correct" or "official" way of doing things

Thursday, December 17, 2009

First Steps

The first version of fGroove was created about 2 weeks ago and was fairly rapidly developed. This version has the following features:

  • Scatterviewitems hold an instance of an audio loop. The loop is added to a queue in a ContactEventHandler attached to the ScatterViewItem's PreviewContactTapGesture.
  • A Timer is set to go off every beat which pulls items out of the queue and starts playing them.
  • Tapping a ScatterViewItem a second time adds the loop to the queue which will cause it to stop when the timer fires again.
  • The timer changes the background colour of any ScatterViewItems that are currently active every beat. A list of active ScatterViewItems is held in a HashTable.
  • Each ScatterViewItem has a SizeChangedEventHandler attached to it's SizeChanged property. When this is fired the volume of that loop is changed.
  • Most of this version programattically changes the properties of the ScatterViewItem, very little is done in the XAML.
  • The c#.net audio library naudio http://naudio.codeplex.com/ handles all of the complex audio loop playing. See http://opensebj.blogspot.com/2009/02/introduction-to-using-naudio.html for some tutorials on that.

No comments:

Post a Comment