FINALLY! SOME UPDATES! This website is being reconstructed. Some content will go away soon. If you want to see my new stuff, visit my github:

June 10, 2012

Listen to the Music

So after the success of yesterday's tmux install, I've been thinking about figuring out how to play Last.FM remotely.

Now, I can't argue with the finesse of the Last.FM app for Android. Especially for tablets. It's one of my favorite apps and I use it often when I'm on the bus or riding my bike. (Wireless Headphones for the win!) Shell.FM is a good program for netbook users, even with the bug involving scrobbling, the process of which Last.FM finds new music that is of interest to the listener. It took me a while to get Shell-FM to be set up and I nearly gave up. But helped finally make it happen.

While I installed the required and suggested software like libmad, libao, CMake, and TagLib for local directories, the thing that apparently tripped me up every time was that libmad didn't create a pkgconfig file in the /lib/pkgconfig directory.

So after all that hassle, here's the script to get all of that installed and working.

Download this file!

Run it as follows.

$ chmod u+x
$ ./			# See the caption below.
$ shell-fm			# See the note below this figure.
Don't forget to make changes to the script before running it!

You'll probably need to run shell-fm once then exit with CTRL+C before you really start using it so that the ~/.shell-fm directory is established so that you can write ~/.shell-fm/shell-fm.rc. An example of that file is listed below.

username = yourusername
password = yourpassword
default-radio = lastfm://user/yourusername
An example of ~/.shell-fm/shell-fm.rc

Here's also the script from a couple of weeks ago for using shell-fm called lastfm

Download this file!

And here's an alias shortcut to create to use the lastfm script

alias lastfm='~/lastfm'
Add this alias command to ~/.bash_profile, also.

Of course, don't forget to rename that file and change the permissions before you add the alias.

At this point, everything is all set. Let's light this rocket!

$ ./lastfm 
Shell.FM v0.8, (C) 2006-2010 by Jonas Kramer
Published under the terms of the GNU General Public License (GPL).

Press ? for help.

Receiving ______'s Library Radio.
Now playing "Nursehellamentary" by Nursehella.
Unable to find any usable output device!
Playback stopped with an error.
Try to press Q next time you want to quit.
Well, you can't win them all.

So I guess the SSH server does have any device to forward output audio to the computer locally. This is still and issue yet to resolve. But over all, everything works like it should. I'm glad it works. I just need to forward the output device to my computer, if that is possible. (It should be possible.)

Before I wrap things up, I want to mention a couple of important items that may be helpful in the future.

Firstly, when you use tmux, you can scroll back lines using CTRL+B PGUP and use the arrow keys and PGUP and PGDN to scroll back through past window history. To leave this "scroll mode", just press ESC. This is ideal if you have split screens, if you've installed something and want to see the entire log, or if you need to scroll back and see what went wrong with a program you compiled.

The other item is just to show the ideal method of installing things from source. Generally this is done on separate lines, but if you have wget, tar, gzip, bzip2 and make, in a perfect situation all you would have to do is

cd ~/temp
wget && tar xvzf software-1.1.1.tar.gz
cd software-1.1.1
./configure && make && make install

However, as we have seen yesterday and in this post, it is not so simple especially if you need to set things up differently from the default method. The best software is designed the special cases. It's why there is a big trend in installing software on a remote location or device and being able to use it anywhere without any obstruction and without leaving a trace. I like to call this the "camping method" as when you go camping you should always leave you campsite as clean, if not cleaner, when you are done using it.



Under Construction