//open User->Preferences->Advanced->Run Script on Load and paste this script (function() { playlist([ [function() { info('A'); }, 10.000], [function() { edit('ashok:Photomontage'); }, 100.000], //[function() { info('A'); }, 30.000], //[function() { play('B', 3); }, 10], ]); //helper functions function playlist(playlist) { var current = 0; pandora.$ui.home && pandora.$ui.home.fadeOutScreen(); clearTimeout(pandora.playlist); next(); function next() { if(current >= playlist.length) { window.location.reload(); current = 0; } else { playlist[current][0](); clearTimeout(pandora.playlist); var duration = playlist[current][1]; if(Ox.isString(duration)) { duration = Ox.parseDuration(duration); } pandora.playlist = setTimeout(next, Math.round(duration * 1000)); current += 1; } } } function sitePage(page) { //if there is a player, pause it pandora.$ui.player && pandora.$ui.player.options('paused', true); //back to results view pandora.UI.set({item: '', section: 'items'}); //open about page pandora.UI.set({page: page}); } function edit(edit, position) { var resolution = [window.innerWidth, window.innerHeight], clipSize = resolution[0] - (resolution[1] * 4/3), tvUI = { clipSize: clipSize, annotationsRange: 'position', editView: 'annotations', section: 'edits', showAnnotations: true, showTimeline: false, //fixme to enable recalculate aspect showSidebar: false, //videoLoop: true, videoScale: 'fit' }; position = position || 0; pandora.UI.set(Ox.extend({ edit: edit }, tvUI, 'edits.' + edit + '.position', position)); waitForPlayer(function(player) { player.options({ paused: false, position: position }); }); } function editor(item, start) { playItem(item, 'editor', start); } function info(item) { pandora.UI.set({section: 'items'}); pandora.UI.set({page: ''}); pandora.UI.set({itemView: 'info'}); pandora.UI.set({item: item}); } function play(item, position, layers) { playItem(item, 'player', position, layers); } function timeline(item, position, layers) { playItem(item, 'timeline', position, layers); } function playItem(item, view, position, layers) { pandora.UI.set({section: 'items'}); showLayers(layers); position = position || 0; if(Ox.isString(position)) { position = Ox.parseDuration(position); } pandora.UI.set({page: ''}); pandora.UI.set('videoPoints.' + item, { 'annotation': '', 'in': position, out: position, position: position }); if(item != pandora.user.ui.item || pandora.user.ui.itemView != view) { delete pandora.$ui[view]; pandora.UI.set({itemView: view}); pandora.UI.set({item: item}); } startPlayback(); function startPlayback() { if(pandora.$ui[view]) { pandora.$ui[view].options({paused: false}); } else { setTimeout(startPlayback, 500); } } } function find(query, view) { view = view || 'grid'; pandora.UI.set({item: '', page: '', listView: view, section: 'items'}); pandora.$ui.findInput.value(query); pandora.UI.set({find: {conditions: [{key: '*', value: query, operator: '='}], operator: '&'}}); } function showLayers(layers) { layers = layers || Object.keys(pandora.site.user.ui.showLayers).filter(function(layer) { return pandora.site.user.ui.showLayers[layer]; }); pandora.UI.set('showLayers', Ox.map(pandora.site.user.ui.showLayers, function(value, layer) { return layers.indexOf(layer) > -1; })); } function waitForPlayer(callback) { var $player, player; if (pandora.$ui.editPanel) { $player = $('.OxVideoPlayer').not('.OxBar'); var readyState = 0; if($player.find('video').length) { $player.find('video').each(function() { readyState = Math.max(readyState, this.readyState); }); } if(readyState && $player.data('oxid') && Ox.$elements[$player.data('oxid')]) { player = Ox.$elements[$player.data('oxid')]; } } if (player) { setTimeout(function() { callback(player, $player); }, 250); } else { setTimeout(function() { waitForPlayer(callback); }, 250); } } function openDocument(id) { //if there is a player, pause it pandora.$ui.player && pandora.$ui.player.options('paused', true); pandora.URL.push('/document/' + id); } function closeDocument() { pandora.$ui.documentDialog.close(); } })();