From 45ddb00c4265afeb78eb847df1aaf0770671f39d Mon Sep 17 00:00:00 2001 From: Egor Date: Tue, 20 Dec 2016 11:33:17 -0800 Subject: [PATCH] WIP - new tutorial step --- .../pods/components/hue-controls/component.js | 14 +- .../pods/components/music-tab/component.js | 1 - mobile/app/styles/introjs.scss | 1 + mobile/app/styles/music-tab.scss | 5 +- mobile/ember-cordova/cordova/config.xml | 1 + mobile/package.json | 9 +- mobile/public/assets/images/soundcloudUrl.png | Bin 0 -> 56037 bytes mobile/yarn.lock | 182 ++++++++++++------ .../pods/components/hue-controls/component.js | 18 +- .../pods/components/hue-controls/template.hbs | 52 ++--- .../pods/components/lights-tab/component.js | 2 +- .../components/music-tab/mixins/helpers.js | 2 +- web/app/styles/hue-controls.scss | 1 - web/app/styles/introjs.scss | 1 + web/app/styles/music-tab.scss | 10 +- web/package.json | 4 +- web/public/assets/images/soundcloudUrl.png | Bin 0 -> 56037 bytes web/yarn.lock | 113 ++++++----- 18 files changed, 253 insertions(+), 163 deletions(-) create mode 100644 mobile/public/assets/images/soundcloudUrl.png create mode 100644 web/public/assets/images/soundcloudUrl.png diff --git a/mobile/app/pods/components/hue-controls/component.js b/mobile/app/pods/components/hue-controls/component.js index eccc9c4..99e32fb 100644 --- a/mobile/app/pods/components/hue-controls/component.js +++ b/mobile/app/pods/components/hue-controls/component.js @@ -143,11 +143,14 @@ export default Component.extend({ location.reload(); }, startIntro(){ - let INTRO = introJs, - intro = INTRO(), + let intro = introJs(), playerBottom = $('#player-bottom'), beatDetectionAreaArrowIcon = $('#beat-detection-area-arrow-icon'); + if(this.get('dimmerOn')) { + this.send('toggleDimmer'); + } + intro.setOptions({ steps: [ { @@ -163,6 +166,11 @@ export default Component.extend({ intro: 'You can add and select music to play from your playlist here. You may listen to local audio files, stream music from soundcloud or stream directly from a connected microphone.

' + 'TIP: Songs added through Soundcloud will be saved for when you visit this page again.' }, + { + element: $('#playlist md-menu')[0], + intro: 'You can add songs from SoundCloud by copy and pasting the URL shown here', + position: 'left' + }, { element: '#player-area', intro: 'The audio playback may be controlled with the controls here. Basic music visualization effects may be shown here by selecting them from the menu ( eyeball icon in the bottom right ).' @@ -211,7 +219,7 @@ export default Component.extend({ // it's VERY ugly but it works... the jQuery massacre :'( intro.onchange((element) => { - if(element.id === '' || element.id === 'music-tab' || element.id === 'playlist' || element.id === 'player-area' || element.id === 'beat-option-row' || element.id === 'beat-option-button-group' || element.id === 'beat-container' || element.id === 'using-mic-audio-tooltip'){ + if(element.id === '' || element.id === 'music-tab' || element.id === 'playlist' || element.id === 'player-area' || element.id === 'beat-option-row' || element.id === 'beat-option-button-group' || element.id === 'beat-container' || element.id === 'using-mic-audio-tooltip' || element.nodeName === 'MD-MENU'){ $('.navigation-item').eq(1).click(); } else { $('.navigation-item').eq(0).click(); diff --git a/mobile/app/pods/components/music-tab/component.js b/mobile/app/pods/components/music-tab/component.js index fc31702..883457d 100644 --- a/mobile/app/pods/components/music-tab/component.js +++ b/mobile/app/pods/components/music-tab/component.js @@ -501,7 +501,6 @@ export default Component.extend(helperMixin, visualizerMixin, { } if(scrollToSong){ - // this is just a bad workaround to make sure that the track has been rendered to the playlist run.next(this, ()=>{ $('.track'+index).velocity('scroll', { container: $('#play-list-area'), duration: 200 }); }); diff --git a/mobile/app/styles/introjs.scss b/mobile/app/styles/introjs.scss index 5a43f76..ecc3f4d 100644 --- a/mobile/app/styles/introjs.scss +++ b/mobile/app/styles/introjs.scss @@ -8,6 +8,7 @@ .introjs-tooltip { color: $blackish; + width: 300px; } .introjs-skipbutton { diff --git a/mobile/app/styles/music-tab.scss b/mobile/app/styles/music-tab.scss index 3b4e882..a78010a 100644 --- a/mobile/app/styles/music-tab.scss +++ b/mobile/app/styles/music-tab.scss @@ -255,7 +255,6 @@ border: 1px solid black; width: 100%; background: white; - padding-bottom: 20px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; .md-label { @@ -357,3 +356,7 @@ top: 0; bottom: initial; } + +#soundcloud-tutorial { + width: 100%; +} diff --git a/mobile/ember-cordova/cordova/config.xml b/mobile/ember-cordova/cordova/config.xml index c93266a..648e507 100644 --- a/mobile/ember-cordova/cordova/config.xml +++ b/mobile/ember-cordova/cordova/config.xml @@ -18,6 +18,7 @@ + diff --git a/mobile/package.json b/mobile/package.json index bc98814..f813825 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -1,6 +1,6 @@ { "name": "huegasm_mobile", - "version": "1.0.0", + "version": "1.1.0", "description": "Huegasm is a free web application for managing and synchronizing your Philips Hue lights with the beat of your music.", "private": true, "directories": { @@ -10,6 +10,7 @@ "scripts": { "start": "ember server", "build": "ember cordova:build --platform=android --environment=production --release", + "build-test": "ember cordova:build --platform=android", "test": "ember test", "cordova": "ember cdv:serve --platform=android" }, @@ -28,7 +29,7 @@ "ember-cli-htmlbars": "^1.0.1", "ember-cli-htmlbars-inline-precompile": "^0.3.1", "ember-cli-inject-live-reload": "^1.3.1", - "ember-cli-nouislider": "^0.10.0", + "ember-cli-nouislider": "^0.11.0", "ember-cli-qunit": "^1.2.1", "ember-cli-release": "0.2.8", "ember-cli-sass": "^5.2.1", @@ -37,9 +38,9 @@ "ember-cli-uglify": "^1.2.0", "ember-cordova": "^0.3.5", "ember-cordova-events": "^0.1.0", - "ember-cordova-keyboard": "^0.0.1", + "ember-cordova-keyboard": "^0.0.2", "ember-export-application-global": "^1.0.4", - "ember-load-initializers": "^0.5.0", + "ember-load-initializers": "^0.6.3", "ember-modal-dialog": "^0.9.0", "ember-notify": "^5.0.4", "ember-paper": "^1.0.0-alpha.11", diff --git a/mobile/public/assets/images/soundcloudUrl.png b/mobile/public/assets/images/soundcloudUrl.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f173d149cab3681799747a87e83832d5968a6d GIT binary patch literal 56037 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 Y0AkG>lKd;wga7~l07*qoM6N<$f)k2Mw*UYD literal 0 HcmV?d00001 diff --git a/mobile/yarn.lock b/mobile/yarn.lock index 7fdf51a..247b8ca 100644 --- a/mobile/yarn.lock +++ b/mobile/yarn.lock @@ -3,8 +3,8 @@ JSONStream@^1.0.3: - version "1.2.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.2.1.tgz#32aa5790e799481083b49b4b7fa94e23bae69bf9" + version "1.3.0" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.0.tgz#680ab9ac6572a8a1a207e0b38721db1c77b215e5" dependencies: jsonparse "^1.2.0" through ">=2.2.7 <3" @@ -242,6 +242,10 @@ ast-types@0.8.12: version "0.8.12" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.12.tgz#a0d90e4351bb887716c83fd637ebf818af4adfcc" +ast-types@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52" + ast-types@0.9.2: version "0.9.2" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.2.tgz#2cc19979d15c655108bf565323b8e7ee38751f6b" @@ -1185,12 +1189,12 @@ can-symlink@^1.0.0: tmp "0.0.28" caniuse-db@^1.0.30000153, caniuse-db@^1.0.30000214: - version "1.0.30000597" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000597.tgz#b52e6cbe9dc83669affb98501629feaee1af6588" + version "1.0.30000600" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000600.tgz#2d0892f77eebb399c3c17b3ecb72da7b8740f31f" capture-exit@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.0.7.tgz#69b4023241347a9b3db9f13eb91d22765e9a86f8" + version "1.1.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.1.0.tgz#d931b32b11c2bd20ae57f34af0c1eb2c18781626" dependencies: rsvp "^3.3.3" @@ -1288,8 +1292,8 @@ clean-css-promise@^0.1.0: pinkie-promise "^2.0.0" clean-css@^3.4.5: - version "3.4.22" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.22.tgz#db323064f752028778233b58c54cd8535f860892" + version "3.4.23" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.23.tgz#604fbbca24c12feb59b02f00b84f1fb7ded6d001" dependencies: commander "2.8.x" source-map "0.4.x" @@ -1483,7 +1487,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@1.5.0: +concat-stream@1.5.0, concat-stream@^1.4.7: version "1.5.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611" dependencies: @@ -1491,7 +1495,7 @@ concat-stream@1.5.0: readable-stream "~2.0.0" typedarray "~0.0.5" -concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2, concat-stream@~1.5.0, concat-stream@~1.5.1: +concat-stream@^1.4.6, concat-stream@^1.5.2, concat-stream@~1.5.0, concat-stream@~1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" dependencies: @@ -1798,8 +1802,8 @@ debug@2.2.0, debug@~2.2.0: ms "0.7.1" debug@^2.1.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + version "2.4.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.4.5.tgz#34c7b12a1ca96674428f41fe92c49b4ce7cd0607" dependencies: ms "0.7.2" @@ -2041,7 +2045,7 @@ ember-cli-babel@5.1.10: ember-cli-version-checker "^1.0.2" resolve "^1.1.2" -ember-cli-babel@^5.0.0, ember-cli-babel@^5.1.10, ember-cli-babel@^5.1.3, ember-cli-babel@^5.1.5, ember-cli-babel@^5.1.6: +ember-cli-babel@^5.0.0, ember-cli-babel@^5.1.10, ember-cli-babel@^5.1.3, ember-cli-babel@^5.1.5, ember-cli-babel@^5.1.6, ember-cli-babel@^5.1.7: version "5.2.1" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-5.2.1.tgz#14a1a7b3ae9e9f1284f7bcdb142eb53bd0b1b5bd" dependencies: @@ -2103,7 +2107,7 @@ ember-cli-htmlbars-inline-precompile@^0.3.1: ember-cli-htmlbars "^1.0.0" hash-for-dep "^1.0.2" -ember-cli-htmlbars@^1.0.0, ember-cli-htmlbars@^1.0.1, ember-cli-htmlbars@^1.0.3, ember-cli-htmlbars@^1.0.8, ember-cli-htmlbars@^1.1.0: +ember-cli-htmlbars@^1.0.0, ember-cli-htmlbars@^1.0.1, ember-cli-htmlbars@^1.0.10, ember-cli-htmlbars@^1.0.3, ember-cli-htmlbars@^1.0.8, ember-cli-htmlbars@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-1.1.1.tgz#8776cf59796dac8f32e8625fc6d1ea45ffa55de1" dependencies: @@ -2153,12 +2157,12 @@ ember-cli-normalize-entity-name@^1.0.0: dependencies: silent-error "^1.0.0" -ember-cli-nouislider@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/ember-cli-nouislider/-/ember-cli-nouislider-0.10.0.tgz#94bda98cc3d8809cbceb41cdf151b715528e5570" +ember-cli-nouislider@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/ember-cli-nouislider/-/ember-cli-nouislider-0.11.0.tgz#645cf05be1e977376f2567b5b6ac845fe7c71314" dependencies: - ember-cli-babel "^5.1.6" - ember-cli-htmlbars "^1.0.3" + ember-cli-babel "^5.1.7" + ember-cli-htmlbars "^1.0.10" ember-cli-path-utils@^1.0.0: version "1.0.0" @@ -2261,7 +2265,7 @@ ember-cli-valid-component-name@^1.0.0: dependencies: silent-error "^1.0.0" -ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7: +ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7, ember-cli-version-checker@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-1.2.0.tgz#caa286b77d1b485df5d2f62c67a6f19aa8b582c4" dependencies: @@ -2440,16 +2444,22 @@ ember-composability-tools@0.0.5: ember-wormhole "0.4.1" ember-concurrency@^0.7.9: - version "0.7.15" - resolved "https://registry.yarnpkg.com/ember-concurrency/-/ember-concurrency-0.7.15.tgz#a35577e20220e9ddc93b0b801dbb9fd7554aca49" + version "0.7.17" + resolved "https://registry.yarnpkg.com/ember-concurrency/-/ember-concurrency-0.7.17.tgz#28f963c96fa5d1c42bb4b239c0212220d849738f" dependencies: ember-cli-babel "^5.1.5" - ember-getowner-polyfill "1.0.1" + ember-getowner-polyfill "^1.1.0" ember-maybe-import-regenerator "^0.1.4" -ember-cordova-keyboard@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/ember-cordova-keyboard/-/ember-cordova-keyboard-0.0.1.tgz#45bc12b1ec90ef0f095d14bcdf78156ce40b3a34" +ember-cordova-events@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ember-cordova-events/-/ember-cordova-events-0.1.0.tgz#7217b830478f6e87bf809530d84a6046b03f662c" + dependencies: + ember-cli-babel "^5.1.6" + +ember-cordova-keyboard@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ember-cordova-keyboard/-/ember-cordova-keyboard-0.0.2.tgz#b2128e3f40a285c7ba54d32d46427c202a6f3bbf" dependencies: chalk "^1.1.1" ember-cli-babel "^5.1.5" @@ -2479,9 +2489,9 @@ ember-cordova@^0.3.5: uuid "^3.0.0" xml2js "^0.4.17" -ember-css-transitions@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/ember-css-transitions/-/ember-css-transitions-0.1.7.tgz#ceac6c5d09744fac7e6aee5b6a9e1d107bc50a7e" +ember-css-transitions@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/ember-css-transitions/-/ember-css-transitions-0.1.8.tgz#2c9454b4cc1db367849a4f8a7e8c4b082bb97d19" dependencies: ember-cli-babel "^5.1.6" @@ -2491,15 +2501,18 @@ ember-export-application-global@^1.0.4: dependencies: ember-cli-babel "^5.1.10" -ember-getowner-polyfill@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ember-getowner-polyfill/-/ember-getowner-polyfill-1.0.1.tgz#f60a31d25d642461dac4b4746184afaf7f5084ae" +ember-getowner-polyfill@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ember-getowner-polyfill/-/ember-getowner-polyfill-1.1.1.tgz#6bb6603827dd2f8f33be2434570a86cc9e5273ff" dependencies: - ember-cli-babel "^5.1.5" + ember-cli-babel "^5.1.6" + ember-cli-version-checker "^1.2.0" -ember-load-initializers@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/ember-load-initializers/-/ember-load-initializers-0.5.1.tgz#76e3db23c111dbdcd3ae6f687036bf0b56be0cbe" +ember-load-initializers@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/ember-load-initializers/-/ember-load-initializers-0.6.3.tgz#f47396ad271ba77294068c98f992a5f19705441a" + dependencies: + ember-cli-babel "^5.1.6" ember-maybe-import-regenerator@^0.1.4: version "0.1.4" @@ -2528,9 +2541,9 @@ ember-notify@^5.0.4: ember-string-ishtmlsafe-polyfill "1.0.1" object-assign "^4.1.0" -ember-paper@^1.0.0-alpha.7: - version "1.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/ember-paper/-/ember-paper-1.0.0-alpha.11.tgz#200a729a8bb9e1cc0fe2788785e5b404d18fd291" +ember-paper@^1.0.0-alpha.11: + version "1.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/ember-paper/-/ember-paper-1.0.0-alpha.12.tgz#9d686e5a05afd89f3143c0e72153d9c7f02b5b2a" dependencies: angular-material-source angular/material#v1.0.6 broccoli-autoprefixer "^3.0.0" @@ -2538,9 +2551,9 @@ ember-paper@^1.0.0-alpha.7: broccoli-funnel "^1.0.1" broccoli-merge-trees "^1.1.0" ember-basic-dropdown "^0.16.0" - ember-cli-babel "^5.1.6" + ember-cli-babel "^5.1.7" ember-composability-tools "0.0.5" - ember-css-transitions "0.1.7" + ember-css-transitions "0.1.8" ember-power-select "1.0.0-beta.23" ember-wormhole "0.4.1" resolve "^1.1.7" @@ -3089,7 +3102,7 @@ fresh@0.3.0: fs-exists-sync@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + resolved "http://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" fs-extra@0.30.0, fs-extra@^0.30.0: version "0.30.0" @@ -3144,8 +3157,8 @@ fs-tree-diff@^0.4.4: fast-ordered-set "^1.0.2" fs-tree-diff@^0.5.2, fs-tree-diff@^0.5.3, fs-tree-diff@^0.5.4: - version "0.5.5" - resolved "https://registry.yarnpkg.com/fs-tree-diff/-/fs-tree-diff-0.5.5.tgz#7825b4db454225dd114e7abd58e8926fe068cbff" + version "0.5.6" + resolved "https://registry.yarnpkg.com/fs-tree-diff/-/fs-tree-diff-0.5.6.tgz#342665749e8dca406800b672268c8f5073f3e623" dependencies: heimdalljs-logger "^0.1.7" object-assign "^4.1.0" @@ -3218,6 +3231,20 @@ gauge@~1.2.5: lodash.padend "^4.1.0" lodash.padstart "^4.1.0" +gauge@~2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-color "^0.1.7" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + gauge@~2.7.1: version "2.7.2" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" @@ -3262,11 +3289,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-repo-info@^1.0.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/git-repo-info/-/git-repo-info-1.3.1.tgz#0c1a19ef1964b822a7230f087396af80481ce8ec" - -git-repo-info@~1.2.0: +git-repo-info@^1.0.4, git-repo-info@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/git-repo-info/-/git-repo-info-1.2.0.tgz#43d8513e04a24dd441330a2f7c6655a709fdbaf2" @@ -3447,7 +3470,7 @@ has-binary@0.1.7: dependencies: isarray "0.0.1" -has-color@~0.1.0: +has-color@^0.1.7, has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" @@ -3466,10 +3489,11 @@ has@^1.0.0: function-bind "^1.0.2" hash-for-dep@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/hash-for-dep/-/hash-for-dep-1.0.3.tgz#b57f18a0ace56380951638a3b36a6b73d8619b8b" + version "1.0.4" + resolved "https://registry.yarnpkg.com/hash-for-dep/-/hash-for-dep-1.0.4.tgz#8774e7b80c7c07be3bdc58b55278a4c6865d3737" dependencies: broccoli-kitchen-sink-helpers "^0.3.1" + heimdalljs "^0.2.3" resolve "^1.1.6" hash.js@^1.0.0: @@ -3516,7 +3540,7 @@ heimdalljs-logger@^0.1.7: debug "^2.2.0" heimdalljs "^0.2.0" -heimdalljs@^0.2.0, heimdalljs@^0.2.1: +heimdalljs@^0.2.0, heimdalljs@^0.2.1, heimdalljs@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/heimdalljs/-/heimdalljs-0.2.3.tgz#35b82a6a4d73541fc4fb88d2fe2b23608fb4f779" dependencies: @@ -5060,7 +5084,7 @@ npm@3.10.8: wrappy "~1.0.2" write-file-atomic "~1.2.0" -"npmlog@0 || 1 || 2", "npmlog@0 || 1 || 2 || 3", "npmlog@0.1 || 1 || 2", "npmlog@~2.0.0 || ~3.1.0", npmlog@~2.0.3: +"npmlog@0 || 1 || 2", "npmlog@0.1 || 1 || 2", npmlog@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" dependencies: @@ -5068,6 +5092,15 @@ npm@3.10.8: are-we-there-yet "~1.1.2" gauge "~1.2.5" +"npmlog@0 || 1 || 2 || 3", "npmlog@~2.0.0 || ~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + npmlog@^4.0.0, npmlog@~4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" @@ -5474,10 +5507,14 @@ qs@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" -qs@6.2.0, qs@^6.2.0, qs@~6.2.0: +qs@6.2.0, qs@~6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" +qs@^6.2.0, qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + qs@~2.3.1: version "2.3.3" resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" @@ -5490,10 +5527,6 @@ qs@~6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.1.0.tgz#ec1d1626b24278d99f0fdf4549e524e24eceeb26" -qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - querystring-es3@~0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -5618,9 +5651,9 @@ read@1, read@~1.0.1, read@~1.0.7: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.1.0, readable-stream@^2.1.5, readable-stream@~2.1.2, readable-stream@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" +"readable-stream@1 || 2", readable-stream@^2, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.1.0, readable-stream@^2.1.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -5659,6 +5692,18 @@ readable-stream@~2.0.0, readable-stream@~2.0.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-stream@~2.1.2, readable-stream@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" @@ -5683,7 +5728,7 @@ realize-package-specifier@~3.0.3: dezalgo "^1.0.1" npm-package-arg "^4.1.1" -recast@0.10.33, recast@^0.10.10: +recast@0.10.33: version "0.10.33" resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.33.tgz#942808f7aa016f1fa7142c461d7e5704aaa8d697" dependencies: @@ -5692,6 +5737,15 @@ recast@0.10.33, recast@^0.10.10: private "~0.1.5" source-map "~0.5.0" +recast@^0.10.10: + version "0.10.43" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.43.tgz#b95d50f6d60761a5f6252e15d80678168491ce7f" + dependencies: + ast-types "0.8.15" + esprima-fb "~15001.1001.0-dev-harmony-fb" + private "~0.1.5" + source-map "~0.5.0" + recast@^0.11.17, recast@^0.11.3: version "0.11.18" resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.18.tgz#07af6257ca769868815209401d4d60eef1b5b947" @@ -6715,7 +6769,7 @@ umask@~1.1.0: umd@^3.0.0: version "3.0.1" - resolved "http://registry.npmjs.org/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" + resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" underscore.string@~2.3.3: version "2.3.3" diff --git a/web/app/pods/components/hue-controls/component.js b/web/app/pods/components/hue-controls/component.js index 58f786d..ebcccb5 100644 --- a/web/app/pods/components/hue-controls/component.js +++ b/web/app/pods/components/hue-controls/component.js @@ -127,10 +127,13 @@ export default Component.extend({ location.reload(); }, startIntro(){ - let INTRO = introJs, - intro = INTRO(), + let intro = introJs(), playerBottom = $('#player-bottom'); + if(this.get('dimmerOn')) { + this.send('toggleDimmer'); + } + intro.setOptions({ steps: [ { @@ -146,6 +149,11 @@ export default Component.extend({ intro: 'You can add and select music to play from your playlist here. You may listen to local audio files, stream music from soundcloud or stream directly from a connected microphone.

' + 'TIP: Songs added through Soundcloud will be saved for when you visit this page again.' }, + { + element: $('#playlist md-menu')[0], + intro: 'You can add songs from SoundCloud by copy and pasting the URL shown here', + position: 'left' + }, { element: '#player-area', intro: 'The audio playback may be controlled with the controls here. Basic music visualization effects may be shown here by selecting them from the menu ( eyeball icon in the bottom right ).' @@ -193,10 +201,10 @@ export default Component.extend({ }); intro.onchange((element) => { - if(element.id === '' || element.id === 'music-tab' || element.id === 'playlist' || element.id === 'player-area' || element.id === 'beat-option-row' || element.id === 'beat-option-button-group' || element.id === 'beat-container' || element.id === 'using-mic-audio-tooltip'){ - $('.navigation-item').eq(0).click(); - } else { + if(element.id === '' || element.id === 'music-tab' || element.id === 'playlist' || element.id === 'player-area' || element.id === 'beat-option-row' || element.id === 'beat-option-button-group' || element.id === 'beat-container' || element.id === 'using-mic-audio-tooltip' || element.nodeName === 'MD-MENU'){ $('.navigation-item').eq(1).click(); + } else { + $('.navigation-item').eq(0).click(); } if(element.id === 'music-tab' || element.id === 'playlist' || element.id === 'player-area'){ diff --git a/web/app/pods/components/hue-controls/template.hbs b/web/app/pods/components/hue-controls/template.hbs index dfd6c90..b06503f 100644 --- a/web/app/pods/components/hue-controls/template.hbs +++ b/web/app/pods/components/hue-controls/template.hbs @@ -1,32 +1,34 @@ {{#if ready}} -