From a9819ab6154af194436175ca647ac969f09e35be Mon Sep 17 00:00:00 2001
From: Sybil <sybil.deboin@gmail.com>
Date: Tue, 16 Sep 2014 03:52:56 +0200
Subject: [PATCH] - Soundcloud fuckin' shitty API is working. - Now all
 integrated  players (iframe) are in javascript. - Autonext track is on.

---
 app/assets/javascripts/.music_player.js.swo   | Bin 0 -> 12288 bytes
 app/assets/javascripts/music_player.js        |  82 ++++++++++++++----
 app/assets/stylesheets/music_index.css        |   8 +-
 app/views/channels/show_channel.html.erb      |  16 +---
 app/views/channels/show_user.html.erb         |  11 +--
 app/views/layouts/application.html.erb        |   7 +-
 .../musics/.index.html.erb.swo}               | Bin 12288 -> 12288 bytes
 app/views/musics/index.html.erb               |   9 +-
 app/views/musics/show.html.erb                |  35 ++------
 .../.show.html.erb.swp}                       | Bin 12288 -> 12288 bytes
 app/views/tags/show.html.erb                  |  15 ++--
 config/initializers/soundcloud.rb             |   4 -
 config/routes.rb                              |   2 +
 13 files changed, 99 insertions(+), 90 deletions(-)
 create mode 100644 app/assets/javascripts/.music_player.js.swo
 rename app/{controllers/.channels_controller.rb.swp => views/musics/.index.html.erb.swo} (90%)
 rename app/views/{channels/.show_channel.html.erb.swp => tags/.show.html.erb.swp} (88%)
 delete mode 100644 config/initializers/soundcloud.rb

diff --git a/app/assets/javascripts/.music_player.js.swo b/app/assets/javascripts/.music_player.js.swo
new file mode 100644
index 0000000000000000000000000000000000000000..193c93e3a4cf5249702f8e9d0d3a895f5a1ce0e7
GIT binary patch
literal 12288
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
Xz=9Ey#6VRBB&e+!Kx{;KSu+3tq0aRb

literal 0
HcmV?d00001

diff --git a/app/assets/javascripts/music_player.js b/app/assets/javascripts/music_player.js
index 18f3312..6b6df22 100644
--- a/app/assets/javascripts/music_player.js
+++ b/app/assets/javascripts/music_player.js
@@ -5,6 +5,9 @@ $( ".clickable_links" ).each(function() {
   if ($(this).data().player == "youtube" ) {
     $(this).on( 'click', youtube_click);
   }
+  else if ($(this).data().player == "soundcloud" ) {
+    $(this).on( 'click', soundcloud_click);
+  }
 });
 
 function youtube_click() {
@@ -13,28 +16,27 @@ function youtube_click() {
 }
 
 function youtube_player() {
-  if (player && $("div#music_player").length == 0) {
-    player.loadVideoById(music_info.data().url);
-  }
-  else {
-    player = new YT.Player('music_player', {
-      height: '390',
-      width: '640',
-      videoId: music_info.data().url,
-      events: {
-        'onReady': player_launch,
-        'onStateChange': onPlayerStateChange,
-        'onError': player_error
-      }
-    });
-  }
+  player_destroy();
+  player = new YT.Player('player_block', {
+    height: '390',
+    width: '640',
+    videoId: music_info.data().url,
+    events: {
+      'onReady': player_launch,
+      'onStateChange': onPlayerStateChange,
+      'onError': player_error
+    }
+  });
 }
 
 function next_music() {
   music_info = $("li[data-id=\'"+music_info.data().id+"\']").next();
   if (music_info.data().player == "youtube" ) {
     youtube_player();
-  } 
+  }
+  else if (music_info.data().player == "soundcloud" ) {
+    soundcloud_player();
+  }
 }
 
 function onPlayerStateChange(event) {
@@ -42,11 +44,55 @@ function onPlayerStateChange(event) {
     next_music();
   }
 }
-
 function player_error(event) {
   next_music();
 }
