Skip to content

Commit

Permalink
0.1.3 - small bug fixes (#7)
Browse files Browse the repository at this point in the history
* - fixed code throwing exceptions when closing window
- disposing of closed windows in window manager
- fixed multiple entry additions

* Version bump
  • Loading branch information
vot committed Dec 3, 2017
1 parent 3b56b95 commit 895ca3f
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 23 deletions.
21 changes: 16 additions & 5 deletions lib/ipc/main.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict';

const _ = require('lodash');
const electron = require('electron');
const WindowManager = require('../window/manager');
const PreferencesModel = require('../../models/preferences');
Expand All @@ -26,8 +27,10 @@ ipcMain.on('update-setting', function ipcUpdateSetting(context, data) {
console.log('[IPC Event received]', 'update-setting', data.key, data.value);

PreferencesModel.set(data.key, data.value);
const player = WindowManager.instances.player.webContents;
player.executeJavaScript('RS.UI.resolveUIPreferences()', true);
const player = _.get(WindowManager.instances, 'player', {}).webContents;
if (player) {
player.executeJavaScript('RS.UI.resolveUIPreferences()', true);
}
// player.reload();
});

Expand All @@ -39,15 +42,23 @@ ipcMain.on('update-setting', function ipcUpdateSetting(context, data) {
ipcMain.on('add-to-playlist', function ipcAddToPlaylist(context, data) {
console.log('[IPC Event received]', 'add-to-playlist', data);

Playlist.add(data);
if (!Array.isArray(data)) {
data = [data];
}
_.each(data, function (entry) {
Playlist.add(entry);
});
// Playlist.add(data);

const notification = data.length > 1 ? data.length + ' tracks added' : 'Track added';

const player = WindowManager.instances.player.webContents;
const add = WindowManager.instances.add;

player.executeJavaScript('RS.PlayerWindow.populatePlaylist()', true);
player.executeJavaScript('RS.displayNotification("' + notification + '");', true);
if (player) {
player.executeJavaScript('RS.PlayerWindow.populatePlaylist()', true);
player.executeJavaScript('RS.displayNotification("' + notification + '");', true);
}

add.close();
});
9 changes: 2 additions & 7 deletions lib/window/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,6 @@ function createWindow(name, data) {
thisWindow.loadURL(path.join('file://', __dirname, '/../../views/', data.template + '.html'));
Utils.log('Created window "' + name + '":', JSON.stringify(_.omitBy(windowOpts, 'icon'), null, 0));

thisWindow.on('closed', () => {
thisWindow.destroy();
thisWindow = null;
// delete thisWindow;
Utils.log('Destroyed window "' + name + '"');
});

thisWindow.once('ready-to-show', () => {
// resize back to last dimensions
const oldPosition = PreferencesModel.get('settings.ui.windows.' + name + '.position');
Expand Down Expand Up @@ -82,6 +75,8 @@ function createWindow(name, data) {
const windowMenu = require('./menu');
windowMenu.set(windowOpts.menu);
});

return thisWindow;
}

module.exports = createWindow;
4 changes: 4 additions & 0 deletions lib/window/manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ const instances = {};
function show(name) {
if (!instances[name] && definitions[name]) {
instances[name] = create(name, definitions[name]);
instances[name].on('closed', () => {
instances[name].destroy();
instances[name] = null;
});
}

if (instances[name]) {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "RemoteStackPlayer",
"version": "0.1.2",
"version": "0.1.3",
"description": "RemoteStack Player app",
"main": "main.js",
"scripts": {
Expand Down
22 changes: 12 additions & 10 deletions views/js/add.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,18 @@

function processInputAndAdd(inputEl) {
const urls = inputEl.val().split('\n');
if (urls && urls.length) {
_.each(urls, function (url) {
url = url.trim();
if (url.length) {
const dataToAdd = { url, source: 'youtube', type: 'audio' };
RS.sendIpcMessage('add-to-playlist', dataToAdd);
inputEl.val('');
}
});
}
// if (urls && urls.length) {
const mappedUrls = _.filter(_.map(urls, (url) => {
url = url.trim();
if (url.length) {
return { url, source: 'youtube', type: 'audio' };
}
return null;
}));
inputEl.val('');
// }

RS.sendIpcMessage('add-to-playlist', mappedUrls);
}

function bindURLInput() {
Expand Down

0 comments on commit 895ca3f

Please sign in to comment.