From 3c4e668b63d4d26a82bcce8574bc7055833116ee Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 14:43:24 +0100 Subject: [PATCH 1/7] update css --- icf.css | 67 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/icf.css b/icf.css index eb3dfc8..0c6a4aa 100644 --- a/icf.css +++ b/icf.css @@ -8,16 +8,12 @@ } body { + background-color: rgb(208, 224, 240); + //background-color: rgb(48, 96, 144); color: rgb(64, 64, 64); + //color: rgb(192, 192, 192); margin: 0; } -a { - color: rgb(255, 128, 0); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} b { font-family: Source Serif Semibold; } @@ -26,7 +22,7 @@ em, i { } #head { - background-color: #1f618d; + background-color: rgb(48, 96, 144); height: 80px; left: 0; position: fixed; @@ -34,37 +30,41 @@ em, i { top: 0; z-index: 1; } -#icf_the { - height: 22px; - left: 9px; - position: absolute; - top: 49px; -} #icf_icon { height: 64px; left: 64px; position: absolute; top: 8px; } -#icf_logo { +#icf_the { height: 22px; left: 136px; position: absolute; top: 49px; } +#icf_logo { + height: 22px; + left: 183px; + position: absolute; + top: 49px; +} #link { display: none; + color: rgb(208, 224, 240); font-family: Source Serif Semibold; font-size: 15px; //font-weight: bold; - position: fixed; + position: absolute; right: 16px; - top: 154px; - z-index: 100; + text-decoration: none; + top: 56px; + z-index: 1; +} +#link:hover { + color: rgb(255, 255, 255); } #timeline { - background-color: rgb(192, 192, 192); height: 64px; left: 0; overflow: hidden; @@ -76,30 +76,32 @@ em, i { #timeline > img { height: 64px; position: absolute; - user-select: none; - -webkit-user-select: none; } #menu { - background: #1f618d; - border-bottom: 1px dotted rgb(255, 128, 0); + background-color: rgb(48, 96, 144); color: rgb(192, 192, 192); font-family: Source Serif Semibold; font-size: 18px; height: 24px; left: 0; - padding: 8px 12px; + letter-spacing: 0.5px; + padding: 8px 12px 8px 64px; position: fixed; right: 0; + text-shadow: 0 -0.25px rgb(192, 192, 192), + 0.25px 0 rgb(192, 192, 192), + 0 0.25px rgb(192, 192, 192), + -0.25px 0 rgb(192, 192, 192); top: 144px; z-index: 1; } #menu > a { - color: rgb(192, 192, 192); + color: rgb(208, 224, 240); text-decoration: none; } #menu > a:hover { - color: rgb(224, 160, 96); + color: rgb(255, 255, 255); } #menu > a.selected { color: rgb(255, 128, 0); @@ -113,18 +115,19 @@ em, i { font-size: 16px; line-height: 24px; left: 64px; - padding-bottom: 32px; + padding: 16px 0 32px 0; position: absolute; text-align: justify; - top: 192px; + top: 184px; width: 800px; } .section:not(.selected) { display: none; } - -@media (max-width: 768px) { -.section { - width: 600px; +.section a { + color: rgb(48, 96, 144); + //text-decoration: none; } +.section a:hover { + text-decoration: underline; } From c5db87e62a7ceae8b7d2e24939a7587f9e1e6804 Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 14:43:32 +0100 Subject: [PATCH 2/7] update js --- icf.js | 248 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 162 insertions(+), 86 deletions(-) diff --git a/icf.js b/icf.js index 6dce486..56f31df 100644 --- a/icf.js +++ b/icf.js @@ -1,40 +1,43 @@ -let hashes = slice(document.querySelectorAll('#menu > a')).map(function(element) { - return element.getAttribute('href').substr(1) -}) - -let movies = [ - {id: 'GJT', title: 'Aan (Mehboob, 1952)', frames: 241117}, - {id: 'IKP', title: 'Mother India (Mehboob, 1957)', frames: 250936} -] -let movie = movies[Math.floor(new Date() / 86400000) % 2] - -let timelineLink = document.getElementById('link') -timelineLink.href = 'https://indiancine.ma/' + movie.id -timelineLink.innerHTML = movie.title -let timelineLinkEntered = false +let hashes = [] +let movie, position, frames, timelineTiles let timelineElement = document.getElementById('timeline') let timelineElements = [] let timelineWidth = 1500 -let timelineResize = 1 -let timelineTiles = Math.ceil(movie.frames / timelineWidth) let timelinesLeft +let timelineLink = document.getElementById('link') +let timelineLinkEntered = false + let paused = true let speed = 0 let acceleration = 0 let maxSpeed = 2 let maxAcceleration = maxSpeed / 100 +let fps = 25 +let fpsAnimation = 60 -function getTimelineElement(index, left) { - let element = document.createElement('img') - element.data = {index: index} - element.src = 'https://media.indiancine.ma/' + movie.id - + '/timelinekeyframes64p' + (index + 1) + '.jpg' - element.style.left = left + 'px' - element.style.width = timelineWidth * timelineResize + 'px' - timelineElement.appendChild(element) - return element +function api(action, data, callback) { + fetch('https://indiancine.ma/api/', { + body: JSON.stringify({action: action, data: data}), + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json, text/plain, */*', + }, + method: 'post' + }).then(function(result) { + return result.json() + }).then(callback) +} + +function formatDuration(seconds) { + return [ + Math.floor(seconds / 3600), + Math.floor(seconds % 3600 / 60), + Math.floor(seconds % 60) + ].map(function(value, index) { + return (index > 0 && value < 10 ? '0' : '') + value + }).join(':') } function hashchange() { @@ -53,62 +56,129 @@ function hashchange() { element.getAttribute('id') == hash ? 'add' : 'remove' ]('selected') }) - console.log(hash) -} - -function init() { - let frame = Math.floor(Math.random() * movie.frames) - let timelines = [{ - index: Math.floor(frame / timelineWidth), - left: -(frame / timelineWidth) * timelineResize - }] - let windowWidth = window.innerWidth - while (last(timelines).left < windowWidth + timelineWidth / 2) { - timelines.push({ - index: (last(timelines).index + 1) % timelineTiles, - left: last(timelines).left + timelineWidth * timelineResize - }) - } - timelineElements = timelines.map(function(timeline, i) { - element = getTimelineElement(timeline.index, timeline.left) - return element - }) } function last(array) { return array[array.length - 1] } +function loadText(callback) { + let menu = document.getElementById('menu') + api('getDocument', {id: 'DWA'}, function(result) { + result.data.text.split('

').slice(1).forEach(function(text, index) { + let split = text.split('

') + let id = split[0].toLowerCase() + let element + if (index > 0) { + element = document.createElement('span') + element.innerHTML = ' · ' + menu.appendChild(element) + } + element = document.createElement('a') + element.href = '#' + id + element.innerHTML = split[0] + menu.appendChild(element) + element = document.createElement('div') + element.className = 'section' + element.id = id + element.innerHTML = split[1] + .replace(//g, '') + document.body.appendChild(element) + hashes.push(id) + }) + callback() + }) +} + +function loadTimeline(callback) { + api('find', { + keys: ['director', 'duration', 'id', 'title', 'year'], + query: { + conditions: [{ + key: 'list', operator: '==', value: 'rlx:cinemafoundation.in', + }], + operator: '&' + }, + sort: [{key: 'year', operator: '+'}] + }, function(result) { + let movies = result.data.items + let time = new Date() + time -= time.getTimezoneOffset() * 60000 + let mspd = 86400000 + movie = movies[Math.floor(time / mspd) % movies.length] + position = Math.floor(time % mspd / mspd * movie.duration * fps) / fps + frames = Math.floor(movie.duration * fps) + timelineTiles = Math.ceil(frames / timelineWidth) + renderTimeline() + timelineLink.innerHTML = movie.title + ' (' + movie.year + ') ' + + movie.director.join(', ') + callback() + }) +} + +function mod(a, b) { + return (a % b + b) % b +} + function play() { if (speed <= 0 && acceleration < 0) { paused = true - if (!timelineLinkEntered) { - timelineLink.style.display = 'none' - } + setTimeout(function() { + if (!timelineLinkEntered) { + timelineLink.style.display = 'none' + } + }, 250) return } - //console.log('play', speed, acceleration) - images = slice(document.querySelectorAll('#timeline > img')) - timelineElements.forEach(function(element) { - element.style.left = (parseFloat(element.style.left) - speed) + 'px' - }) - if (parseFloat(timelineElements[0].style.left) <= -timelineWidth * timelineResize) { - timelineElement.removeChild(timelineElements.shift()) - let lastElement = last(timelineElements) - timelineElements.push(getTimelineElement( - (lastElement.data.index + 1) % timelineTiles, - parseFloat(lastElement.style.left) + timelineWidth * timelineResize - )) - timelineElement.appendChild(last(timelineElements)) - } + position += speed / fpsAnimation + renderTimeline() + timelineLink.href = 'https://indiancine.ma/' + movie.id + '/' + + formatDuration(position) if (speed < maxSpeed || acceleration <= 0) { speed += acceleration } - setTimeout(play, 25) + setTimeout(play, 1000 / fpsAnimation) } -function resize() { - timelinesLeft = (window.innerWidth - 4096) * timelineResize +function renderTimeline() { + let frame = Math.floor(position * fps) + let windowWidth = window.innerWidth + let timelines = [{ + index: Math.floor(frame / timelineWidth), + left: (windowWidth / 2) - frame % timelineWidth + }] + while (timelines[0].left > 0) { + timelines.unshift({ + index: mod(timelines[0].index - 1, timelineTiles), + left: timelines[0].left - timelineWidth + }) + } + while (last(timelines).left + timelineWidth < windowWidth) { + timelines.push({ + index: mod(last(timelines).index + 1, timelineTiles), + left: last(timelines).left + timelineWidth + }) + } + let element = document.getElementById( + 'timeline' + mod(timelines[0].index - 1, timelineTiles) + ) + if (element) { + timelineElement.removeChild(element) + } + timelines.forEach(function(timeline) { + let element = document.getElementById('timeline' + timeline.index) + if (element) { + element.style.left = timeline.left + 'px' + } else { + element = document.createElement('img') + element.id = 'timeline' + timeline.index + element.src = 'https://media.indiancine.ma/' + movie.id + + '/timelinekeyframes64p' + (timeline.index + 1) + '.jpg' + element.style.left = timeline.left + 'px' + timelineElement.appendChild(element) + } + }) } function slice(nodelist) { @@ -119,8 +189,12 @@ function start() { acceleration = maxAcceleration if (paused) { paused = false - timelineLink.style.display = 'block' play() + setTimeout(function() { + if (acceleration > 0) { + timelineLink.style.display = 'block' + } + }, 250) } } @@ -128,24 +202,26 @@ function stop() { acceleration = -maxAcceleration } -hashchange() -resize() -init() -window.addEventListener('hashchange', hashchange) -window.addEventListener('resize', resize) -timeline.addEventListener('mouseenter', start) -timeline.addEventListener('mouseleave', stop) -timelineLink.addEventListener('mouseenter', function() { - timelineLinkEntered = true +loadText(function() { + window.addEventListener('hashchange', hashchange) + hashchange() + loadTimeline(function() { + window.addEventListener('resize', renderTimeline) + timeline.addEventListener('mousedown', function() { + return false + }) + timeline.addEventListener('mouseenter', start) + timeline.addEventListener('mouseleave', stop) + timelineLink.addEventListener('mouseenter', function() { + timelineLinkEntered = true + }) + timelineLink.addEventListener('mouseleave', function() { + timelineLinkEntered = false + setTimeout(function() { + if (paused) { + timelineLink.style.display = 'none' + } + }, 250) + }) + }) }) -timelineLink.addEventListener('mouseleave', function() { - if (paused) { - setTimeout(function() { - if (paused) { - timelineLink.style.display = 'none' - } - }, 1000) - } - timelineLinkEntered = false -}) - From 7381bfb955481aefb62699474af32013c6d19804 Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 14:43:53 +0100 Subject: [PATCH 3/7] update html --- index.html | 101 +++-------------------------------------------------- 1 file changed, 5 insertions(+), 96 deletions(-) diff --git a/index.html b/index.html index 4e212dc..b4c445d 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ - The Indian Cinema Foundation + The indian Cinema Foundation @@ -9,104 +9,13 @@
- - -
-

The Indian Cinema Foundation has been created by filmmakers, film historians and artists, to forge new means for re-presenting the Indian cinema in all its glorious complexity in the 21st century.

-

The Foundation recognises that cinema in India has historically existed in unique environments where it has been made, shown, discussed and debated. Such environments need, along with the cinema itself, to transit into the digital era if the cinema that has been made for a century is to continue to meaningfully exist.

-

Since 1931 to date, India has made around 50,000 sound films. Official figures suggest that around 4.4% of all films made exist in archival conditions. On the other hand, it is likely that low-end sector, including 16 mm, VHS, VCD and DVD, might have 15,000 sound films, i.e. 30%, across the Indian cinema’s history, and across regions.

-

In order to archive what exists, the Foundation will open its doors to amateur archivists, film lovers and enthusiasts, together with academics, filmmakers, artists and all those who take Indian cinema seriously, to achieve the following:

-
    -
  • To recover as much of the Indian cinema as exists
  • -
  • To index and to annotate existing films (director's/scholars/technician/critics commentary, academic references, historical annotations) thereby introducing a new way of viewing them.
  • -
-

The Foundation will achieve its goals by working with the film industry, collaborating with University departments and institutions of research worldwide to make this material available.

-

The Indian Cinema Foundation is a registered non-profit trust. Donations are tax exempt under 80G.

-
-
-

Indiancine.ma is a non-commercial annotated online archive of Indian film.

-

The project was initiated by Pad.ma (Public Access Digital Media Archive), an online archive of densely text-annotated video material, primarily footage and not finished films, that was set up by members of CAMP, Alternative Law Forum and 0x2620 in 2007.

-

Indiancine.ma was originally set up using Ashish Rajadhyaksha's and Paul Willemen's Encyclopedia of Indian Cinema (published in 1999 by the British Film Institute).

-

At present, Indiancine.ma has created unique links for 36,406 films.

-

In addition to the general public, Indiancine.ma is being used by several film and cultural studies institutions nationally and globally. Indiancine.ma archives all films, but only films that are out of copyright are available for pubic viewing. Films that are more recent are not available to the public, but can be seen by bona fide research institutions and researchers.

-

We hope to upload as many as 15,000 titles, with a primary focus on early (i.e. pre-1957) cinema. Even this astonishing target will still be only 30% of all feature films made.

-
-
-
    -
  • To develop the online film archive as a public, NON-COMMERCIAL and FREE resource that will recover as much of the Indian cinema as exists.
  • -
  • To rethink the future of digital archives and provide new models of archiving using collaborative models of knowledge production and dissemination.
  • -
  • To try and track down prints of all available films (which may, especially in films made from earlier times, be the only prints in existence).
  • -
  • To curate and commission time-based annotations of major films from both the history of Indian cinema and from recent titles.
  • -
  • To significantly build on ancillary collections, including journals, documents, film stills, posters etc.
  • -
  • To make available key books on the history of Indian cinema embedded and tagged to relevant film titles.
  • -
  • To offer fellowships for young researchers working on Indian cinema history.
  • -
  • To build partnerships with University departments and Research Centres worldwide, with historians of Indian cinema, with filmmakers and producers interested in supplying supporting materials, time-based commentaries, and supplementary data,on their films, and with art practitioners and cinephiles.
  • -
-
-
-

Charter of the Indian Cinema Foundation

-

Acknowledging that cinema forms an integral part of India’s cultural heritage and provides a unique expression of our political, cultural, creative and historic identity,

-

Acknowledging further that Cinema constitutes one of the most important means of promoting an understanding of India amongst the global community thereby forming a part of the heritage of mankind as a whole,

-

Recognising that the preservation, restoration, archiving, annotation, dissemination and study of Indian cinema is crucial to the continued relevance of cinema as a living heritage,

-

Considering that as a result of their material form and fixation, films remain one of the most fragile cultural artifacts and extremely vulnerable to destruction, deterioration, decay, damage, and loss,

-

Considering further that cinema has remained a neglected aspect of state and industry policy and whose systematic neglect has already resulted in the loss of a majority of films causing an irreversible impoverishment to our cinematic heritage,

-

Appreciating the important role played by specialised institutions like the National Film Archive of India and other regional film archives and societies in preserving and promoting Indian cinema,

-

Bearing in mind that the archiving of cinema needs to have many more institutional and individual stake holders who collectively develop a creative and future oriented vision of film archives and databases if we are to effectively safeguard and promote Indian cinema as a cultural resource for present and future generations,

-

Noting that developments in technology afford us an opportunity to harness the power of the digital medium, the internet, and collaborative communities of knowledge producers to reshape the future of archiving and to create non-commercial open access archives informed by principles of a digital cultural commons,

-

Desiring to create a foundation that will create public infrastructure and resources, and develop best practices to enhance the ways in which the Indian cinema can be safeguarded, archived, accessed, viewed, analysed, discussed, researched, annotated and written about,

-

Desiring further to create a productive collaboration between the film industry, the state, universities, film historians and scholars, artists, journalists, critics, and all cinephiles and enthusiasts in general,

-

Affirming the importance of inculcating a sense of corporate social responsibility within the film industry towards the urgent tasks mentioned above,

-

We the undersigned

-

Pledge our support to the Indian Cinema Foundation and commit to ensuring its financial, intellectual and creative sustainability by supporting it monetarily and by providing access to our films and their material heritage and culture.

-
-
-

Ashish Rajadhyaksha is a film historian and cultural theorist. He co-authored the Encyclopaedia of Indian Cinema (2009), and has written several books and curated film and moving image events in India and elsewhere. Ashish was co-founder of the Centre for the Study of Culture & Society (1998). He is a founding Trustee of the Indian Cinema Foundation.

-

Ashok Sukumaran is an artist, co-initiator of the collaborative studio CAMP and Pad.ma and Indiancine.ma.

-

Jan Gerber is an artist and programmer from Berlin. He develops internet platforms for the production and distribution of video material. Jan has has been with Pad.ma and Indiancine.ma from its inception and is one of the initiators of 0x2620 - Collaborative Archiving and Networked Distribution.

-

Lawrence Liang is a lawyer, writer and film scholar. A founder of Alternative Law forum, he is currently at Ambedkar University Delhi. Involved with various copyleft initiatives, Lawrence has been with Pad.ma and Indiancine.ma from its inception and is a founding trustee of The Indian Cinema Foundation.

-

Sebastian Lütgert is an artist, programmer, writer, based in Berlin and sometimes Bombay, co-founder of 0x2620 (since 2007) and 0xDB (since 2007).

-

Shaina Anand is an artist and filmmaker, co-initiator of the collaborative studio CAMP. Her films and projects over the past decade have shown how deep technical experimentation and artistic form can meet while extracting new qualities and experiences from contemporary life and materials. Shaina is part of the core group that runs Pad.ma and Indiancine.ma and is a founding trustee of The Indian Cinema Foundation.

-

Zinnia Ambapardiwala joined the collaborative studio CAMP in 2008. She oversees media encoding, archiving and backend operations for Pad.ma and Indiancine.ma.

-
-
-

Kiran Rao is a screenwriter and director of Dhobhi Ghaat (2011), and a film producer deeply committed to promoting independent cinema and living screen cultures. She is also chairperson of MAMI (Mumbai Academy of Moving Images), and producer at Aamir Khan Productions.

-

Moinak Biswas (Jadavpur University, Kolkata) teaches film studies at Jadavpur University and has been widely published in both English and Bengali on contemporary Indian cinema. He started the medialab at Jadavpur University, and has collaborated with Pad.ma and Indiancine.ma.

-

Ranjani Majumdar teaches Cinema Studies at the School of Arts and Aesthetics, Jawaharlal Nehru University. She was part of India's first and all-women documentary collective Mediastorm. She is the author of Bombay Cinema: An Archive of the City (2007). Her areas of research include, the cinematic city, media theory, and the intersection of travel, design and colour in 1960s Bombay cinema.

-

Saeed Akthar Mirza is an award winning writer, filmmaker and producer. He began his career as a member of YUKT (Union of Kinematographers and Technicians) and went on to make several films during the parallel cinema movement in India. He was chairperson of his alma matter FTII.

-

Sidharth Roy Kapur is a film producer, founder of Roy Kapur Films and the President of Film and Television Producers Guild of India. He was formerly Managing Director Disney, India.

-

Vikramaditya Motwane is an award winning filmmaker, producer and screenwriter. He co-founded Phantom Films.

-

Vishesh Bhatt is a filmmaker and producer. He currently heads strategy, content development, creatives, marketing, and is responsible for all digital initiatives at Vishesh Films.

-
-
-

In March 2013, in commemoration of India's cinema centenary, Indiancine.ma was born.

-

Indiancine.ma has been hosted and developed by the team that runs Pad.ma, that has had continuous support Foundation for Arts Initiatives. In 2016-17, we received seed grants from key film studios in Mumbai who share our vision and remain committed to supporting the activities of the Indian Cinema Foundation.

-
    -
  • Aamir Khan Productions
  • -
  • Disney
  • -
  • Excel Entertainment
  • -
  • Phantom Films
  • -
  • Raju Hirani Films
  • -
  • Rakesh Omprakash Mehra Productions
  • -
  • Vishesh Films
  • -
-
-
- -
+ - + \ No newline at end of file From b25939875ef7eb5181bffe7c4cc57d5e3422c699 Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 14:52:42 +0100 Subject: [PATCH 4/7] change acceleration, preload one more timeline tile --- icf.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/icf.js b/icf.js index 56f31df..0f92db6 100644 --- a/icf.js +++ b/icf.js @@ -9,13 +9,13 @@ let timelinesLeft let timelineLink = document.getElementById('link') let timelineLinkEntered = false +let fps = 25 +let fpsAnimation = 60 let paused = true let speed = 0 let acceleration = 0 let maxSpeed = 2 -let maxAcceleration = maxSpeed / 100 -let fps = 25 -let fpsAnimation = 60 +let maxAcceleration = 1 / fpsAnimation function api(action, data, callback) { fetch('https://indiancine.ma/api/', { @@ -154,7 +154,7 @@ function renderTimeline() { left: timelines[0].left - timelineWidth }) } - while (last(timelines).left + timelineWidth < windowWidth) { + while (last(timelines).left < windowWidth) { timelines.push({ index: mod(last(timelines).index + 1, timelineTiles), left: last(timelines).left + timelineWidth From 9c6cc183f5a62e3bdbcfa75f0811d23959db24d4 Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 15:03:56 +0100 Subject: [PATCH 5/7] timeline tiles off by one, also handle last tile width --- icf.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/icf.js b/icf.js index 0f92db6..3452666 100644 --- a/icf.js +++ b/icf.js @@ -1,5 +1,5 @@ let hashes = [] -let movie, position, frames, timelineTiles +let movie, position, frames, timelineTiles, lastTimelineWidth let timelineElement = document.getElementById('timeline') let timelineElements = [] @@ -110,6 +110,7 @@ function loadTimeline(callback) { position = Math.floor(time % mspd / mspd * movie.duration * fps) / fps frames = Math.floor(movie.duration * fps) timelineTiles = Math.ceil(frames / timelineWidth) + lastTimelineWidth = frames % timelineWidth renderTimeline() timelineLink.innerHTML = movie.title + ' (' + movie.year + ') ' + movie.director.join(', ') @@ -151,7 +152,9 @@ function renderTimeline() { while (timelines[0].left > 0) { timelines.unshift({ index: mod(timelines[0].index - 1, timelineTiles), - left: timelines[0].left - timelineWidth + left: timelines[0].left - ( + timelines[0].index == 0 ? lastTimelineWidth : timelineWidth + ) }) } while (last(timelines).left < windowWidth) { @@ -174,7 +177,7 @@ function renderTimeline() { element = document.createElement('img') element.id = 'timeline' + timeline.index element.src = 'https://media.indiancine.ma/' + movie.id - + '/timelinekeyframes64p' + (timeline.index + 1) + '.jpg' + + '/timelinekeyframes64p' + timeline.index + '.jpg' element.style.left = timeline.left + 'px' timelineElement.appendChild(element) } From 038c4aa409b2789ed6169cea97dbda1b7941a844 Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 15:09:20 +0100 Subject: [PATCH 6/7] change link timeout --- icf.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/icf.js b/icf.js index 3452666..f626e92 100644 --- a/icf.js +++ b/icf.js @@ -125,11 +125,7 @@ function mod(a, b) { function play() { if (speed <= 0 && acceleration < 0) { paused = true - setTimeout(function() { - if (!timelineLinkEntered) { - timelineLink.style.display = 'none' - } - }, 250) + timelineLink.style.display = 'none' return } position += speed / fpsAnimation @@ -224,7 +220,7 @@ loadText(function() { if (paused) { timelineLink.style.display = 'none' } - }, 250) + }, 1000) }) }) }) From 0bd1279ecfc1664794b2438f3cd25b56b7287e83 Mon Sep 17 00:00:00 2001 From: rlx Date: Fri, 12 Jan 2018 15:10:58 +0100 Subject: [PATCH 7/7] change link timeout --- icf.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/icf.js b/icf.js index f626e92..c64dfee 100644 --- a/icf.js +++ b/icf.js @@ -125,7 +125,9 @@ function mod(a, b) { function play() { if (speed <= 0 && acceleration < 0) { paused = true - timelineLink.style.display = 'none' + if (!timelineLinkEntered) { + timelineLink.style.display = 'none' + } return } position += speed / fpsAnimation