-
 function player_launch(event) {
   event.target.playVideo();
 }
+
+
+
+function soundcloud_click() {
+  music_info = $(this);
+  soundcloud_player();
+}
+
+function player_destroy() {
+  if (player) {
+    if ($("#player_block").length == 0) {
+      $("#player_position").append("<div id=\"player_block\"></div>");
+    }
+
+    try {
+      player.destroy();
+    }
+    catch(e) {}
+
+    try {
+      var iframe = document.querySelector('iframe');
+      iframe.parentNode.removeChild(iframe);
+    }
+    catch(e) {}
+  } 
+}
+
+function soundcloud_listener() {
+    var iframe = document.querySelector('iframe');
+    var widget = SC.Widget(iframe);
+    widget.bind(SC.Widget.Events.READY, function() {
+      widget.bind(SC.Widget.Events.FINISH, next_music);
+    });
+}
+
+function soundcloud_player() {
+  player_destroy();
+  var music_url = "https://soundcloud.com/"+music_info.data().url;
+  SC.oEmbed(music_url, { auto_play: true , maxheight: 120, maxwidth: 1000 }, function(oEmbed)    {
+    player = oEmbed.html.replace('visual=true&','');
+    player = $('#player_block').html(player);
+  });
+  setTimeout(soundcloud_listener, 2000 );
+
+}
+
diff --git a/app/assets/stylesheets/music_index.css b/app/assets/stylesheets/music_index.css
index 35147a4..58960d6 100644
--- a/app/assets/stylesheets/music_index.css
+++ b/app/assets/stylesheets/music_index.css
@@ -10,6 +10,8 @@ ul
   background-color: rgba(0, 110, 140, 0.8);
   margin: 2px;
   cursor: pointer;
+  overflow: hidden;
+  position: relative;
 }
 
 
@@ -19,6 +21,9 @@ ul
   padding: 15px 0;
   font: 15px 'Helvetica Neue', Helvetica, Arial, sans-serif;
   color: rgba(250,220,180,1);
+  overflow: hidden;
+  position: relative;
+  text-overflow: ellipsis;
 }
 
 .music_id
@@ -29,7 +34,7 @@ ul
 
 .music_chan
 {
-  width: 10%
+  width: 10%;
 }
 
 .music_title
@@ -40,7 +45,6 @@ ul
 .music_sender
 {
   width: 10%;
-  /*overflow: hidden;*/
 }
 
 .music_tags
diff --git a/app/views/channels/show_channel.html.erb b/app/views/channels/show_channel.html.erb
index b52a3be..ea696e1 100644
--- a/app/views/channels/show_channel.html.erb
+++ b/app/views/channels/show_channel.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,17 +7,11 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
-      <span class="music_id"><%= music.id %></span> 
-      <span class="music_chan">
-        <%= link_to(music.channel.chan,'/musics/channels/'+music.channel.chan.sub('#','')) %></span>
-      <span class="music_title"><%= music.title %></span>
+      <span class="music_id"><%= music.id %></span>
+      <span class="music_chan"><%= music.channel.chan %></span>
+      <span class="music_title"><%= music.title%></span>
       <span class="music_tags"><%= music.tags.map{|t| t.tag}.join(", ") %></span>
       <span class="music_sender"><%= music.channel.sender_irc %></span>
     </li>
diff --git a/app/views/channels/show_user.html.erb b/app/views/channels/show_user.html.erb
index 922884e..ea696e1 100644
--- a/app/views/channels/show_user.html.erb
+++ b/app/views/channels/show_user.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,16 +7,11 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
       <span class="music_id"><%= music.id %></span>
       <span class="music_chan"><%= music.channel.chan %></span>
-      <span class="music_title"><%= music.title %></span>
+      <span class="music_title"><%= music.title%></span>
       <span class="music_tags"><%= music.tags.map{|t| t.tag}.join(", ") %></span>
       <span class="music_sender"><%= music.channel.sender_irc %></span>
     </li>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 2ed556e..38a3231 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -6,10 +6,15 @@
   <%= csrf_meta_tags %>
 </head>
 <body>
