From 1b8a21541e92472b58e4aed36fa0eba34875bf19 Mon Sep 17 00:00:00 2001 From: lone-cloud Date: Fri, 2 Oct 2015 13:32:25 -0700 Subject: [PATCH] a few mic mode things, starting to switch to pods --- .ember-cli | 3 ++- app/components/controls/music-control.js | 29 ++++++++++++++++-------- app/components/mixins/music-control.js | 1 + 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.ember-cli b/.ember-cli index 59bb55f..b4934f3 100644 --- a/.ember-cli +++ b/.ember-cli @@ -5,5 +5,6 @@ Setting `disableAnalytics` to true will prevent any data from being sent. */ - "disableAnalytics": true + "disableAnalytics": true, + "usePods": true } diff --git a/app/components/controls/music-control.js b/app/components/controls/music-control.js index 130f0ec..20bd106 100644 --- a/app/components/controls/music-control.js +++ b/app/components/controls/music-control.js @@ -18,13 +18,17 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, { var usingMic = this.get('usingMic'); if(!usingMic){ - this.startUsingMic(!usingMic); + this.startUsingMic(); } else { this.changePlayerControl('usingMic', !usingMic); + + this.get('audioStream').stop(); if(this.get('playQueuePointer') !== -1) { this.send('goToSong',this.get('playQueuePointer')); - this.volumeChanged(this.get('volume')); + this.send('volumeChanged', this.get('volume')); } + + document.title = 'Huegasm'; } }, slideTogglePlayerBottom(){ @@ -187,9 +191,9 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, { }, usingMicChanged(value){ if(value) { - this.startUsingMic(value); + this.startUsingMic(); } else { - this.set('usingMic', value); + this.set('usingMic', false); } }, clickSpeaker(){ @@ -238,23 +242,25 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, { } }, - startUsingMic(value) { + startUsingMic() { navigator.getUserMedia( {audio: true}, (stream) => { - this.changePlayerControl('usingMic', value); + this.changePlayerControl('usingMic', true); var dancer = this.get('dancer'); - if(dancer.audio) { + if(dancer.audio && dancer.audio.pause) { dancer.pause(); clearInterval(this.get('incrementElapseTimeHandle')); } this.setProperties({ volumeCache: this.get('volume'), - playing: true + playing: true, + audioStream: stream }); + document.title = 'Listening to Mic - Huegasm'; dancer.load(stream, true); dancer.setVolume(0); }, @@ -288,7 +294,10 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, { clearCurrentAudio(resetPointer) { var dancer = this.get('dancer'); - dancer.pause(); + if(dancer.audio.pause) { + dancer.pause(); + } + clearInterval(this.get('incrementElapseTimeHandle')); if(resetPointer){ @@ -426,7 +435,7 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, { sumW += waveform[i]; } - console.log('sumW: ' + sumW + ', sumS: ' + sumS) + //console.log('sumW: ' + sumW + ', sumS: ' + sumS); }); this.setProperties({ diff --git a/app/components/mixins/music-control.js b/app/components/mixins/music-control.js index a7b9d35..3946b58 100644 --- a/app/components/mixins/music-control.js +++ b/app/components/mixins/music-control.js @@ -82,6 +82,7 @@ export default Em.Mixin.create({ draggingOverPlayListArea: false, dragLeaveTimeoutHandle: null, visualizationsDisplayed: false, + audioStream: null, notUsingMic: Em.computed.not('usingMic'), playQueueEmpty: Em.computed.empty('playQueue'),