Domain: macperl.org
Stories and comments across the archive that link to macperl.org.
Stories · 7
-
Review: QCast Tuner for PS2
With TiVo's release of the much anticipated Home Media Option (anticipated by me, anyway), I renewed my quest to find a way to integrate my computer's media files with my TV. TiVo's solution is not an option for me, because I don't have a Series2, and even if I did, the TiVo solution doesn't work with DirecTV units (for now, anyway). So I looked into something I saw a few months ago on ThinkGeek: QCast Tuner for PlayStation 2. QCast Tuner is software that plays audio, video, and image files from your computer to your network adapter-equipped PS2. There are two pieces to the software, the PS2 DVD and the computer software (on a separate CD), for Linux, Mac OS X, and Windows. I used the Mac OS X version, of course. There's a configuration utility to set up what you will share, and to what users/IP addresses. Then a separate program launches the server, which serves up the files and playlists. It's all written in Java, which means the UI stinks, but it seems to work well.It can handle many media formats; to me, the most important are MPEG-1, MP3, and JPEG. But it also handles DivX, MPEG-2 and MPEG-4, Ogg Vorbis, and PNG, and can be updated to handle other formats. But it doesn't handle the majority of my movie file archive, which are QuickTime, and that's a shame. And if you try to open a file it can't read (I changed some .mov files to .mpg, as it filters by name), it seems to hang.
I got the PS2 Network Adapter installed first, popped it onto the back of the machine, and ran the setup disk to configure it. Then I played a game of Madden 2003 online. I scored a touchdown on a tight end slant on the first play, then got one more play at the end of the half (a 30-yard reception to Troy Brown), and then didn't take another snap. Stupid 1-minute quarters. I lost 14-7.
Then I remembered I had this QCast Tuner thing, and I installed it on my PowerBook G3/500, where I keep my images, my MP3s, and my EyeTV recordings. It didn't take much to set it up, same as with the initial setup: I manually entered my IP address, router address, etc. and the IP address of the PowerBook G3. The software on the PowerBook updated and configured the PS2 software, and restarted it, and I was ready to go.
From the main screen you can elect to view pictures, or play music and video. I tried music first, where I had shared my iTunes directory, which has one directory per artist (except for compilations, which are in a separate directory). I have 293 directories in this directory, and there is no good way to skip to the bottom of the list; you can go one screen at a time, but that takes a little while. So I picked Ben Folds to start out with.
The user interface, apart from not handling long lists well, has several usability problems. To go up a directory, you select the ".." directory, which is something that Unix geeks know, but most PS2 users would expect to use the triangle button or something.
You cannot play songs from these lists, either; you need to add them to the playlist, then hit L1 to switch to the playlist, and then play from there. To get the ID3 tags to show up, you have to hit L1 again, and select that option (along with the shuffle and repeat options). And if you leave the playing screens (which makes the music stop, so you can't manage playlists while playing music) and come back, those options get reset.
You cannot get the time remaining of a song, and the UI doesn't show the full track name -- or track number -- if it is too large for the available space (it has trouble even with track "1/10", though "1/9" fits). And you can't scan forward or backward in a song or movie (which is often the case with streaming software), you can only pause, play, stop, and skip to another file.
To make it easier to find what you want to play, you can make playlists. Select the files you want to play in the interface, and save the playlist, which is stored on the server. I didn't want to do this for all my MP3s, but I had an easier solution: I wrote a small Perl script to create symlinks to my MP3 artist directories in other directories beginning with the first letter of the artist; and I share that directory of directories of symlinks instead. So instead of going down a list of 390 artists to get to Wesley Willis, I just select W, and he's right there.
My problem with EyeTV was greater: as noted in my review of EyeTV, the filenames bear no resemblance to the contents of the files, unlike the MP3s. But the solution I wrote for EyeTV was easily modified to serve me here, too. The playlists are just text files with the path (relative to the share point) on one line, and just the filename on the next line.
I thought I could change the filename line to be any arbitrary text (like "McLaughlin Group 2003.04.11") and have one playlist for all my EyeTV recordings, but that didn't have any effect; the display still showed the filename. So instead, I created multiple playlists, one for each program. So the playlist "EyeTV: McLaughlin Group" has paths for each McLaughlin Group recording I've got saved. It would have been nice to have an EyeTV playlist directory, instead of naming the playlists "EyeTV: ", but I could find no way to make nested playlists. If a playlist is not in the root playlist directory, it is not recognized as a playlist.
I can now watch the shows I used to have to watch on the computer, on the TV. It makes me feel kinda dirty, like it should have been on the TV all along. Oh well. And any changes to my music and TV recordings are regularly updated, as the two programs run via cron every half hour (and I can even begin watching a program that is currently recording).
QCast is bitten by the iTunes ID3 comment bug whereby data is stored with a frame header of "COM ", which is illegal. So QCast doesn't recognize any of the ID3 tag at all. I can't blame QCast for Apple's bug, especially since it bit my code too; this was the final straw that made me convert all my tags to ID3v2.2.0 (only v2.3.0 and v2.4.0 are affected). Maybe the QCast people can fix that problem when they add QuickTime support (he says hopefully).
The final issue I have is how to integrate it into my TV "experience." I don't want to have to turn on the PS2 and wait for it to boot every time I want to listen to music, so do I leave it on whenever I am around? And my system isn't set up to easily switch between PS2 and TiVo and DVD; my switch box has no remote, but does switch to a device that is turned on, which is nice for DVDs, but useless for when you leave the PS2 on all the time. I could plug the PS2 into the spare inputs on the VCR (which is on a separate input to the amplifier, and has its own button on the remote control), but that is kinda sloppy. And do I buy an IR remote control for the PS2? Is there an IR remote that can turn the PS2 off and on? These are problems mostly inherent in the design of using PS2 for multimedia, and there's not a lot I can do except to try to figure out ways to do things that work for me.
Basically, QCast Tuner is a nice idea, and it works well despite its UI and design flaws (some of which can be fixed on subsequent updates, I imagine), if you can fit it into your setup (or change your setup to suit it). I'm still undecided on using it long-term, but I am going to keep trying it out for awhile and see how it goes.
-
Review: QCast Tuner for PS2
With TiVo's release of the much anticipated Home Media Option (anticipated by me, anyway), I renewed my quest to find a way to integrate my computer's media files with my TV. TiVo's solution is not an option for me, because I don't have a Series2, and even if I did, the TiVo solution doesn't work with DirecTV units (for now, anyway). So I looked into something I saw a few months ago on ThinkGeek: QCast Tuner for PlayStation 2. QCast Tuner is software that plays audio, video, and image files from your computer to your network adapter-equipped PS2. There are two pieces to the software, the PS2 DVD and the computer software (on a separate CD), for Linux, Mac OS X, and Windows. I used the Mac OS X version, of course. There's a configuration utility to set up what you will share, and to what users/IP addresses. Then a separate program launches the server, which serves up the files and playlists. It's all written in Java, which means the UI stinks, but it seems to work well.It can handle many media formats; to me, the most important are MPEG-1, MP3, and JPEG. But it also handles DivX, MPEG-2 and MPEG-4, Ogg Vorbis, and PNG, and can be updated to handle other formats. But it doesn't handle the majority of my movie file archive, which are QuickTime, and that's a shame. And if you try to open a file it can't read (I changed some .mov files to .mpg, as it filters by name), it seems to hang.
I got the PS2 Network Adapter installed first, popped it onto the back of the machine, and ran the setup disk to configure it. Then I played a game of Madden 2003 online. I scored a touchdown on a tight end slant on the first play, then got one more play at the end of the half (a 30-yard reception to Troy Brown), and then didn't take another snap. Stupid 1-minute quarters. I lost 14-7.
Then I remembered I had this QCast Tuner thing, and I installed it on my PowerBook G3/500, where I keep my images, my MP3s, and my EyeTV recordings. It didn't take much to set it up, same as with the initial setup: I manually entered my IP address, router address, etc. and the IP address of the PowerBook G3. The software on the PowerBook updated and configured the PS2 software, and restarted it, and I was ready to go.
From the main screen you can elect to view pictures, or play music and video. I tried music first, where I had shared my iTunes directory, which has one directory per artist (except for compilations, which are in a separate directory). I have 293 directories in this directory, and there is no good way to skip to the bottom of the list; you can go one screen at a time, but that takes a little while. So I picked Ben Folds to start out with.
The user interface, apart from not handling long lists well, has several usability problems. To go up a directory, you select the ".." directory, which is something that Unix geeks know, but most PS2 users would expect to use the triangle button or something.
You cannot play songs from these lists, either; you need to add them to the playlist, then hit L1 to switch to the playlist, and then play from there. To get the ID3 tags to show up, you have to hit L1 again, and select that option (along with the shuffle and repeat options). And if you leave the playing screens (which makes the music stop, so you can't manage playlists while playing music) and come back, those options get reset.
You cannot get the time remaining of a song, and the UI doesn't show the full track name -- or track number -- if it is too large for the available space (it has trouble even with track "1/10", though "1/9" fits). And you can't scan forward or backward in a song or movie (which is often the case with streaming software), you can only pause, play, stop, and skip to another file.
To make it easier to find what you want to play, you can make playlists. Select the files you want to play in the interface, and save the playlist, which is stored on the server. I didn't want to do this for all my MP3s, but I had an easier solution: I wrote a small Perl script to create symlinks to my MP3 artist directories in other directories beginning with the first letter of the artist; and I share that directory of directories of symlinks instead. So instead of going down a list of 390 artists to get to Wesley Willis, I just select W, and he's right there.
My problem with EyeTV was greater: as noted in my review of EyeTV, the filenames bear no resemblance to the contents of the files, unlike the MP3s. But the solution I wrote for EyeTV was easily modified to serve me here, too. The playlists are just text files with the path (relative to the share point) on one line, and just the filename on the next line.
I thought I could change the filename line to be any arbitrary text (like "McLaughlin Group 2003.04.11") and have one playlist for all my EyeTV recordings, but that didn't have any effect; the display still showed the filename. So instead, I created multiple playlists, one for each program. So the playlist "EyeTV: McLaughlin Group" has paths for each McLaughlin Group recording I've got saved. It would have been nice to have an EyeTV playlist directory, instead of naming the playlists "EyeTV: ", but I could find no way to make nested playlists. If a playlist is not in the root playlist directory, it is not recognized as a playlist.
I can now watch the shows I used to have to watch on the computer, on the TV. It makes me feel kinda dirty, like it should have been on the TV all along. Oh well. And any changes to my music and TV recordings are regularly updated, as the two programs run via cron every half hour (and I can even begin watching a program that is currently recording).
QCast is bitten by the iTunes ID3 comment bug whereby data is stored with a frame header of "COM ", which is illegal. So QCast doesn't recognize any of the ID3 tag at all. I can't blame QCast for Apple's bug, especially since it bit my code too; this was the final straw that made me convert all my tags to ID3v2.2.0 (only v2.3.0 and v2.4.0 are affected). Maybe the QCast people can fix that problem when they add QuickTime support (he says hopefully).
The final issue I have is how to integrate it into my TV "experience." I don't want to have to turn on the PS2 and wait for it to boot every time I want to listen to music, so do I leave it on whenever I am around? And my system isn't set up to easily switch between PS2 and TiVo and DVD; my switch box has no remote, but does switch to a device that is turned on, which is nice for DVDs, but useless for when you leave the PS2 on all the time. I could plug the PS2 into the spare inputs on the VCR (which is on a separate input to the amplifier, and has its own button on the remote control), but that is kinda sloppy. And do I buy an IR remote control for the PS2? Is there an IR remote that can turn the PS2 off and on? These are problems mostly inherent in the design of using PS2 for multimedia, and there's not a lot I can do except to try to figure out ways to do things that work for me.
Basically, QCast Tuner is a nice idea, and it works well despite its UI and design flaws (some of which can be fixed on subsequent updates, I imagine), if you can fit it into your setup (or change your setup to suit it). I'm still undecided on using it long-term, but I am going to keep trying it out for awhile and see how it goes.
-
Virtual PC 6 Review
Connectix recently released version 6 of Virtual PC, the standard for emulating Windows on a Mac. With version 5, the main feature was Mac OS X compatibility. With version 6, the focus is on better performance and Mac integration. Now -- and this is the honest-to-goodness truth -- I have not seen an actual computer (only images on TV or in magazines) running native Windows in months. For the whole of 2003. I live a very good life. And I don't want to ruin it by running Windows on my Mac unless I have a need to.My Windows needs are few. I am a perl developer; I work on perl and release perl software. Occasionally, I want to test on Windows. Further, I am a Slash developer, and sometimes our users complain about certain bugs that only show up on certain browsers, so I want to test that on Windows too. And every once in awhile, there is some software I need that is Windows-only.
All of these needs are rare, but when I need them, I need them. Virtual PC has always been helpful to me for these purposes in the past, though it's been slow. So on to version 6.
The first thing I did was upgrade from version 5, and just play around. Everything is noticeably faster. Viewing multimedia is nicer, opening apps is quicker, moving around the filesystem is zippier (I am running out of adjectives here, bear with me).
I was overdue on some updates, so I ran the Windows Update app. They downloaded and installed much more quickly, though I still prefer to download via Mac OS X and drag the files over to Windows.
I updated Cygwin and ActiveState's Perl Development Kit and Komodo, which I use occasionally; they work fine, but are still too slow to be bearable for everyday use, but I would not want to use Windows for everyday use, so it's all good.
Now, on to the new features. Version 6 has a more refined interface for defining preferences and organizing multiple guest PCs (I've got Windows 95 and Windows 2000). You can now mount those PC disk images, which is nice, but only when the PC is shut down. Since I leave the PCs running all the time, to make startup faster (using the Save State feature), I never have much opportunity to mount the disk images. Although, when I did try to mount the Windows 95 PC (more than once), it crashed. It worked fine for the Windows 2000 image.
Another new step toward integration is the addition of some items for the Mac OS X Dock: a Start menu application, and the ability to place Windows applications in the Dock. The Start menu application is nifty; you get the Start menu from your Windows PC, but in the Dock instead. It's more responsive and looks better. The Windows applications in the Dock seems slightly less useful; clicking on them does not bring the application to the front, it only launches it (which I'd just as soon do from the Start menu).
Supposedly, there are some significant improvements to printing, including automatically detecting USB printers. My USB printer, however, is connected via Mac OS X printer sharing on another Mac, and so I can't print to it directly from Windows (at least, not that I could figure out). Instead, I need to print through the host Mac OS X from the Windows OS. Sounds simple enough, right?
To do this, I still needed to use the right driver for the printer, and it wasn't included with Windows, so I needed to install it. I downloaded the drivers from Canon's web site with a Mac browser, and just copied them to the Windows desktop. When I ran the installer, Windows reported an "access violation". Thinking that perhaps the file was not downloaded properly, I tried downloading it via Windows instead. It takes longer, but maybe it will work. But no, I got the same error. It's good to know that Virtual PC maintains the Windows Experience, that these problems weren't Virtual PC's fault.
I pulled out the CD that came with the printer and installed the (somewhat out of date) drivers from there; this time, it worked fine. But then, when I tried to print, and the Virtual PC app hung on "Printing page number: 1", with a spinning pinwheel and an unmoving progress bar. Force Quit was my only way out. I tried several times, as I did with mounting the Windows 95 image, and each time, it hung. When I would start Virtual PC again, I'd get the Print dialog, and try to print again, and it would hang. At least it's consistent.
I finally decided to give up on printing this way, and did direct printing. I plugged my printer directly into the computer, told Virtual PC to use that USB device for Windows, and Windows detected it automatically and set it up for me. After that, printing worked fine.
But, in fairness, none of these problems are related to my normal uses of Virtual PC, and if I really needed to accomplish the tasks of printing or mounting I'd probably be able to figure it out. I just didn't care enough, so I dropped it and moved on to more interesting things.
I have a Kyocera QCP 3035 cell phone. I am going to be on the road some this summer, so I wanted to use it as a modem for my PowerBook G4/867. I got the cable and the Mac OS X modem drivers and scripts (I had to email tech support to get them), and it works fine as a modem, but I also wanted to use the cable to upload contacts and ringers. The problem is, the Kyocera software is Windows-only. Virtual PC to the rescue?
I installed the Windows drivers and software and plugged in the cable. It took me a couple tries to figure out that I needed to select the cable in Virtual PC's Serial Ports preferences (assigned it to COM1), but when I did, the software recognized the phone and everything just worked. I uploaded ringers, I controlled the phone with the software. So now for the contacts.
I converted my contacts from the Mac OS X Address Book vCard export to a CSV file the Kyocera software could read. I dragged the file from the Mac OS X desktop to the Windows desktop. I imported the file into the Kyocera software and synched it with the phone. It worked. There's not much else to say here, which is about the highest praise I could heap on the test.
I was also thinking about using some Windows software I have to control my motorized Meade telescope; but frankly, if I am going to be investing the time into getting the cable and setting it all up to use software like that, I'd rather spend the extra money to get the Mac version of the software. It'd be much better to use.
All in all, Virtual PC does what -- for me -- it should. I can run perl and various web browsers for testing; I can communicate with serial devices; I can even play Windows-only multimedia files.
For completeness, I was going to play around with Bochs, but after reading various reader reviews bemoaning poor performance, and not being able to find straightforward instructions, I gave up.
You may recall, gentle reader, that Microsoft has purchased Virtual PC from Connectix. Does that mean people should invest more into Bochs, or look for alternate solutions? Will Virtual PC mean the end of Office for Mac? I don't really know; but as I am not a Windows user, I don't really care, as long as I can keep using the very few Windows products I need.
-
Review: EyeTV
EyeTV from El Gato Software is a USB peripheral housing an MPEG-1 encoder, a TV tuner, and coaxial and RCA inputs, and accompanying Mac OS X software to operate the tuner and record and playback programs, saving the data to your local hard drive. In less geeky terms, it is a digital video recorder for your Mac. Boffo. OK, there's nothing exactly unique about a DVR for your computer. But this one is made for Mac OS X, and it works with any Mac OS X box that has USB.I've been using it for a couple of months now. I schedule it to record The Daily Show four nights a week, along with all my Sunday political shows, so I can watch (er, listen to) them as I work. I turn the news on in the middle of the day. I watch hockey games while I am working late. And because I have a big ol' 160GB FireWire hard drive, I can save a lot of programs without worrying about deleting (one hour takes 650MB at standard/VCD quality, and 1.3GB at high quality). And if I have Toast, I can burn VCDs directly from EyeTV for posterity.
The performance is fine. Because the MPEG encoder is in the EyeTV box, most of the performance drag is where it has to be: playing back movie files, and writing them to disk. I keep EyeTV hooked up to my house file/web server (a PowerBook G3/500 which also serves as MP3/CD/DVD player and -- now -- television), and when I go on the road, I merely copy a bunch of programs to my laptop. Warning: watching Trigger Happy TV on the subway can be a bit dangerous; people think the abandoned aluminum foil hat under the bench belongs to you.
To view a recording on another computer, you Save to QuickTime Movie from EyeTV, or you can install another copy of the EyeTV software on another computer, and copy the EyeTV files over.
If you want to copy individual recordings, either bypassing Save to QuickTime Movie (the movies will play just fine in QuickTime Player), or copying selected recordings to your other EyeTV folder (instead of all of them), it can be difficult to locate the right files: the filenames don't really tell you anything about what's inside. So, I wrote a command-line utility to search the recordings.
Also, it is difficult, but not impossible, to edit programs. QuickTime tools don't allow for editing MPEG-1. You can "export to QuickTime", but you won't be able to edit the resulting file. What you'll need to do is demux (I use bbDEMUX) the file into separate audio and video streams, then convert the streams and merge them back together.
I convert the demuxed audio to AIFF with SoundApp (under Classic) and then put that file in the same directory as the demuxed video, one called "movie.aiff" and the other "movie.m1v", and when I open the video in QuickTime Player, it merges them together automatically (a nice time-saver). Then I export it to MPEG-4 format. This process can be very tedious, and is prone to failure for large files, but it can be done.
I did have problems for awhile with EyeTV not saving recordings. I had set my drive to spin down, and EyeTV wouldn't properly spin it up; I changed my Energy Saver prefs to not sleep the disk whenever possible, and the problem was solved. There are some other minor glitches: for instance, the software allows the screen to dim and screen savers to come on during playback, and there is the occasional crash (which happens less with the latest release of the software). Also, as the resolution is 352x240 (regardless of quality setting), I don't want to use it to watch programs that demand high resolution. I'll record those on the DirecTiVo.
But really, the only serious problem I have had with EyeTV is the scheduling. You can use the TitanTV service via a web browser, which is a nice idea, but it is often incredibly slow, such that finding the program and manually adding it can be less frustrating, if not faster, than going through the browser.
The service has improved recently, so maybe it won't be much of an issue anymore for some people, but for me, a better solution is Karelia's Watson, which is similar to Apple's Sherlock, but better in most respects (more and mostly better tools, and faster). The new version of Watson (1.6, released Tuesday) has new buttons in the TV Listings tool, one for "watch," one for "record," and even one for adding the program to iCal. I use Watson to quickly find the program I want, I hit the right button, and EyeTV is ready to go. You can't beat that with a stick, although it will cost you another $29 for the privilege, if for some insane reason you've not yet purchased Watson.
I also use EyeTV to digitize other video sources; you can play back something from your TiVo or VCR and record a copy to take with you on your next trip. I have a Meade telescope with an electronic eyepiece, so I can record the moon. Mmmmmm, moon.
EyeTV isn't perfect; the software could use some improvement, it could be easier to convert to an editable file format, and the resolution could be better (which will require updated hardware, perhaps using FireWire). In the meantime, I could live without EyeTV, but I wouldn't want to. It's a nice device to have.
-
New Cocoa/Perl Bridge Released
bsartist writes "I've released the first version of a Cocoa/Perl bridge that I call CamelBones. It's alpha-quality but functional enough for the example application, a POD reader similar to MacPerl's Shuck, to be written entirely in Perl." There are other projects like this that have been started, though this is the first one I've seen (since the Rhapsody days, anyway) that has code available. -
MacPerl 5.6.1 Released
pudge (apple.slashdot.org editor and MacPerl Maintainer) writes "MacPerl 5.6.1r1 is the first release of MacPerl in four years. It is now based on perl 5.6.1 -- actually on the latest unreleased 5.6 sources, so MacPerl is the most advanced release of perl ever -- and support for MacPerl is now in the perl core, for both 5.6 and 5.8. MacPerl can also be built entirely with freely available software. And, like its predecessor, it runs on Mac OS X under the Classic environment. Read the announcement, and see macperldelta for details on what's changed." -
MacPerl 5.6.1 Released
pudge (apple.slashdot.org editor and MacPerl Maintainer) writes "MacPerl 5.6.1r1 is the first release of MacPerl in four years. It is now based on perl 5.6.1 -- actually on the latest unreleased 5.6 sources, so MacPerl is the most advanced release of perl ever -- and support for MacPerl is now in the perl core, for both 5.6 and 5.8. MacPerl can also be built entirely with freely available software. And, like its predecessor, it runs on Mac OS X under the Classic environment. Read the announcement, and see macperldelta for details on what's changed."