Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name rym Total Track Times
- // @description Calculates total track time for releases on rateyourmusic.com
- // @include http://rateyourmusic.com/release/*
- // ==/UserScript==
- // updated January 23, 2009 to support track listings with play links.
- var main;
- main = document.getElementById('tracklisting');
- if (main) {
- var mainTbody = main.getElementsByTagName("tbody") [0];
- var rows = mainTbody.getElementsByTagName("tr");
- var trackmins = 0;
- var tracksecs = 0;
- var trackhours = 0;
- for(var i=0, row=null;row=rows[i]; i++){
- var cells=row.getElementsByTagName("td");
- var cell=row.getElementsByTagName("td")[cells.length - 1];
- var tracktime = cell.textContent;
- var curTrackmins = parseInt(tracktime.split(':')[0], 10);
- var curTracksecs = parseInt(tracktime.split(':')[1], 10);
- trackmins += isNaN(curTrackmins) ? 0 : curTrackmins;
- tracksecs += isNaN(curTracksecs) ? 0 : curTracksecs;
- }
- trackmins += Math.floor((tracksecs / 60));
- tracksecs = (tracksecs % 60);
- trackhours = Math.floor((trackmins / 60));
- trackmins -= (trackhours * 60);
- var row = document.createElement("tr");
- var color = "rgb(255,255,204)";
- cell = document.createElement("td");
- cell.style.background = color;
- row.appendChild(cell);
- if(cells.length >= 4) {
- cell = document.createElement("td");
- cell.style.background = color;
- row.appendChild(cell);
- }
- cell = document.createElement("td");
- cell.style.background = color;
- cellText = document.createTextNode("Total Time:");
- cell.appendChild(cellText);
- row.appendChild(cell);
- if(cells.length == 5) {
- cell = document.createElement("td");
- cell.style.background = color;
- row.appendChild(cell);
- }
- cell = document.createElement("td");
- cell.style.background = color;
- if((isNaN(trackmins)) || (trackmins == 0)) {
- cellText = document.createTextNode("n/a");
- } else {
- tracksecs += '';
- trackmins += '';
- if(tracksecs.length == 1) { tracksecs = "0" + tracksecs; }
- if(trackmins.length == 1) { trackmins = "0" + trackmins; }
- if(trackhours == 0) {cellText = document.createTextNode(trackmins + ":" + tracksecs); }
- else {cellText = document.createTextNode(trackhours + ":" + trackmins + ":" + tracksecs); }
- }
- cell.appendChild(cellText);
- row.appendChild(cell);
- main.appendChild(row);
- }
Advertisement
Add Comment
Please, Sign In to add comment