message: throwing error when passed in device is not found
diff: @@ -91,7 +91,7 @@ define(["Tone/core/Tone", "Tone/component/Volume"], function(Tone){
  */
  Tone.UserMedia.prototype.open = function(labelOrId){
  labelOrId = Tone.defaultArg(labelOrId, "default");
  - return this.enumerateDevices().then(function(devices){
  + return Tone.UserMedia.enumerateDevices().then(function(devices){
  var device;
  if (Tone.isNumber(labelOrId)){
  device = devices[labelOrId];
  @@ -99,14 +99,10 @@ define(["Tone/core/Tone", "Tone/component/Volume"], function(Tone){
  device = devices.find(function(device){
  return device.label === labelOrId || device.deviceId === labelOrId;
  });
  - if (!device){
  - //otherwise just take the first one
  - device = devices[0];
  - }
  - }
  //didn't find a matching device
  if (!device){
  - throw new Error("Tone.UserMedia: no matching audio inputs.");
  + throw new Error("Tone.UserMedia: no matching device: "+labelOrId);
  + }
  }
  this._device = device;
  //do getUserMedia
  @@ -152,12 +148,13 @@ define(["Tone/core/Tone", "Tone/component/Volume"], function(Tone){
  /**
  * Returns a promise which resolves with the list of audio input devices available.
  * @return {Promise} The promise that is resolved with the devices
  + * @static
  * @example
  - * extInput.enumerateDevices().then(function(devices){
  + * Tone.UserMedia.enumerateDevices().then(function(devices){
  * console.log(devices)
  * })
  */
  - Tone.UserMedia.prototype.enumerateDevices = function(){
  + Tone.UserMedia.enumerateDevices = function(){
  return navigator.mediaDevices.enumerateDevices().then(function(devices){
  return devices.filter(function(device){
  return device.kind === "audioinput";
  