-
+  <div id="player_position">
+    <div id="player_block"></div>
+  </div>
 <%= yield %>
 
 </body>
 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
 <script src="https://www.youtube.com/iframe_api"></script>
+<script src="https://connect.soundcloud.com/sdk.js"></script>
+<script src="https://w.soundcloud.com/player/api.js"></script>
+
 </html>
diff --git a/app/controllers/.channels_controller.rb.swp b/app/views/musics/.index.html.erb.swo
similarity index 90%
rename from app/controllers/.channels_controller.rb.swp
rename to app/views/musics/.index.html.erb.swo
index cfc225ed60b20e7b67e4a2384bf4fc1735d002d4..a7022bc50a3d652a8beb4988133347be7f1ba119 100644
GIT binary patch
literal 12288
zcmYc?2=nw+FxN9-U|?VnU|@JXO*~{b$1fH;K?a86%B0L3kT?MxQk+<jk)4@JNNpY1
zK>hI4q=1~nN~io1{ltO-{j$u|@?!nm(&EhIV*Sj#l++5njFQ|Oz0{&40``tdkA}c#
z2oM<pr6p;)7Q76`Mur9;9m-0I3c^C6Am%6@4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R
z7$G50QozVi&%nUI1of{7lx9Suq1;hwGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0q
zLtr!nMnhl-hCpHp1H(if28O>pkokXD|Nl2X1H)~828Lby3=Grx85r{T85qL(85s2W
z85kJ&85l0}F);M<F)&o{F)+CBF)*<3F)*CwWnie}WneJmWnfU}WnhrzWnd8Hg_!*Z
zWd0BgpHU}|hQMeDjE2By2#kinXb6mkz-S1JhQMeD43iMBQMFYlNKDVnODsuMaDXg9
zR#3HLu+cBgv13qBuu)Y=%}W7^C@3f>*y!hEf<(dW;)29Hh2)&X;$mARu*Ue})V!3`
zA|*SJp<ofc<c!3;ywn^$h)jHDQL=)nosB+7D;{%764Q&3O#$)sauW-xYf5SqO7uz+
z(`)sz@-y=^lynr7G>I}Xvm_@K#Ym6<5l#Vl09hZ15AqO*CdT5-6lC3*ppZoMJ}4*^
zpkb^83loT-f<j4AVsf^EtpX%4ON(;!ic6C;^fO9I3W}{_^kejk^Gowml5_G)Q)2Xz
z^K)bL^>x(MH5p*~L3C<Pab_CSgp$gFR0UgG1to+&B^1Rtt<=*hv&A$U)8NYd(vs4o
zR3!ztu_=iqiMpjlIkrlmWPvJNkds)MS_F}S_z~<vRXcS3nJLJMz`+PrVv~~zON7Ze
rnaSCSNja(UIhlFc#b5<Cs<2e8mztQIp^%cVPy@E929&04K#3dxxV#Z>

literal 12288
zcmYc?2=nw+FxN9-U|?VnU|`5$6b)I={))v;kb$ANGAT0$Bu)T_6ekvBWM`%lQd<W$
zP(M61DIh1Y(kZ`0Ke3=dKRG|Iq$ocpC$*?pKRF{YFE2HxI36LWSCmA+`cdi85Eu;s
zqC$X|!Pv;q0Hjn|Nl`&qC=|pT#iJoG8UmvsFd71*Aut*OqaiRF0;3@?8UiCE1WF1R
z8R{7r7?_~`6^GJ{Xf%{NN{xoVXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeD
z48agcOkrSX<Yi#^$qSkPhxPx@^D{8)<7Z%4%Fn>Cgr9+-lb?a1oS%UqpPzvtlb?Yh
zgP(yRf}erm10Ms!RXzrW!+Z=3yZIOxw(>DBY~f>ISjfk~V8O@0Aj`+Vz|F_Nz|6<M
z@E2;&QjlFkFsw$MJQ@O{Aut*OqaiRF0;3@?8UmvsFd71*Aut*OG!KE)yc7ln1qg|t
z6%^9)i*gf7^fF3va~Kp96cmb5iwpAeQsPVU6;kpQY9P`zU@3>(R5U;hGfRszlZzE>
z6?{Pqy{!DqykZS2=pt@Sz4DCIqEwB7oW#nc{E~Q(u$4kJgi=yg(k@6WO3W>ehN+LO
z)zm9UOixvSiGw(?3<?S<sc8zu8TsX46Y@Z-%n@M#3lkE<0_0p0-CdlTmy%i(pIMY_
z1$SX-acU7^XM<ERP!fNT2m~1ea<emJjl5oB4k*$=fs>h+l3EcDl4nTHNh~f_fGR0=
ZhA*vGuu*U<D9Fi7PAtjH&qIha003YJ`#b;u

diff --git a/app/views/musics/index.html.erb b/app/views/musics/index.html.erb
index 8ec427a..ea696e1 100644
--- a/app/views/musics/index.html.erb
+++ b/app/views/musics/index.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,12 +7,7 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
       <span class="music_id"><%= music.id %></span>
       <span class="music_chan"><%= music.channel.chan %></span>
diff --git a/app/views/musics/show.html.erb b/app/views/musics/show.html.erb
index 3d5e0f8..78e787c 100644
--- a/app/views/musics/show.html.erb
+++ b/app/views/musics/show.html.erb
@@ -1,33 +1,16 @@
 <ul>
-  <li class="clickable_links" data-url="
-    <%= 
-      if @music.type == "youtube" 
-        track = @music.url.sub(/.*v=/,'')
-  elsif @music.type == "soundcloud"
-    begin
-      track = $soundcloud.get('/resolve', :url => @music.url)
-      track.id 
-    rescue
-      "Link down"
-    end 
-  end %>
-   ">
+  <li class="clickable_links" 
+        data-id="<%= music.id %>" 
+        data-player="<%= music.type %>" 
+        data-url="<%= 
+            if music.type == "youtube" 
+              track = music.url.sub(/.*v=/,'')
+            elsif music.type == "soundcloud"
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
+            end %>">
       <span class="music_id"><%= @music.id %></span>
       <span class="music_title"><%= @music.title%></span>
       <span class="music_tags"><%= @music.tags.map{|t| t.tag}.join(", ") %></span>
       <span class="music_sender"><%= @music.sender_irc %></span>
   </li>
 </ul>
-<%=if @music.type == "youtube" 
-    track = @music.url.sub(/watch\?v=/,'embed/')
-    raw("<iframe id=\"ytplayer\" type=\"text/html\" width=\"640\" height=\"390\" src=\""+track+"?autoplay=1\" frameborder=\"0\"/>")
-  elsif @music.type == "soundcloud"
-    begin
-      track = $soundcloud.get('/oembed', :url => @music.url, :maxwidth => "800", :maxheight => "150", :auto_play => "true")
-      raw(track['html'].gsub("visual=true&","")) 
-      #The Soundcloud API doesn't enable modification of the parameter 'visual'
-    rescue
-      "Link down"
-    end
-  end
-%>
diff --git a/app/views/channels/.show_channel.html.erb.swp b/app/views/tags/.show.html.erb.swp
similarity index 88%
rename from app/views/channels/.show_channel.html.erb.swp
rename to app/views/tags/.show.html.erb.swp
index b765e8a90a40bccd3d9961cd73175932c48d87a7..84869f8ddadad2521ef884c44e34ea0f13766bf8 100644
GIT binary patch
delta 267
zcmZojXh;xFG6?hZRWR2xVPIfj5MW@CoGw05xRkRbF}+y7I3vG&<6Ix+i3U8IUoxxn
zFp6##6!^@a)x*QU@P`MYUKFH{fq~&SKLf*Ueg=kJ{0t1!`574U_!$_&`574W`571(
z_!$^3^D!{=@-Z+}@G&sB@G&s3@G&r)=4D{0<Yizm<Yiz`=Vf4!=4D_I<z-;_3pM{2
z&t^q|exAvvw4)~1=`5c7LPuF9IU_Mo$<9XARw1{vI5Sxf#Lr930n?M8>!?gVr7JaA
zTbFb4J6-9?@AbqLGD=DcimhVwWAuyjOY>5abMi}5V)T;pb7S=Nb=1{0H*eO{V*~(o
C-$Stg

delta 525
zcmZojXh;xFG6?hZRWR2xVPIfj5MW@q$tOBdxKuPbBQY;8HK$m=I3vG29?IJ|(T92S
zOJ;Q*Mw!im0-yQoXK*txsPI5E%76@DU|@K}&%p4IpMl{HKLf)aeg=lw{0s~g{0t2K
z{0s~h{0s~NAbCCphAn&y3=8-e7$W%?80`5N7_|5p82I=Y7=H6IFg)XBVA#mZz%Y@Q
zfkB6tf#DMm1H%Fy28IY81_nPK1_mb{1_m1*24)5op3RIbF5Hv<>O@WctMfNSLDkMi
zzqlYV&yGO>3T#wu6>>83vg1qgHF8UfGn4h8z5&xZ>iS^8VtuG+vA()CSOhGcmzo2n
z^@>ZAG}M*Vb=1{0C-2u)Wd*5LnyjxYJvmlSicw*5xt>Z;YF>&0+*+vZ3Q9hidD#jn
z`Q>>^XmUlV#mS|qXo3m~B}IwJ*?O5^qbBK#IjI!qm*%A;=j4~B=%uHYXsGKKr55Ms
zl%=ZcC|H#i<tW(NDL@=tT9l)SW?WKgdS>3{OL}^Y@(ea9nPm!@DYi;r)$s*6iIu5E
NN_IB-DVb$<3;?U@gWLcB

diff --git a/app/views/tags/show.html.erb b/app/views/tags/show.html.erb
index 7d46448..18488d2 100644
--- a/app/views/tags/show.html.erb
+++ b/app/views/tags/show.html.erb
@@ -1,5 +1,3 @@
-<div id="music_player"></div>
-
 <ul>
   <% @musics.each do |music| %>
     <li class="clickable_links" 
@@ -9,18 +7,15 @@
             if music.type == "youtube" 
               track = music.url.sub(/.*v=/,'')
             elsif music.type == "soundcloud"
-              begin
-                track = $soundcloud.get('/resolve', :url => music.url)
-                track.id 
-              rescue
-                "Link down"
-              end 
+              track = music.url.sub(/https:\/\/soundcloud\.com\//,'')
             end %>">
       <span class="music_id"><%= music.id %></span>
-      <span class="music_title"><%= music.title %></span>
+      <span class="music_chan"><%= music.channel.chan %></span>
+      <span class="music_title"><%= music.title%></span>
       <span class="music_tags"><%= music.tags.map{|t| t.tag}.join(", ") %></span>
-      <span class="music_sender"><%= music.sender_irc %></span>
+      <span class="music_sender"><%= music.channel.sender_irc %></span>
     </li>
   <% end %>
 </ul>
 <%= paginate @musics %>
+
diff --git a/config/initializers/soundcloud.rb b/config/initializers/soundcloud.rb
deleted file mode 100644
index 308fe5f..0000000
--- a/config/initializers/soundcloud.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-#require 'yaml'
-
-soundcloud = YAML.load_file("#{File.dirname(__FILE__)}/../soundcloud.yml")
-$soundcloud = Soundcloud.new(:client_id => soundcloud["client_id"])
diff --git a/config/routes.rb b/config/routes.rb
index 0c4b22b..c05a8d5 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -56,6 +56,8 @@ Rails.application.routes.draw do
   resources :musics
   resources :tags
   resources :channels
+  
+  root to: 'musics#index'
 
   get '/musics/tags/:tag', to: "tags#show"
   get '/musics/users/:user', to: "channels#show_user"
-- 
GitLab