From 3b9d1a9adf44d5affc3cd2921c9357beae48f436 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Thu, 29 Jan 2015 11:09:04 -0600 Subject: [PATCH] More screwing around --- app.rb | 31 ++++++++++++++----------------- sets/cheesy2.csv | 31 +++++++++++++++++++++++++++++++ views/handler_js.erb | 12 ++++++++++++ views/index.erb | 26 +++++++++++++++++++++++--- views/meta_css.erb | 23 +++++++++++++++++++---- 5 files changed, 99 insertions(+), 24 deletions(-) create mode 100644 sets/cheesy2.csv diff --git a/app.rb b/app.rb index 45763c7..3e91276 100644 --- a/app.rb +++ b/app.rb @@ -2,23 +2,20 @@ require 'sinatra/base' require 'sinatra/json' require 'yajl' require 'yajl/json_gem' +require 'csv' -$tracklist = [ - { index: 1, - title: 'Lucky Star - ???? Sailor Fuku', - metadata: '', - length: 200, - bpm: 141, - notes: 'Pitch this one up to about 150-155 to mix with the next track; mix in at ~3:14' - }, - { index: 2, - title: 'M-Project - Cherry', - metadata: 'M-Project - Cherry', - length: 216, - bpm: 160, - notes: 'Start this one slow and speed up after mixing last track out' - }, -] +$set = "cheesy2" + +def load_tracklist() + file = "sets/#{$set}.csv" + csv = CSV.read(File.open(file)) + names = csv.shift + $tracklist = csv.map do |row| + Hash[*names.zip(row).flatten] + end +end + +load_tracklist def tracklist_json $tracklist.to_json @@ -44,6 +41,6 @@ class App < Sinatra::Base end get '/' do - erb :index, :locals => { :tracklist => tracklist_json } + erb :index, :locals => { :mixtitle => $set, :tracklist => tracklist_json } end end diff --git a/sets/cheesy2.csv b/sets/cheesy2.csv new file mode 100644 index 0000000..51bd724 --- /dev/null +++ b/sets/cheesy2.csv @@ -0,0 +1,31 @@ +index,title,length,bpm,notes +1,"らき☆すた Cast vs. Korn feat. Skrillex - おっきろ!セーラーふく",283.432325,141,"Pitch up to 150~155 to mix with next; mix in at ~3:14" +2,"M-Project - Cherry",386.742857,169.9,"Start matched with prev; slowly speed up after mixing prev track out" +3,"2 Brothers On The 4th Floor - Come Take My Hand (K&A's Extended Rave Blast)",351.346925,168.2, +4,"Ultrabeat - Starry Eyed Girl (Chris Henry Hardcore Remix)",307.826939,169.9, +5,"S3RL - Pika Girl",316.954667,174.8, +6,"enVias - 6 Little Eggs",193.436735,175.1, +7,"Alphabeat - Fascination (Orbit1 Remix)",321.410612,170.1, +8,"Fracus & Darwin - Coming Back To Me",336.0941,174.8, +9,"DJ Genki - Nyan Cat! ukiukiUKMIX",180.741224,169.9, +10,"Lime - 8bit Dreamer",545.358056,169.7, +11,"Hyperforce vs. IYF - Raise Yr Glass",281.9393,174.8, +12,"Alex Prospect feat. Becci - Ima Turn It Up (Stu Infinity Remix)",356.404422,170.1, +13,"Sugarbabes - About You Now (Breeze & Chris Unknown Remix)",370.259592,170.1, +14,"Redmoon feat. Meron Ryan - Never Let Go (Fracus & Darwin Remix)",316.107755,175.1, +15,"S3RL feat. Yuki - Princess Bubblegum",315.454694,175.1, +16,"Zedd - Spectrum (Darren Styles Remix)",293.694694,170.1, +17,"Chris Unknown - The Haunting",265.456327,169.9, +18,"Darwin & Pearl Blue - Don't Be Lonely",393.7709,174.8, +19,"S3RL - Feel The Flow (Dudlee Remix)",366.733061,175.1, +20,"Scott Brown - Elysium (Original Mix)",373.098231,174.8, +21,"S3RL - Mozart On Crack",332.146939,175.1, +22,"Kitstarz - Lost (Hyperforce & Wiggi Remix)",373.368163,174.8, +23,"Fracus & Darwin vs. CLSM feat. Indie-Go Blue - Chime",296.853333,194.9, +24,"Eryk Orpheus - P.V.C.",462.132245,171.6, +25,"Metropolis feat. Martina - Liquid Nights",324.937143,169.6, +26,"Anon - Pjanoo",306.546939,174.8, +27,"Tiesto - Redlights (Klubfiller & Nuton Remix)",192.053975,169.9, +28,"Pegboard Nerds - Hero (Gammer Remix)",327.406356,169.9, +29,"Injured Rezz & MC MD - Banjocore",356.364475,174, +30,"Mark Frostbite - President",282.749388,179.8, diff --git a/views/handler_js.erb b/views/handler_js.erb index f153465..ef8af6f 100644 --- a/views/handler_js.erb +++ b/views/handler_js.erb @@ -1,7 +1,9 @@ function format_track(index, title, length, bpm, notes) { + length = Math.round(length); var minutes = Math.floor(length / 60); var seconds = length % 60; var length = minutes + ":" + ( "0" + seconds ).slice(-2); + if ( notes == null ) notes = '-'; entry = $('
'); entry.append($('' + index + '')); entry.append($('' + title + '')); @@ -29,6 +31,14 @@ function current(index) { $("div#track_" + index).addClass("current"); } +function running(index) { + if (index < 0 || index > maximum_index) + return; + running_index = index; + $("div.track").removeClass("running"); + $("div#track_" + index).addClass("running"); +} + function next() { current(current_index + 1); } @@ -38,9 +48,11 @@ function prev() { } function commit() { + running(current_index); } maximum_index = tracklist.length; current_index = 0; +running_index = 0; init(); diff --git a/views/index.erb b/views/index.erb index bee2ca0..c388ded 100644 --- a/views/index.erb +++ b/views/index.erb @@ -2,8 +2,27 @@ + Metadata: <%= mixtitle %>