From 0f67a2312a01b21ecffb4fe2964cd1bca5488066 Mon Sep 17 00:00:00 2001 From: Trevor Squillario Date: Tue, 20 Jan 2015 20:52:04 -0500 Subject: [PATCH] Fix spacebar pause keybinding --- app/common/main-controller.js | 2 +- app/player/player-directive.js | 12 ++++++++++++ app/player/player-service.js | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/common/main-controller.js b/app/common/main-controller.js index 2418001..4cbbbfc 100644 --- a/app/common/main-controller.js +++ b/app/common/main-controller.js @@ -208,7 +208,7 @@ angular.module('JamStash') } else if (unicode == 37 || unicode == 177) { // back arrow player.previousTrack(); } else if (unicode == 32 || unicode == 179 || unicode.toString() == '0179') { // spacebar - player.playPauseSong(); + player.pause(); return false; } else if (unicode == 36 && $('#tabLibrary').is(':visible')) { // home $('#left-component').stop().scrollTo('#MusicFolders', 400); diff --git a/app/player/player-directive.js b/app/player/player-directive.js index 0d2993a..1761512 100644 --- a/app/player/player-directive.js +++ b/app/player/player-directive.js @@ -149,6 +149,18 @@ angular.module('jamstash.player.directive', ['jamstash.player.service', 'jamstas } }); + scope.$watch(function () { + return playerService.pauseSong; + }, function (newVal) { + if(newVal === true) { + $player.jPlayer('pause'); + playerService.pauseSong = true; + } else { + $player.jPlayer('play'); + playerService.pauseSong = false; + } + }); + scope.$watch(function () { return globals.settings.SaveTrackPosition; }, function (newVal) { diff --git a/app/player/player-service.js b/app/player/player-service.js index 1cf1226..344b67a 100644 --- a/app/player/player-service.js +++ b/app/player/player-service.js @@ -29,6 +29,14 @@ angular.module('jamstash.player.service', ['jamstash.settings', 'angular-undersc } }, + pause: function(song) { + if (player.pauseSong) { + player.pauseSong = false; + } else { + player.pauseSong = true; + } + }, + playFirstSong: function() { player._playingIndex = 0; player.play(player.queue[0]);