Files
ytmndd/tv/js/ytmnd.js
Jules Laplace 740993b19a advancing..!
2015-07-11 14:34:46 -04:00

117 lines
2.8 KiB
JavaScript

var ytmnd = (function(){
var ytmnd = {}
var sites = []
var loaded = {}
var index = 0
var play_immediately = true
var base_href = 'https://ltho.s3.amazonaws.com/ytmnd'
ytmnd.init = function(names){
var loader = new Loader(ytmnd.ready)
loader.register('init')
names.forEach(function(name){
loader.register(name)
fetch("users/" + name + '.json').then(function(response){
return response.json()
}).then(function(json){
sites = sites.concat(json)
loader.ready(name)
})
})
loader.ready('init')
}
ytmnd.ready = function(){
shuffle(sites)
ytmnd.play_index(index)
}
ytmnd.preload = function(site){
site.image_url = base_href + "/" + site.username + "/" + site.domain + "." + site.image_type
site.sound_url = base_href + "/" + site.username + "/" + site.domain + "." + site.sound_type
var loader = new Loader (function(){
loaded[site.domain] = site
if (next_domain == site.domain) {
ytmnd.play(site)
}
})
loader.register('init')
loader.preloadImage( site.image_url )
audio.preload( site, loader )
loader.ready('init')
}
ytmnd.preload_index = function(index){
var site = sites[index]
ytmnd.preload(site)
}
ytmnd.play_index = function(index){
var site = sites[index]
if (loaded[site.domain]) {
ytmnd.play(site)
}
else {
next_domain = site.domain
ytmnd.preload(site)
}
}
ytmnd.play = function(site){
document.querySelector("title").innerHTML = site.title
document.body.style.backgroundColor = site.bgcolor
document.body.style.backgroundImage = "url(" + site.image_url + ")"
document.body.className = site.placement
audio.play(site.domain)
zoomtext.render(site)
}
ytmnd.stop = function(){
var site = sites[index]
loaded[site.domain] = false
audio.stop(site.domain)
zoomtext.empty()
}
ytmnd.back = function(){
ytmnd.stop()
index = (index-1) % sites.length
ytmnd.play_index(index)
setTimeout(function(){
ytmnd.preload_index((index-1 + sites.length) % sites.length)
}, 1000)
}
ytmnd.next = function(){
ytmnd.stop()
index = (index+1) % sites.length
ytmnd.play_index(index)
setTimeout(function(){
ytmnd.preload_index((index+1) % sites.length)
}, 1000)
}
return ytmnd
})()
/*
simplified_info = {
// 'domain': domain,
// 'title': title,
// 'username': username,
'work_safe': work_safe,
// 'bgcolor': bgcolor,
// 'placement': placement,
// 'zoom_text': zoom_text,
'image': domain + "." + gif_type,
'image_type': gif_type,
'image_origin': image_origin,
// 'sound': domain + "." + wav_type,
// 'sound_type': wav_type,
// 'sound_origin': sound_origin,
}
*/