index.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8">
  4. <meta http-equiv="x-ua-compatible" content="ie=edge">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>Daveo Radio</title>
  7. <meta name="description" content="">
  8. <link rel="stylesheet" href="css/style.min.css">
  9. </head>
  10. <body>
  11. <header>
  12. <div class="container">
  13. <div class="intro-text">
  14. </div>
  15. </div>
  16. </header>
  17. <div class="container">
  18. <div class="row">
  19. <div class="col-sm-6">
  20. <section id="audio" class="bg-light-gray">
  21. <!-- START Player -->
  22. <div id="audio_player" class="panel panel-default">
  23. <div class="panel-body">
  24. <div id="player">
  25. <div id="song-information">
  26. <div class="row">
  27. <div class="col-xs-8">
  28. <img id="radio" src="" title="radio" width="25px" style="float:left;margin-right:15px;">
  29. <span id="amplitude-now-playing-listeners">Listeners: <span id="listeners">00</span> - Peak: <span id="peak-listeners">00</span></span><br>
  30. <span id="amplitude-now-playing-bitrate">Bitrate: <span id="bitrate">00</span> Kbps 44.100 Khz</span>
  31. </div>
  32. <div class="col-xs-4">
  33. </div>
  34. </div>
  35. </div>
  36. <div id="controls">
  37. <div id="amplitude-play-pause" class="amplitude-paused"></div><br>
  38. <span id="amplitude-current-time">0:00</span>
  39. <!--<meter name="volume" value="9" min="0" max="10" low="0" high="10"></meter>-->
  40. </div>
  41. <span class="glyphicon glyphicon-volume-off" aria-hidden="true" style="float:left;margin: -4px 0 0 0;font-size:20px"></span>
  42. <input type="range" class="bar" name="volume" id="amplitude-volume-slider" min=1 max=100 value=90/>
  43. <output class="volume" for="volume">90</output>
  44. <span class="glyphicon glyphicon-volume-up" aria-hidden="true" style="float:right;margin:-18px 0 0;font-size:20px"></span>
  45. </div>
  46. </div>
  47. <div class="panel-footer">
  48. <h6 style="margin:0;"><img id="eq" src="" title="eq" style="float:left;margin:3px 10px 0 7px;"> <span id="amplitude-now-playing-name">Current track: <span id="track">* Off Air *</span></span></h6>
  49. </div>
  50. </div>
  51. <!-- END Player -->
  52. <!-- START Playlist -->
  53. <div class="panel panel-default">
  54. <div class="tab-content scrollable-list">
  55. <div class="tab-pane active" id="one">
  56. <ul class="list-group">
  57. <div class="recent"></div>
  58. </ul>
  59. </div>
  60. <div class="tab-pane" id="two">
  61. <ul class="list-group">
  62. <div class="tracks"></div>
  63. </ul>
  64. </div>
  65. <div class="tab-pane" id="three">
  66. <ul class="list-group">
  67. <div class="artists"></div>
  68. </ul>
  69. </div>
  70. <div class="tab-pane" id="four">
  71. <ul class="list-group">
  72. <li class="list-group-item list-group-item-info"><b>Dec 12th 2-4pm</b>: Example Show</li>
  73. <li class="list-group-item"><b>Dec 13th 2-4pm</b>: Guest Show</li>
  74. <li class="list-group-item list-group-item-success"><b>Dec 14th 8-10am</b>: Daveo Radio</li>
  75. <li class="list-group-item list-group-item-success"><b>2-4pm</b>: Daveo Radio</li>
  76. <li class="list-group-item"><b>Dec 22th 2-4pm</b>: Daveo Radio</li>
  77. <li class="list-group-item list-group-item-warning"><b>Dec 23th 2-4pm</b>: Somthing Else</li>
  78. <li class="list-group-item list-group-item-danger"><b>Dec 24-28th</b>: Example</li>
  79. <li class="list-group-item"><b>Dec 31st 8-12pm</b>: Guest Person</li>
  80. <li class="list-group-item list-group-item-info"><b>Jan 4th 10am</b>: Example Show</li>
  81. <li class="list-group-item list-group-item-info"><b>2-4pm</b>: Something Show</li>
  82. </ul>
  83. </div>
  84. </div>
  85. <ul class="nav nav-tabs">
  86. <li class="active"><a href="#one" data-toggle="tab"><span class="glyphicon glyphicon-headphones" aria-hidden="true"></span>&nbsp;Recent</a></li>
  87. <li><a href="#two" data-toggle="tab"><span class="glyphicon glyphicon-fire" aria-hidden="true"></span>&nbsp;Tracks</a></li>
  88. <li><a href="#three" data-toggle="tab"><span class="glyphicon glyphicon-user" aria-hidden="true"></span>&nbsp;Artist</a></li>
  89. <li><a href="#four" data-toggle="tab"><span class="glyphicon glyphicon-time" aria-hidden="true"></span>&nbsp;Schedule</a></li>
  90. </ul>
  91. </div>
  92. <!-- END Playlist -->
  93. </section>
  94. </div>
  95. <!-- START Chat -->
  96. <div class="col-sm-6">
  97. <section id="request-line" class="bg-light-gray">
  98. <!-- START Room Tabs -->
  99. <div class="panel panel-default">
  100. <div class="row-fluid">
  101. <ul id="rooms_tabs" class="nav nav-tabs">
  102. <li class="dropdown">
  103. <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-th" aria-hidden="true"></span>&nbsp;<b class="caret"></b></a>
  104. <ul class="dropdown-menu">
  105. <li><a href="#modal_joinroom" data-toggle="modal"><span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>&nbsp;Join room</a></li>
  106. <li><a id="b_leave_room" href="#"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>&nbsp;Leave room</a></li>
  107. <li class="divider"></li>
  108. <li><a href="#modal_setnick" data-toggle="modal"><span class="glyphicon glyphicon-user" aria-hidden="true"></span>&nbsp;Set nickname</a></li>
  109. </ul>
  110. </li>
  111. <li id="Lobby_tab" class="active"><a href="#Lobby" data-toggle="tab"><span class="glyphicon glyphicon-comment" aria-hidden="true"></span><span class="hidden-tab">Lobby</span></a></li>
  112. <li><a href="#call" data-toggle="tab"><span class="glyphicon glyphicon-phone-alt" aria-hidden="true"></span></a></li>
  113. <li><a href="#video" data-toggle="tab"><span class="glyphicon glyphicon-facetime-video" aria-hidden="true"></span></a></li>
  114. </ul>
  115. </div>
  116. <!-- END Room Tabs -->
  117. <!-- START Rooms -->
  118. <div id="rooms" class="tab-content">
  119. <div class="tab-pane active" id="Lobby">
  120. <div class="well">
  121. <div class="row-fluid">
  122. <div id="room_messages" style="min-height:220px; max-height:220px; overflow:auto;">
  123. <span class="label label-danger">Radio-bot</span>&nbsp;&nbsp;Welcome to the Daveo Radio!<br/>
  124. </div>
  125. </div>
  126. <div class="row-fluid">
  127. <div id="room_users">
  128. <span class="label label-success">online:</span> <span class="label label-danger">Radio-bot</span>
  129. </div>
  130. </div>
  131. </div>
  132. <!-- START message -->
  133. <div class="panel-footer">
  134. <div class="row-fluid">
  135. <form class="form">
  136. <div class="input-group">
  137. <input id="message_text" class="form-control" type="text" placeholder="What say you?" >
  138. <span class="input-group-btn">
  139. <button id="b_send_message" class="btn btn-primary"><span class="glyphicon glyphicon-bullhorn" aria-hidden="true"></span> Post</button>
  140. </span>
  141. </div>
  142. </form>
  143. <!--<button id="set_nick" class="btn btn-success" data-toggle="modal" data-target="#modal_setnick"><span class="glyphicon glyphicon-user" aria-hidden="true"></span> Set Nick</button>-->
  144. </div>
  145. </div>
  146. <!-- END message -->
  147. </div>
  148. <div class="tab-pane" id="call">
  149. <div id="audio">
  150. <div class="well">
  151. <p><span class="label label-primary">Local audio:</span></p>
  152. <audio id="audio1" autoplay controls muted></audio>
  153. <p><span class="label label-primary">Remote audio:</span></p>
  154. <audio id="audio2" autoplay controls></audio>
  155. </div>
  156. <div class="panel-footer">
  157. <div id="buttons">
  158. <button id="callButton" class="btn btn-success">Call</button>
  159. <button id="hangupButton" class="btn btn-danger">Hang Up</button>
  160. <select id="codec" class="selectpicker" data-style="btn-primary">
  161. <!-- Codec values are matched with how they appear in the SDP.
  162. For instance, opus matches opus/48000/2 in Chrome, and ISAC/16000
  163. matches 16K iSAC (but not 32K iSAC). -->
  164. <option value="opus">Opus</option>
  165. <option value="ISAC">iSAC 16K</option>
  166. <option value="G722">G722</option>
  167. <option value="PCMU">PCMU</option>
  168. </select>
  169. </div>
  170. </div>
  171. </div>
  172. </div>
  173. <div class="tab-pane" id="video">
  174. <div id="video">
  175. <div class="well">
  176. <video id="localVideo" autoplay muted></video>
  177. <video id="remoteVideo" autoplay></video>
  178. </div>
  179. <div class="panel-footer">
  180. <button id="startButton" class="btn btn-success">Start</button>
  181. <button id="callButton" class="btn btn-primary">Call</button>
  182. <button id="hangupButton" class="btn btn-danger">Hang Up</button>
  183. </div>
  184. </div>
  185. <div>
  186. </div>
  187. </div>
  188. <!-- END Rooms -->
  189. </div>
  190. <!-- START Modal -->
  191. <div id="modal_joinroom" class="modal fade">
  192. <div class="vertical-alignment-helper">
  193. <div class="modal-dialog modal-sm vertical-align-center">
  194. <div class="modal-content">
  195. <div class="modal-header">
  196. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  197. <h3>Join Room</h3>
  198. </div>
  199. <div class="modal-body">
  200. <input id="room_name" type="text" class="form-control" placeholder="Room Name">
  201. <p><small>&nbsp;Room will be created if it doesn't exist</small></p>
  202. </div>
  203. <div class="modal-footer">
  204. <a id="b_join_room" href="#" class="btn btn-success">Join Room</a>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. <div id="modal_setnick" class="modal fade">
  211. <div class="vertical-alignment-helper">
  212. <div class="modal-dialog modal-sm vertical-align-center">
  213. <div class="modal-content">
  214. <div class="modal-header">
  215. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  216. <h3>Set a Nickname</h3>
  217. </div>
  218. <div class="modal-body">
  219. <input id="nickname" type="text" class="form-control" placeholder="Type your nickname here">
  220. </div>
  221. <div class="modal-footer">
  222. <a id="b_set_nickname" href="#" class="btn btn-success">Set a Nickname</a>
  223. </div>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. <!-- End Modal -->
  229. </section>
  230. </div>
  231. <!-- End Chat -->
  232. </div>
  233. </div>
  234. <!-- START Footer NAV -->
  235. <div class="container">
  236. <div class="col-sm-12">
  237. <div class="row">
  238. <div class="panel panel-bottom">
  239. <ul class="nav navbar-nav">
  240. <li><a href="#connected" data-toggle="modal" data-target="#connected"><span class="glyphicon glyphicon-globe" aria-hidden="true"></span>&nbsp;Listeners</a></li>
  241. <li><a href="#charts" data-toggle="modal" data-target="#charts"><span class="glyphicon glyphicon-stats" aria-hidden="true"></span>&nbsp;Charts</a></li>
  242. </ul>
  243. <ul class="nav navbar-nav navbar-right">
  244. <li><a href="#about" data-toggle="modal" data-target="#about"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>&nbsp;About</a></li>
  245. <li><a href="#help" data-toggle="modal" data-target="#help"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>&nbsp;Help</a></li>
  246. <li><a href="#support" data-toggle="modal" data-target="#support"><span class="glyphicon glyphicon-heart-empty" aria-hidden="true"></span>&nbsp;Support</a></li>
  247. </ul>
  248. </div>
  249. </div>
  250. </div>
  251. </div>
  252. <!-- END Footer NAV -->
  253. <!-- START Listeners Modal -->
  254. <div class="modal fade" id="connected" tabindex="-1" role="dialog" aria-labelledby="connected" aria-hidden="true">
  255. <div class="modal-dialog modal-lg" role="document">
  256. <div class="modal-content">
  257. <div class="modal-body">
  258. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  259. <div class="listeners">
  260. </div>
  261. </div>
  262. </div>
  263. </div>
  264. </div>
  265. <!-- END Listerners Modal -->
  266. <!-- START Charts Modal -->
  267. <div class="modal fade" id="charts" tabindex="-1" role="dialog" aria-labelledby="charts" aria-hidden="true">
  268. <div class="modal-dialog modal-lg" role="document">
  269. <div class="modal-content">
  270. <div class="modal-body">
  271. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  272. <div class="chart">
  273. </div>
  274. </div>
  275. </div>
  276. </div>
  277. </div>
  278. <!-- END Charts Modal -->
  279. <!-- START Info Modal -->
  280. <div class="modal fade" id="about" tabindex="-1" role="dialog" aria-labelledby="about" aria-hidden="true">
  281. <div class="modal-dialog" role="document">
  282. <div class="modal-content">
  283. <div class="modal-header">
  284. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  285. <h4 class="modal-title" id="about">About</h4>
  286. </div>
  287. <div class="modal-body">
  288. <p><b>Daveo Radio</b> is just a little place I can share and talk about some music with friends. I started toying around with different streaming servers and I am using an Icecast streaming media server I’ve set up. This page is powered by Linode, Node.js, Express, Socket.io, and Icecast-kh.</p> <p>I enjoy listening to music and I spent quite a bit of time doing so. I’ve gone entirely digital in recent years. I sold my collection of albums years ago and I donated my CD collection to a music student at Vanderbilt. I now have a collection of about 100,000 files that I keep on a networked hard drive. I do pay for ad-free streaming services, but I agree with artists who want a better revenue model from streaming. The analog/digital debate is null in my opinion. I use Polk in my living room and Klipsch in my office. In the car, I most often use playlists I’ve created and I rarely tune into a radio or satellite stations even though I have service. On occasion, at home I like to tune into terrestrial stations that stream to help find new music, but I’ve found almost all of the robot mixes from the big streaming providers unsatisfying.</p>
  289. </div>
  290. </div>
  291. </div>
  292. </div>
  293. <!-- END Info Modal -->
  294. <!-- START Help Modal -->
  295. <div class="modal fade" id="help" tabindex="-1" role="dialog" aria-labelledby="help" aria-hidden="true">
  296. <div class="modal-dialog" role="document">
  297. <div class="modal-content">
  298. <div class="modal-header">
  299. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  300. <h4 class="modal-title" id="about">About</h4>
  301. </div>
  302. <div class="modal-body">
  303. <p><b>Daveo Radio</b> is just a little place I can share and talk about some music with friends. I started toying around with different streaming servers and I am using an Icecast streaming media server I’ve set up. This page is powered by Linode, Node.js, Express, Socket.io, and Icecast-kh.</p> <p>I enjoy listening to music and I spent quite a bit of time doing so. I’ve gone entirely digital in recent years. I sold my collection of albums years ago and I donated my CD collection to a music student at Vanderbilt. I now have a collection of about 100,000 files that I keep on a networked hard drive. I do pay for ad-free streaming services, but I agree with artists who want a better revenue model from streaming. The analog/digital debate is null in my opinion. I use Polk in my living room and Klipsch in my office. In the car, I most often use playlists I’ve created and I rarely tune into a radio or satellite stations even though I have service. On occasion, at home I like to tune into terrestrial stations that stream to help find new music, but I’ve found almost all of the robot mixes from the big streaming providers unsatisfying.</p>
  304. </div>
  305. <div class="modal-footer">
  306. <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  307. </div>
  308. </div>
  309. </div>
  310. </div>
  311. <!-- END Help Modal -->
  312. <!-- START Support Modal -->
  313. <div class="modal fade" id="support" tabindex="-1" role="dialog" aria-labelledby="support" aria-hidden="true">
  314. <div class="modal-dialog" role="document">
  315. <div class="modal-content">
  316. <div class="modal-header">
  317. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  318. <h4 class="modal-title" id="about">About</h4>
  319. </div>
  320. <div class="modal-body">
  321. <p><b>Daveo Radio</b> is just a little place I can share and talk about some music with friends. I started toying around with different streaming servers and I am using an Icecast streaming media server I’ve set up. This page is powered by Linode, Node.js, Express, Socket.io, and Icecast-kh.</p> <p>I enjoy listening to music and I spent quite a bit of time doing so. I’ve gone entirely digital in recent years. I sold my collection of albums years ago and I donated my CD collection to a music student at Vanderbilt. I now have a collection of about 100,000 files that I keep on a networked hard drive. I do pay for ad-free streaming services, but I agree with artists who want a better revenue model from streaming. The analog/digital debate is null in my opinion. I use Polk in my living room and Klipsch in my office. In the car, I most often use playlists I’ve created and I rarely tune into a radio or satellite stations even though I have service. On occasion, at home I like to tune into terrestrial stations that stream to help find new music, but I’ve found almost all of the robot mixes from the big streaming providers unsatisfying.</p>
  322. </div>
  323. <div class="modal-footer">
  324. <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  325. </div>
  326. </div>
  327. </div>
  328. </div>
  329. <!-- END Support Modal -->
  330. <footer class="site-footer">
  331. </footer>
  332. <script src="js/vendor.min.js"></script>
  333. <script src="/socket.io/socket.io.js"></script>
  334. <script src="js/radio.min.js"></script>
  335. <script>
  336. var _paq = _paq || [];
  337. _paq.push(['trackPageView']);
  338. _paq.push(['enableLinkTracking']);
  339. (function() {
  340. var u="//davidawindham.com/wik/";
  341. _paq.push(['setTrackerUrl', u+'piwik.php']);
  342. _paq.push(['setSiteId', 1]);
  343. var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  344. g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  345. })();
  346. </script>
  347. <noscript><p><img src="//davidawindham.com/wik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
  348. </body>
  349. </html>