YouTube Go

In 1985, newly employed with cash to spare, I splurged on a Yamaha CD-X2 CD player. This was long before CDs were established as the heir to vinyl, and at a time when the future of 8-track tapes was still an uncertainty. My first CD was a gift from my roommates - Supertramp’s Breakfeast in America. The last CD I purchased was Beth Gibbons and Rustin Man Out of Season in 2003. In that interval I did my part supporting the music industry by purchasing about 300 CDs which I still own, but rarely listen to.

Today, when interested in listening to music, I usually just call it up on YouTube. The problem is usually recalling the group or song name. To catalog my musical preferences, I wrote an R/Shiny app I call Youtube Go, in honor of Chardonnay Go. The App provides a quick way to add a URL to a “database”, and then query and launch YouTube with a mouse click.

The data file layout is very simple - comma separated values that could be pulled into LibreOffice Calc and edited if necessary.

music-database.csv
1
2
3
4
5
6
7
8
9

genre,artist,title,url
rock,Boston,More than a Feeling,https://www.youtube.com/watch?v=SSR6ZzjDZ94
guitar,David Bolshoy,Sueno en la Floresta,https://www.youtube.com/watch?v=1zyW4-m7L4c
new wave,Talk Talk,It’s my life,https://www.youtube.com/watch?v=5ixRWvrkUHo
summer,John Barry,Walkabout,https://www.youtube.com/watch?v=s5Mf--ykjEU
new wave,Peter Schilling,Major Tom,https://www.youtube.com/watch?v=N1Hs2AQwDgA
new wave,a ha ,Take on me,https://www.youtube.com/watch?v=djV11Xbc914

Here is a view of the query window:

As you come across old favorites or discover new artists, you can easily add the URL to the database through the add tab. Songs are catagorized by genre and artist. Then using the query tab, you can easily recall the song. Since the database is a plain text csv file, errors are easy to correct. To launch the software, create an executable shell script:

~/bin/music.sh
1
2
3
#!/bin/bash

R -e "shiny::runApp(appDir='/home/mbc/syncd/prog/shiny/music', launch.browser=TRUE)"

Code is available on GitHub. You must have R along with the shiny and DT packages installed.

Share