July 14 @ 8:52 a.m.
Written by: Adam Olsen
(synic)
I downloaded the new iPhone software last Friday after my coworker informed me that there was a "Pandora Radio" application available on the AppStore. Internet radio on your phone? No brainer, had to have it.
After getting everything updated and installing the app, I was also delighted to see that it worked decently on EDGE. However, once I got into my car and tried to listen to some "Shiloh Radio" on the way home from work, I was disappointed once I realized that the usual interference that I get if I don't put the phone on "Airplane Mode" was there, only a lot worse because, obviously, internet radio requires constant streaming from the data network.
Over the weekend, I waited in the Apple Store line, and purchased the new 3G iPhone. There are lots of reasons that I decided to do this, but the real one is "I like to waste my money on cool gadgets"; the other reasons are mostly just justification of this one.
Yeah, it's got built in GPS. The speakers are better. The battery lasts longer (at least, longer than my old iPhone, which probably has a pretty weak battery at this point). 3G is pretty cool, though not *that* much faster than EDGE. The real kicker: I tried Pandora in my car on the way to work this morning just for the hell of it. Absolutely no interference. I haven't determined if this is because of the new phone case design, or the 3G network itself. In addition to this, I noticed there is a new Last.FM app in the AppStore!
The iPhone has it's flaws (one of my major complaints is that there is still no non-annoying way to send and receive MMS), but seriously, who cares if you can get internet radio in your car from your phone.
I may update with a more comprehensive review of the new iPhone, that is, if I find that the differences between it and it's predecessor are worth mentioning.
I downloaded the new iPhone software last Friday after my coworker informed me that there was a "Pandora Radio" application available on the AppStore. Internet radio on your phone? No brainer, had to have it.
After getting everything updated and installing the app, I was also delighted to see that it worked decently on EDGE. However, once I got into my car and tried to listen to some "Shiloh Radio" on the way home from work, I was disappointed once I realized that the usual interference that I get if I don't put the phone on "Airplane Mode" was there, only a lot worse because, obviously, internet radio requires constant streaming from the data network.
Over the weekend, I waited in the Apple Store line, and purchased the new 3G iPhone. There are lots of reasons that I decided to do this, but the real one is "I like to waste my money on cool gadgets"; the other reasons are mostly just justification of this one.
Yeah, it's got built in GPS. The speakers are better. The battery lasts longer (at least, longer than my old iPhone, which probably has a pretty weak battery at this point). 3G is pretty cool, though not *that* much faster than EDGE. The real kicker: I tried Pandora in my car on the way to work this morning just for the hell of it. Absolutely no interference. I haven't determined if this is because of the new phone case design, or the 3G network itself. In addition to this, I noticed there is a new Last.FM app in the AppStore!
The iPhone has it's flaws (one of my major complaints is that there is still no non-annoying way to send and receive MMS), but seriously, who cares if you can get internet radio in your car from your phone.
I may update with a more comprehensive review of the new iPhone, that is, if I find that the differences between it and it's predecessor are worth mentioning.
View 3
Comments
Filed under: Miscellaneous, Gadgets
June 7 @ 12:28 p.m.
Written by: Adam Olsen
(synic)
Exaile is currently undergoing an almost complete rewrite. Why? Because the codebase could be better. Recently, thanks to Aren Olson, the 0.3 branch has been taking off. Already the code is a lot better, and will be a lot easier to add things to in the future.
As of this writing, you can create a collection, based on different libraries (directories). For each one of these directories, you can set a rescan interval, and/or have the library be watched by pyinotify for changes. You can create playlists, smart playlists, play these playlists in order or shuffle and/or on repeat. I am currently using it as my default player.
However: none of this can be done using a gui yet. This can all be done easily by using Exaile 0.3's pretty good looking internal API. Here is an example:
Developing this way will make it much easier to add a gui (or even more than one type of gui. Someone could create a wxPython gui while we're creating the familiar pygtk gui).
We're also adding a test suite which should make for stabler releases once the first 0.3 release is ready.
If you'd like to track the status of 0.3 developing, you can watch this file: PLANNING. This is the planning document that we will be using until we're ready to start adding tickets to launchpad.
I'm excited, and if you're an Exaile fan, you should be too. Exaile 0.3 will be pretty awesome.
P.S. Thanks Aren :)
Exaile is currently undergoing an almost complete rewrite. Why? Because the codebase could be better. Recently, thanks to Aren Olson, the 0.3 branch has been taking off. Already the code is a lot better, and will be a lot easier to add things to in the future.
As of this writing, you can create a collection, based on different libraries (directories). For each one of these directories, you can set a rescan interval, and/or have the library be watched by pyinotify for changes. You can create playlists, smart playlists, play these playlists in order or shuffle and/or on repeat. I am currently using it as my default player.
However: none of this can be done using a gui yet. This can all be done easily by using Exaile 0.3's pretty good looking internal API. Here is an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/usr/bin/env python import exaile as ex from xl.playlists import Playlist from xl.collection import Library ex.main() exaile = ex.exaile # scan my music directory exaile.collection.add_library(Library("/home/synic/media/music")) exaile.rescan_libraries() # Create a playlist with the artist Thievery Corporation, but exclude anything # from the Versions album pl = Playlist() tracks = exaile.collection.search('artist=="Thievery Corporation" NOT ' 'album="Versions"') pl.add_tracks(tracks) pl.toggle_random() # I usually play my music on shuffle :) exaile.queue.set_current_playlist(pl) exaile.queue.next() # start playback of the playlist # ok, let's quit. This will save the collection to the database, settings, # etc. exaile.quit() |
Developing this way will make it much easier to add a gui (or even more than one type of gui. Someone could create a wxPython gui while we're creating the familiar pygtk gui).
We're also adding a test suite which should make for stabler releases once the first 0.3 release is ready.
If you'd like to track the status of 0.3 developing, you can watch this file: PLANNING. This is the planning document that we will be using until we're ready to start adding tickets to launchpad.
I'm excited, and if you're an Exaile fan, you should be too. Exaile 0.3 will be pretty awesome.
P.S. Thanks Aren :)
Filed under: Exaile, Programming
May 7 @ 9:45 a.m.
Written by: Adam Olsen
(synic)
I know, these blog posts are boring if you don't personally know the blogger, but I don't care, I'm blogging it anyway.
My daughter, Linden Paige Franklin, was born on May 5th, 2008. Yeah, I'm freakin' out a bit, but mostly I'm very excited. I was so glad to meet her. I only hope that I can be everything she needs me to be.
Plus, this post allows me to add some much needed color to my blog with this nifty little doohicky from Google's Picasa:
I know, these blog posts are boring if you don't personally know the blogger, but I don't care, I'm blogging it anyway.
My daughter, Linden Paige Franklin, was born on May 5th, 2008. Yeah, I'm freakin' out a bit, but mostly I'm very excited. I was so glad to meet her. I only hope that I can be everything she needs me to be.
Plus, this post allows me to add some much needed color to my blog with this nifty little doohicky from Google's Picasa:
Filed under: Miscellaneous
April 17 @ 10:12 a.m.
Written by: Adam Olsen
(synic)
A few versions ago, Exaile had Last.FM streaming support using LastFMSource - a pygst plugin created by Philippe Normand of Elisa. It worked... sort of. Every other time you tried to connect to LastFM station, Gstreamer would lock up entirely, taking Exaile out with it. Not being able to fix this problem, it was eventually removed from Exaile entirely.
Enter: LastFM Proxy. This is a program written in python created to connect to LastFM and start streaming the music to a proxy that you can connect to on your local machine using any music player that supports HTTP streaming.
After a bit of hacking (and really, this is some seriously hackish stuff), I've created a plugin for Exaile called "LastFM Radio" that (mostly) seemlessly integrates LastFMProxy into Exaile. To the user, it appears to just be a Radio Panel plugin like the current "Shoutcast Radio" plugin. The user just clicks on the station they want to listen to, and it starts playing. They can "Skip", "Ban", or "Love" tracks just like in the LastFM native player.
It still needs some work, but overall, I'm pretty pleased with how well it works. Give it a try!
Note: You must be using the latest bzr version of Exaile for this plugin to work. You can get instructions on doing that from Exaile's downloads page.
A few versions ago, Exaile had Last.FM streaming support using LastFMSource - a pygst plugin created by Philippe Normand of Elisa. It worked... sort of. Every other time you tried to connect to LastFM station, Gstreamer would lock up entirely, taking Exaile out with it. Not being able to fix this problem, it was eventually removed from Exaile entirely.
Enter: LastFM Proxy. This is a program written in python created to connect to LastFM and start streaming the music to a proxy that you can connect to on your local machine using any music player that supports HTTP streaming.
After a bit of hacking (and really, this is some seriously hackish stuff), I've created a plugin for Exaile called "LastFM Radio" that (mostly) seemlessly integrates LastFMProxy into Exaile. To the user, it appears to just be a Radio Panel plugin like the current "Shoutcast Radio" plugin. The user just clicks on the station they want to listen to, and it starts playing. They can "Skip", "Ban", or "Love" tracks just like in the LastFM native player.
It still needs some work, but overall, I'm pretty pleased with how well it works. Give it a try!
Note: You must be using the latest bzr version of Exaile for this plugin to work. You can get instructions on doing that from Exaile's downloads page.