var mao = {}; var misses = {}; $(document).on('ready', function() { treeMaker(); mao = settingGrabber({ 'app': 'music', 'setting': 'mao' }); }); $(document).on('click', '#music_toggle', function() { musicToggle(); }); function musicToggle() { var url = '/manager/music'; var timestamp = Date.now(); var jmiss = JSON.stringify(misses); if ($('#music').length == 0 ) { $.ajax({ url: url, type: 'GET', data: { window_maker: 'yes', timestamp: timestamp, misses: jmiss }, success: function(response) { var window_id = windowMaker(response); musicInit(); }, error: function (response) { } }); } else { var music_window = $('#music').closest('.wind').attr('id'); $('#' + music_window).show(); $('.little_window[app="music"]').hide() topLevelNow($('#' + music_window)); musicInit(); } } async function musicInit(method) { treeMaker(); if (method != 'search') { tree.sound.volume = 0; } var player = JSON.parse($('#music_player_data').text()); //tree.sound.currentTime = player.currentTime; $('#music_player_data').load("/manager/cache_get?app=music&context=player&json=yes"); if (isJson($('#music_player_data').text()) && method != 'search') { var jpd = $('#music_player_data').text(); var pd = JSON.parse(jpd); console.log(pd); $('#video').attr('theatre_mode', pd.theatre_mode); $('#video').attr('type', pd.type); mediaMaker({ src: pd.file, currentTime: pd.currentTime, method: 'benign', timestamp: Date.now(), state: pd.state, }); if (method != 'search') { tree.sound.currentTime = pd.currentTime; } // if (method != 'search') { tree.sound.state = pd.state; // } $('#music_player_data').text(jpd); console.log(pd); $('.music_file').removeClass('playing'); var mf = $('.music_file[file="' + pd.file + '"]'); mf.addClass('playing'); var playing = $('.playing'); if ($('#video').attr('type') == 'audio') { $('#video').hide(); } tree.current_track = playing.attr('number'); // tree.sound.volume = 1; thisTrack(playing.closest('.track_item')); if (pd.state == 0 && method != 'search') { tree.sound.pause(); } if (pd.resizes) { $('#music_albums').height(pd.resizes.music_albums.height); $('#music_albums').scrollTop(pd.resizes.music_albums.scrollTop); $('#music_artists').height(pd.resizes.music_artists.height); $('#music_albums').scrollTop(pd.resizes.music_albums.scrollTop); $('#music_files').css({ 'top': ($('#music_albums').height() + 100) + 'px' }); var i = $('#interface').height(); var mc = $('#music').find('.media_controls').height(); var mm = $('#music_albums').height(); $('#music_files').height($('#music').height() - (mm + mc + i)); } playerCacheSaver(); } $('.file_duration').each(function(i,v) { $(v).text(numeral($(v).text()).format('00:00:00')); }); $('#video').trigger('mouseenter'); setTimeout(function() { if ($('#video').attr('type') != 'video') { $('#video').hide(); } },200); $('#music_artists, #music_albums').resizable({ start: function(p) { }, resize: function(p,j) { if (p.target.id == 'music_artists') { $('#music_albums').height(j.size.height); } else if (p.target.id == 'music_albums') { $('#music_artists').height(j.size.height); } var newTop = ($('#music_albums').height() + 100) + 'px'; console.log(newTop); $('#music_files').css({ 'top': newTop }); var i = $('#interface').height(); var mc = $('#music').find('.media_controls').height(); var mm = $('#music_albums').height(); $('#music_files').height($('#music').height() - (mm + mc + i)); }, stop: function(p) { } }); var mc = $('#music_configuration'); if (mc.is(':visible')) { var z_index = $('#interface').css('z-index') + 1; mc.css({ 'z-index': z_index }); } } var lastMusicCacheHtml; function playerCacheSaver(type) { var unlocked = 0; if ($('#music').attr('unlock')) { unlocked = 1; } var playerData = { number: tree.sound.current_track, 'currentTime': tree.sound.currentTime, file: tree.songs[0].file, volume: tree.sound.volume, state: tree.sound.state, theatre_mode: $('#video').attr('theatre_mode'), unlocked: unlocked, resizes: { music_albums: { bottom: $('#music_albums').css('top'), height: $('#music_albums').height() }, music_artists: { bottom: $('#music_artists').css('top'), height: $('#music_albums').height() }, music_files: { top: $('#music_files').css('top'), height: $('#music_files').height() } }, type: $('#video').attr('type'), method: 'playerCache' }; var jpd = JSON.stringify(playerData); if (type == 'ajax' || ws['music'].readyState != 1) { cacheSet({ 'app': 'music', 'context': 'player'}, playerData); var html = $('#music').parent().html(); if (html != lastMusicCacheHtml) { cacheSet({'app': 'music', 'context': 'content' },{ contents: html }); } } else { ws['music'].send(jpd); } $('#music_player_data').text(jpd); return jpd; } function treeMaker() { var sound = tree.sound; tree = { files: $('#files').find('.file'), songs: [], past_songs: [], all_songs: [], seek: 0, song_id: 0, current_track: 0, speaker: new Audio, ctx: new AudioContext, sound: document.getElementById('video') }; if (sound) { // tree.sound = sound; } if (tree.sound) { tree.sound.onstatechange = function(i) { if (tree.sound.state == 1) { $('#play_logo').attr('src', '/icons/play.jpg'); } else { $('#play_logo').attr('src', '/icons/pause.jpg'); } }; } for (n = 0; n <= tree.files.length - 1; n++) { if (tree.files[n].textContent !== undefined) { // JSON.parse($(tree.files[n]).val()); var info; if (isJson($('.file_json[file_uuid="' + $(tree.files[n]).attr('file_uuid') + '"]').text())) { info = JSON.parse($('.file_json[file_uuid="' + $(tree.files[n]).attr('file_uuid') + '"]').text()); } var data = { encodedFile: encodeURI(tree.files[n].textContent), file: tree.files[n].textContent, type: $(tree.files[n]).attr('type'), app: $(tree.files[n]).attr('app'), remote_uuid: $(tree.files[n]).attr('remote_uuid'), computer_name: $(tree.files[n]).attr('computer_name'), colour: $(tree.files[n]).attr('colour'), info: info, }; tree.songs.push(data); tree.all_songs.push(data); } } $('.file_duration').each(function(i,v) { if ($(v).attr('initialized') != 'yes') { $(v).text(numeral($(v).text()).format('00:00:00')); $(v).attr('initialized', 'yes'); } }); } treeMaker(); var musicSearchTimeout; $(document).on('keyup', '#music_search', function(e) { if (e.keyCode == 13) { $('.music_album').attr('active', 'no'); $('.music_artist').attr('active', 'no'); searchMusic(); } }); var interval; function mediaMaker(data) { if (typeof data != 'object') { data = {}; } var time = data['time']; var timestamp = data['timestamp'] || Date.now(); var method = data['method']; var file = data['file'] || tree.songs[0].file; var uri_track = encodeURIComponent(file); if (mao['srv'] == 'on') { $.ajax({ url: '/play?track=' + uri_track, success: function(response) {} }); } if (1 == 1) { var id = 'video'; var vid = $('#' + id); var window_id; if (file) { tree.sound = document.getElementById('video'); if (data['state'] != 0) { $('#play_logo').attr('src', '/icons/pause.jpg'); } if (method != 'benign') { if (tree.songs[0].type == 'audio') { $('#music_library').show(); $('#video').hide(); $('#video').attr('type', 'audio'); $('#album_cover').show(); var miss = $('#video').attr('miss'); console.log(miss); // $('#' + miss + '_controls').show(); } else { console.log('is video'); $('#video').attr('type', 'video').show(); $('#album_cover').hide(); } tree.current_track = tree.past_songs.length + 1; if (data['state'] != 0) { tree.sound.play(); tree.sound.load(); tree.sound.state = 1; } else { tree.sound.state = 0; } tree.sound.saved_volume = master_volume; tree.sound.volume = 0.00001; console.log(uri_track); var url = '/play?track=' + uri_track; if (tree.songs[0].remote_uuid) { url += '&remote_uuid=' + tree.songs[0].remote_uuid; } console.log(url); tree.sound.src = url tree.sound.video = true; // tree.sound.controls = true; tree.sound.html5 = true; tree.sound.playbackRate = 1; tree.sound.currentTime = time || 0; tree.sound.queued = 0; remoteTrackToggle({ file: file, toggle: 'on', seek: tree.sound.currentTime }); } if ($('#video').attr('theatre_mode') == 'on') { theatreModeOn(); } else { theatreModeOff(); } tree.sound.onplaying = function() { console.log('on playing'); var total = tree.sound.duration; $('#progress_bar').attr('max', total); var endsong = tree.sound.duration; $('#total').text(endsong); var app = tree.songs[0].app; if (method != 'benign') { playing_now(); } else { var playing = $('.playing'); var current_track = playing.attr('number'); treeMaker(); thisTrack(playing.closest('.track_item')); tree.current_track = current_track; playing_now('update'); } vidControls['video'] = []; if (tree.songs[0].info.chapters) { $.each(tree.songs[0].info.chapters, function(i,v) { vidControls['video'].push(v.start_time); }); } tree['music_data'] = musicAppointmentWriter('start'); if ($('#video').attr('theatre_mode') == 'on') { theatreModeOn(); } else { theatreModeOff(); } clearInterval(interval); interval = setInterval(function(){ var pre_value = $('#progress_bar').val(); var cursor = tree.sound.currentTime; if (pre_value > cursor + 2 || pre_value < cursor - 2 && tree.sound.exempt_seek != 1) { remoteTrackToggle({ file: tree.songs[0].file, toggle: 'seek', seek: tree.sound.currentTime }); } tree.sound.exempt_seek = 0; $('#progress_bar').attr('value', cursor); $('#cursor').text(cursor); $('#total_progress').text(numeral(tree.sound.duration).format('00:00:00')); $('#elapsed_progress').text(numeral(tree.sound.currentTime).format('00:00:00')); playerCacheSaver(); if (cursor >= tree.sound.duration - 3.9 && tree.sound.queued != 1) { remoteTrackToggle({ file: tree.songs[1].file, toggle: 'on', music_data: tree.songs[1], seek: 0, queuing: 1 }); tree.sound.queued = 1; } }, 1000); $('#play_logo').attr('src', '/icons/pause.jpg'); }; tree.sound.onpause = function() { clearInterval(interval); $('#play_logo').attr('src', '/icons/play.jpg'); }; tree.sound.onerror = function() { nextTrack(); }; tree.sound.onended = function() { clearInterval(interval); $('#progress_bar').attr('value', 0).attr('max', 0); $('#total_progress').text(0); $('#elapsed_progress').text(0); $('#' + id).hide(); tree.past_songs.push(tree.songs.shift()); var app = tree.songs[0].app; if (tree.songs.length == 0 ) { if ($('.music_repeat').attr('enabled') == 'on') { for (var n = 0; n <= tree.all_songs.length; n++ ) { tree.songs.push(tree.all_songs[n]); } tree.past_songs = []; } else { tree.sound.pause(); $('.playing').removeClass('playing'); musicAppointmentWriter('stop','no'); } } mediaMaker(); }; } } console.log(mao); playerCacheSaver(); var html = $('#music').parent().html(); cacheSet({'app': 'music', 'context': 'content' },{ contents: html }); } function remoteTrackToggle(data) { var file = data['file']; var seek = data['seek'] || tree.sound.currentTime; var toggle = data['toggle']; var music_data = data['music_data'] || tree.songs[0]; if (data['queuing'] != 1) { tree.sound.volume = 0.000001; } if (mao['me'] == 'off') { } var remoted = 0; $.each(mao, function(i,v) { if (i.match("\\.")) { if (v == 'on' && $('.music_audio_output_select[value="' + i + '"]').length > 0) { // tree.sound.volume = 0; var timestamp = Date.now(); var tr = { queuing: data['queuing'], timestamp: timestamp, volume: master_volume, method: 'transmitter', music_data: music_data, file: file, domain: i, toggle: toggle, seek: seek }; var jtr = JSON.stringify(tr); ws['music'].send(jtr); remoted = 1; console.log(tr); } } }); console.log(mao); if (data['queuing'] != 1) { if (mao['me'] == 'on' && remoted == 0) { tree.sound.volume = master_volume; } } } function musicTitleMaker(object) { var app = $('.playing').find('.file'); var album = app.attr('album'); var artist = app.attr('artist'); var song = app.attr('song'); var video = document.getElementById('video'); var canvas = document.createElement('canvas'); var image; if (object == 'object') { var playing; if ($('#video').is(':visible') && advertise_watching == 'on') { var ratio = video.videoWidth / video.videoHeight; canvas.width = 640 || 0; canvas.height = ratio * video.videoHeight || 0; canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height); image = canvas.toDataURL('image/png'); playing = app.closest('.track_item').html(); } else { } return { artist: artist, album: album, song: song, image: image, width: canvas.width, height: canvas.height, ratio: ratio, playing: playing }; } else { return (artist || '') + ' - ' + (album || '') + ' - ' + (song || ''); } } $(document).on('click', '#music_list_view', function() { if ($('#video').attr('theatre_mode') == 'on') { theatreModeOff(); } else { theatreModeOn(); } }); function theatreModeOn() { console.log('on'); $('#music_library').hide(); $('#video').show(); var bs = $('#video').attr('big_style'); $('#video').attr('style', bs); $('#music').css({'background-color':'black'}); $('#video').attr('theatre_mode', 'on'); if ($('#video').attr('type') == 'audio') { $('#video').hide(); var src = $('.playing').closest('.track_item').find('.music_file_thumb').attr('src'); $('#music_album_cover').attr('src', src).show(); } else if ($('#video').attr('src')) { $('#video').show(); $('#interface').hide(); $('#music_padlock_toggle').hide(); $('#music_configuration_toggle').hide(); $('#music_album_cover').hide() } } function theatreModeOff() { console.log('off'); $('#music_library').show(); $('#music').css({'background-color': $('#music').attr('background_colour')}); if ($('#video').attr('type') == 'video') { var ts = $('#video').attr('thumb_style'); console.log(ts); $('#video').attr('style', ts); $('#video').attr('theatre_mode', 'off'); } else { $('#video').hide(); } $('#interface').show(); $('#music_padlock_toggle').show(); $('#music_configuration_toggle').show(); $('#music_album_cover').hide(); $('#video').attr('theatre_mode', 'off'); } function musicAppointmentWriter(type,mute) { var app = $('.track_item.playing').find('.file'); var duration = tree.sound.duration; var album = app.attr('album'); var artist = app.attr('artist'); var song = app.attr('song'); var words = artist + ' - ' + song; var filename = app.text(); var timestamp = Date.now(); var musicData = { app: musicTitleMaker(), timestamp: timestamp, type: type, account: 'gallery', unit: tree.sound.duration + 's', file: filename, notes: musicTitleMaker(), mute: mute, words: words, duration: '-' + duration + 's', source: 'music', currentTime: tree.sound.currentTime, total_time: duration, title: musicTitleMaker('object'), interface: $('#interface').html(), }; if (song != undefined && type != 'data_entry') { $.ajax({ url: '/manager/reset', type: 'POST', data: musicData, success:function(response) { continent_record(musicTitleMaker(),timestamp); } }); } return musicData; } $(document).on('click', '#play', function() { if (tree.sound.src == '') { mediaMaker({ file: tree.songs[0].file }); } else if (tree.sound.state == 0) { tree.sound.play(); tree.sound.state = 1; $('#play_logo').attr('src', '/icons/pause.jpg'); remoteTrackToggle({ file: tree.songs[0].file, toggle: 'on', seek: tree.sound.currentTime }); } else { tree.sound.pause(); tree.sound.state = 0; $('#play_logo').attr('src', '/icons/play.jpg'); remoteTrackToggle({ file: tree.songs[0].file, toggle: 'off', seek: tree.sound.currentTime }); } playerCacheSaver(); var html = $('#music').parent().html(); cacheSet({'app': 'music', 'context': 'content' },{ contents: html }); }); $(document).on('click', '#prev', function() { prevTrack(); }); function prevTrack() { if (tree.past_songs.length > 0) { tree.songs.unshift(tree.past_songs.pop()); } mediaMaker() } function nextTrack() { if (tree.songs.length == 0) { if ($('.music_repeat').attr('enabled') == 'on') { for (var n = 0; n <= tree.all_songs.length; n++ ) { tree.songs.push(tree.all_songs[n]); } tree.past_songs = []; } else { tree.sound.pause(); $('.playing').removeClass('playing'); } } else { tree.past_songs.push(tree.songs.shift()); } mediaMaker(); } $(document).on('click', '#next', function() { nextTrack(); }); $(document).on('click', '.track_item', function(e) { var item = $(this); var file = item.attr('file'); if ($(e.target).hasClass('music_information_toggle')) { musicInformation(file); } else if ($(e.target).closest('.chapter_thumb')) { var ch = $(e.target).closest('.chapter_thumb'); thisTrack(item); mediaMaker({ time: ch.attr('start_time') }); } else { console.log('starting media'); console.log(e.target); thisTrack(item); mediaMaker(); } }); function thisTrack(item) { var number = item.attr("number"); var unformatted_filename = item.find('.file').text(); console.log(number + ' is the number ' + unformatted_filename); var filename = encodeURI(unformatted_filename); treeMaker(); for (var n = 0; n <= tree.all_songs.length; n++) { if (tree.all_songs[n]) { if (tree.all_songs[n].encodedFile == filename) { tree.past_songs = tree.all_songs.slice(0, number - 1); tree.songs = tree.all_songs.slice(number - 1); return; } } } } function musicInformation(file) { var td = $('.track_description[file="' + file + '"]'); if (td.is(':visible')) { td.hide(); } else { td.show(); } } function musicWindowResizes() { var resizes = { music_albums: { bottom: $('#music_albums').css('top'), height: $('#music_albums').height(), scrollTop: $('#music_albums').scrollTop() }, music_artists: { bottom: $('#music_artists').css('top'), height: $('#music_albums').height(), scrollTop: $('#music_artists').scrollTop() }, music_files: { top: $('#music_files').css('top'), height: $('#music_files').height(), scrollTop: $('#music_files').scrollTop() } }; return resizes; } $(document).on('click change', '#progress_bar', function(e) { var total_width = $('#progress_bar').width(); var current_location = e.offsetX; var seek_to = (current_location / total_width) * tree.sound.duration; tree.sound.currentTime = seek_to; remoteTrackToggle({ file: tree.songs[0].file, toggle: 'seek', seek: tree.sound.currentTime }); }); var master_volume = 1; $(document).on('click', '#volume_control', function(e) { var total_width = $('#volume_control').width(); var current_location = e.offsetX; var new_volume = (current_location / total_width); tree.sound.volume = new_volume; master_volume = new_volume; $('#volume_control').attr('value', new_volume); }); $(document).on('click', '.music_artist', function(e) { if (e.originalEvent.ctrlKey == true) { if ($(this).attr('active') == 'yes') { $(this).attr('active', 'no'); } else { $(this).attr('active', 'yes'); } } else { if ($(this).attr('active') == 'yes') { $('.music_artist').attr('active', 'no'); } else { $('.music_artist').attr('active', 'no'); $(this).attr('active', 'yes'); } } searchMusic({ source: 'artist' }); }); $(document).on('click', '.music_album', function(e) { if (e.originalEvent.ctrlKey == true) { if ($(this).attr('active') == 'yes') { $(this).attr('active', 'no'); } else { $(this).attr('active', 'yes'); } } else { if ($(this).attr('active') == 'yes') { $('.music_album').attr('active', 'no'); } else { $('.music_album').attr('active', 'no'); $(this).attr('active', 'yes'); } } searchMusic({ source: 'album' }); }); function searchMusic(data) { if (typeof data != 'object') { data = {}; } var searching = data['search']; var list = data['list'] || []; var same_order = data['same_order']; var new_settings = data['new_settings']; var source = data['source']; if (new_settings) { new_settings = JSON.stringify(new_settings); } var artist = []; $('.music_artist').each(function(i,v) { if ($(v).attr('active') == 'yes') { artist.push({ 'artist': $(v).attr('artist'), 'path': $(v).attr('path') }); } }); var album = []; $('.music_album').each(function(i,v) { if ($(v).attr('active') == 'yes') { album.push({ 'album': $(v).attr('album'), 'path': $(v).attr('path') }); } }); artist = JSON.stringify(artist); album = JSON.stringify(album); console.log(artist); console.log(album); var artistScroll = $('#music_artists').scrollTop(); var albumScroll = $('#music_albums').scrollTop(); var search = searching || $('#music_search').val(); var unlock = $('#music').attr('unlock'); $('body').css({ 'cursor': 'progress' }); var folders = musicFolderChecker(); var nowPlaying = {}; if (tree.sound) { if (tree.sound.state == 1) { nowPlaying = tree.songs[0]; } } console.log(nowPlaying); var jnowPlaying = JSON.stringify(nowPlaying); var jlist = JSON.stringify(list); var resizes = musicWindowResizes(); var jresizes = JSON.stringify(resizes); var jmiss = JSON.stringify(misses); var theatreMode = $('#video').attr('theatre_mode'); $.ajax({ url: '/music/search', type: 'POST', data: { search: search, window_maker: 'yes', folders: folders, artist: artist, album: album, unlock: unlock, now_playing: jnowPlaying, list: jlist, same_order: same_order, new_settings: new_settings, resizes: jresizes, misses: jmiss }, success: function(response) { clearInterval(vidControls['video_video_interval']); $('body').css({ 'cursor': 'auto' }); var v = document.getElementById('video'); var src = v.src; var currentTime = v.currentTime; var timestamp = Date.now(); var state = v.state; treeMaker(); var configOpen = $('#music_configuration').is(':visible'); var oldMusic = $('#music').html(); musicWindowResizes(); if (1 == 0 && v.src) { $('#temporary_workspace').append(v); $('#music').find('#video').remove(); windowMaker(response.html); var nv = $('#music').find('#video'); // var id = nv.attr('id'); // console.log('new id ' + id); // $('#temporary_workspace').find('video').attr('id', id); nv.remove(); $('#music').find('.video_container').append(v); $('#temporary_workspace').find('#video').remove(); } else { windowMaker(response.html); } $.each(response.artist, function(i,v) { $('.music_artist[artist="' + v.artist + '"][path="' + v.path + '"]').attr('active', 'yes'); }); $.each(response.album, function(i,v) { $('.music_album[album="' + v.album + '"][path="' + v.path + '"]').attr('active', 'yes'); }); if (state == 1) { var v = document.getElementById('video'); v.src = src; var now = Date.now(); currentTime = ((now - timestamp) / 1000) + currentTime; v.currentTime = currentTime; v.state = 1; var playing = $('.playing'); var ts = $('#video').attr('thumb_style'); $('#video').attr('style', ts).attr('type', nowPlaying['type']); if (nowPlaying['type'] == 'audio') { $('#video').hide(); } else { $('#video').show(); } tree.current_track = playing.attr('number'); tree.sound.volume = master_volume; thisTrack(playing.closest('.track_item')); mediaMaker({ src: v.src, currentTime: v.currentTime, method: 'benign', timestamp: timestamp }); var html = $('#music').parent().html(); cacheSet({'app': 'music', 'context': 'content' },{ contents: html }); } else { $('#video').hide(); } var wind_id = $('#music').closest('.wind').attr('id'); playing_now('update'); $('#music_albums').scrollTop(albumScroll); $('#music_artists').scrollTop(artistScroll); musicInit('search'); if (configOpen == true) { $('#music_configuration').show(); } if (theatreMode == 'on') { theatreModeOn(); } } }); } function playing_now(movement) { var playing_scroll; if ($('.playing').is(':visible') > 0) { playing_scroll = ($('#music_files').scrollTop() - ( $('.playing').offset().top || 0 ) + $('#interface').height()); } else { playing_scroll = "5 billion or something!"; } if (movement != 'update') { musicAppointmentWriter('stop'); $('.playing').removeClass('playing'); } $('#track_' + tree.current_track).parent().addClass('playing'); $('#track_' + tree.current_track).parent().addClass('playing'); $('.track_description').each(function() { $(this).hide() }); $('#track_' + tree.current_track).parent().find('.track_description').show(); console.log(playing_scroll); //$('#music_files').scrollTop(playing_scroll); return tree.current_track; } function musicFolderChecker() { var folders = []; $('.music_folder_toggle[status="on"]').each(function(i,v) { console.log(v); folders.push($(v).attr('location')); }); return folders; } $(document).on('click', '.music_folder_toggle', function() { var b = $(this); var status = b.attr('status'); var location = b.attr('location'); var timestamp = Date.now(); if (status == 'on') { status = 'off'; } else { status = 'on'; } $.ajax({ url: '/music/folder_toggle', type: 'POST', data: { timestamp: timestamp, location: location, status: status }, success: function(response) { b.attr('status', response); if (response == 'on') { b.css({'background-color': 'lightblue'}); } else { b.css({'background-color': ''}); } console.log('about to search'); searchMusic(); } }); }); $(document).on('click', '.music_lock', function() { if ($('#music').attr('unlock')) { $('#music').attr('unlock', undefined); settingDeleter({ 'app': 'music', 'setting': 'combo_unlock' }); tree.sound = undefined; $('#music_search').val(''); $('.music_artist').attr('active', 'no'); $('.music_album').attr('active', 'no'); var wt = $('.wind[app="video"]').attr('timestamp'); closeWindow(wt); searchMusic(); } else if ($('#music').is(':visible')) { $('#music').hide(); $('#music_padlock').show(); } else { $('#music').show(); $('#music_padlock').hide(); } }); $(document).on('click', '#music_cancel_padlock', function() { $('#music').show(); $('#music_padlock').hide(); }); $(document).on('click', '.music_shuffle', function() { var shuffle = $(this).attr('enabled'); if (shuffle == 'on') { shuffle = 'off'; } else { shuffle = 'on'; } $(this).attr('enabled', shuffle); var list = []; $.each(tree.files, function(i,v) { list.push($(v).text()); }); searchMusic({ list: list, same_order: 0, new_settings: { 'shuffle': shuffle } }); }); $(document).on('click', '#music_layout_select', function() { var layout = $(this).val(); var list = []; $.each(tree.files, function(i,v) { list.push($(v).text()); }); console.log(list); searchMusic({ list: list, same_order: 1, new_settings: { 'layout': layout } }); }); $(document).on('change', '#music_library_select', function() { var library = $(this).val(); settingSetter({ app: 'music', setting: 'library', value: library }); searchMusic({ }); }); $(document).on('click', '.music_repeat', function() { var repeat = $(this).attr('enabled'); if (repeat == 'on') { repeat = 'off'; } else { repeat = 'on'; } settingSetter({ app: 'music', setting: 'repeat', value: repeat }); $(this).attr('enabled', repeat); }); $(document).on('click', '.music_audio_output_select', function() { var output = $(this).val(); var state = $(this).attr('state'); var file = tree.songs[0].file; var seek = tree.sound.currentTime; if (state == 'on') { state = 'off'; if (output != 'me' && output != 'srv') { var timestamp = Date.now(); var tr = { volume: master_volume, timestamp: timestamp, method: 'transmitter', music_data: tree.songs[0], file: file, domain: output, toggle: 'off', seek: seek }; console.log(tr); var jtr = JSON.stringify(tr); ws['music'].send(jtr); } } else { state = 'on'; if (output != 'me' && output != 'srv') { if (tree.sound.state == 1) { var timestamp = Date.now(); var tr = { volume: master_volume, timestamp: timestamp, method: 'transmitter', music_data: tree.songs[0], file: file, domain: output, toggle: 'on', seek: seek }; console.log(tr); var jtr = JSON.stringify(tr); ws['music'].send(jtr); } } } $(this).attr('state', state); $.ajax({ url: '/music/audio_output_select', type: 'POST', data: { state: state, output: output }, success: function(response) { mao = response; if (mao['me'] == 'on') { tree.sound.volume = master_volume; } if (mao['me'] == 'off') { tree.sound.volume = 0.0000001; } } }); }); $(document).on('click', '#music_configuration_toggle', function() { var mc = $('#music_configuration'); var remote_uuid = $('#music_configuration').attr('remote_uuid'); if (mc.is(':visible')) { mc.hide(); } else { mc.show(); $.ajax({ url: '/music/configuration', type: 'GET', data: { }, success: function(response) { console.log(response) mc.html(response.html); volumeChecker(); var z_index = $('#interface').css('z-index') + 1; mc.css({ 'z-index': z_index }); } }); } }); $(document).on('click', '.all_music', function() { var library = $(this).attr('library'); var enabled = $(this).attr('enabled'); console.log(enabled); if (enabled == 'yes') { enabled = 'no'; } else { enabled = 'yes'; } console.log(library + ' ' + enabled) $(this).attr('enabled', enabled); var setting = 'all_' + library; var new_settings = {}; new_settings[setting] = enabled; searchMusic({ 'new_settings': new_settings }); });