Thursday, March 22, 2007

Successful Music Player in Ubuntu

Finally got a music player to actually play music on my Linux box! WooHoo!

For a while now, ever since I got an iPod shuffle for Christmas (2006) I have been trying to get my Edubuntu installation to be able to play music and manage my iPod. So far all attempts have failed.

Now the issue wasn't getting sound to work, that I know did work but only system sounds and video media players. Gnome's Totem and XFCE's Xfmedia was able to play my music, but they are video players, not music players. Gnome's Rhythmbox, Mono's Banshee and KDE's Amarok couldn't play music and the Listen and Exaile music players aren't in the repository for Dapper (6.06 LTS).

So, what happened? I'm not entirely sure. While looking through the media players I stumbled across a small entry in the Banshee's project website for getting Banshee for Ubuntu Dapper which referred to an alternate repository for more up-to-date Mono builds than Ubuntu's default, the badgerports.

Unfortunately the information on the Banshee website did not work, but they spoke of adding a website to the etc/apt/sources.list and I found much better directions going to the website they mentioned.

Once I ran the update, just like the Banshee website states;

"The above repository will upgrade about anything related to mono that ships with Ubuntu."


and upgrade it did, a lot of them. It didn't even include F-spot or Banshee (both Mono-based programs) which I didn't have installed on my system! Only Mono and Monodevelop were installed.

After upgrading everything, I figured I would give Banshee another shot since it would be the more up-to-date version of the program and the Mono framework. I also included mp3-fluendo (I think) in the upgrade.

Tinkering, I found out I had 2 Music folders and didn't have the RW rights to both of them while the program was looking in one place, and the currently imported files were looking in another and ... well it was just a mess.

I Removed the songs listed in Banshee and practically by accident I dragged my Music folder into the Banshee song list window and it imported them!

Not only did it import everything in that directory and sub-directories, but this time I could actually PLAY them! I'm not sure if this was the issue all along or not, but now I have my current music collection playable on my computer. Next step: the iPod.

Previously, Banshee never detected my iPod at all, let alone provide the ability to synchronize with it (Rhythmbox and Amarok detected the iPod at least). This time it detected it with no problems.

Seeing the option to export my music from my iPod onto my hard drive I figured I'd give it a try and was surprised that it worked!

To clean things up I deleted the entire music collection on the hard drive and re-exported everything from my iPod. This worked beautifully, and since the iPod has the most complete music collection I have digitized at this time it was a great way to clean things up!

Not only that, but as Banshee was playing the music I started seeing the album covers appearing for each song! Cool!

I ran out of time before I could finish testing, by adding a new CD to the music collection and then try and update the iPod but with the recent success I feel pretty good about this working.

Tuesday, March 13, 2007

Linux on the old Dell

First off, I finally got work's Cisco vpnclient running on Windows 2000 (formerly, only Gentoo was successful) which freed up the 20GB hard drive I am installing Linux on for playing around with.

I have given myself only a couple weeks before I move the Windows 2000 installation over to the 20GB hard drive so I can try and recover the data in the primary (80GB) hard drive after the partition tables were blown away last year.

CentOS
I started off with a Desktop installation of CentOS (RHEL) 4.3 with the KDE and minimal bells-and-whistles so that I could fool around with Yum and KDE's Yum repository.

I wanted to try a KDE-centric environment so I didn't install OpenOffice or even Firefox. Unfortunately, games don't come with the CentOS CDs.

Everything went off without a hitch and the whole system worked pretty smoothly. Once I got the phone numbers I could set up the Internet connection and surf the net.

Once I understood that I had to download the kde.repo file into my /etc/yum/repos.d/ directory I was pretty good to go. I also added Dag's Yum repository, but the script didn't want to run online so I downloaded the rpm file and ran it (# rpm -Uhv ...) locally without any problems. These, along with the default CentOS repositories, gave me a good starting collection to choose from.

One thing I noticed, though, was that Mono was a little behind. Dag has Mono-basic 1.0.6 while the latest version, 1.2.3, has much better VB.NET support and so for me is essential. Eventually I would have to look at seeing how to best manually download and install the Mono RPMs so it won't destabilize or cause problems with dependencies, but I won't have this system running that long to get into it at this time.

After a few days running Yum I actually kinda liked-it. It reminds me of my Gentoo days and seems to run fairly smoothly for my cursory overview. I am sure as time goes on I would find frustrating points with Yum but that is true for any system.

What got me, though, was that CentOS fails the video playback the same as all flavors of Ubuntu does, which would have been a major kudos and sticking point to stay with CentOS. So it seems if I want Linux on this box I will have to do some digging around to fix this.

Kubuntu

OK, after getting my feet wet with Yum, I was ready to try some more KDE fun. KOffice, KPim, Krita, Karbon, and more. With a dial-up internet connection, though, I was not about to start downloading all 116MB of packages (not including dependencies like Qt). Work does not look favorably on downloading anything and my USB key chain drive is only 64MB so I don't want to have to make 2-3 trips to the Library to use their systems.

The easiest way to "update" my KDE was to install Kubuntu 6.06 LTS from the CDs I had shipped to me for free (ShipIt!).

Kubuntu installs from a running LiveCD environment. Unfortunately the LiveCD makes use of any Linux swap partitions it finds on the hard drive. This may help make the system feel more responsive, but if you want to change anything with the partition scheme for that partition, you have to unmount it yourself. It would be nice if they let you know, or auto unmount it when you select to have Kubuntu installed on your entire hard disk. This took a few tries to figure it out.

When it was successfully installed it seemed nice enough. While the KDE is a little cleaner than CentOS, the Bluecurve theme still looked a little nicer than the default for Kubuntu.

When the installation is done, you have a fairly rounded desktop.. OpenOffice, Krita, Gwenview, Amarok, Digikam, etc. I've already fooled around with most of these so I didn't bother checking them out again yet. Eventually I want to test out Amarok with my iPod shuffle but first-things-first.

Time to get on the Internet! KPPP has worked fairly well for me even with RedHat/CentOS misconfigures my wvdial so that even in Gnome, KPPP works better.

To my dismay, I keep getting a KPPP Error Code 1 and no matter what I put into the password textbox it just doesn't want to connect! This is not good because without Internet connection, there are no program updates (install KOffice), no album information (Amarok) and no email (KPim)!

I will have to try again but if I cannot resolve this in the meantime, it puts a "nix" on my Linux testing.

Tuesday, March 06, 2007

I am such a wet noodle!

When it comes to computers I can be such a wet noodle at times and this usually gets me into trouble!

For the past 5 years or so I have been dabbling in Linux, and Linux offers some nice features which I have come to enjoy
  1. The Desktop Environment, or GUI (Gnome, KDE, Xfce, whatever), is different than Windows or the Mac OS. Personally, both of those environments are rather "blah", and don't offer much to get excited over.
  2. The package manager makes installing so easy and one-stop-shopping, the hard part is keeping from downloading everything under the sun! Practically everything you want to do, Linux has a program that does the equivalent.
  3. Most open source programs are updated fairly frequently and these updates are available at no cost. So I don't have to shell out money-after-money to keep a program up-to-date with the latest features. Plus it usually involves one or two command lines or clicks of the mouse to check and install available updates to ALL of your system's programs, even the ones you don't realize you use because it is called by some other programs and this one is only on the back-side.
On the other hand, though, most of my experience in programming is based off of VB, which is probably the least portable language into the Linux world.

In my current job I will be dealing with .NET (VB.NET and ASP.NET) and they have already sent me to a number of classes to learn the .NET platform (VB.NET, ASP.NET, ADO.NET, SQL Server and the MSF).

I look forward to getting some experience under my belt and with the availability of Visual Studio Express, I am able to also develop things in .NET at home (without forking over the $$$ for the full version of Visual Studio!) which will give me the chance to look into features and things that work may not be interested in.

At this stage, I need the help and "hand-holding" that Visual Studio provides, otherwise the Mono Project would give me the best of both worlds (.NET on Linux). Unfortunately their IDE, Monodevelop, isn't as polished or helpful as the Visual Studios are for new programmers, plus VB.NET and ASP.NET has not been strongly supported until recently which leaves more opportunities of something not working and not knowing if it is a short-coming of Mono or of my programming skills.

So for now, I lead a double-life. I live Windows to develop my experience with .NET programming (plus my wife is used to the Windows programs; Office, Photoshop, Publisher, etc.) and I use Linux for my "personal" computing.