# Mac TiVo Desktop 1.9.3, Intel Macs, and playing AAC files...



## Dennis Wilkinson (Sep 24, 2001)

As many Mac users know, there is an unsupported feature in TiVo Desktop for Mac that allows unprotected AAC files (and a few other audio codecs) to be played on your TiVo, in addition to MP3s, by installing LAME. See this post or this post for more detail.

With TiVo Desktop 1.9.3, they also added a Universal Binary build. On PowerPC, the "install LAME to play AACs" trick continues to work just fine. On Intel, however, it appears that TiVo's SoundConverter application gets the byte order wrong along the way, resulting in those AACs playing back as static.

I've put together a little workaround. The file attached to this thread is a little AppleScript applet that will, when run, tweak an existing LAME install to force byteswapping. If you run it again, it will offer to uninstall the tweak. (Disclaimer: I've only tested the applet on 10.4.5 on PowerPC, but it's not doing anything especially tricky. No guarantees expressed or implied, yadda yadda.)

To use this, you should:
- stop TiVo Desktop
- install LAME
- run the attached script
- start TiVo Desktop

The LAME executable linked to in the earlier thread has a nice installer, but isn't universal (it should work, but will likely use more CPU than necessary.) There is a universal build of LAME available at http://www.rarewares.com/mp3.html, specifically this file) but it has to be installed by hand in /usr/local/bin.

What does this do? Well, because TiVo Desktop only looks for LAME in some fixed locations, this renames /usr/local/bin/lame to /usr/local/bin/reallame and puts a script that invokes reallame with the -x (byteswap) option in its place. If the only thing you use LAME for is TiVo Desktop, then you probably don't need to worry about anything else. If you do use LAME for other things, this may or may not impact those other things adversely, depending on how LAME is being used (not all things that use LAME use /usr/local/bin/lame - many Mac tools that use LAME use their own custom install that lives elsewhere on the disk).

Hope someone finds this useful.


----------



## dcjanes (Jul 4, 2006)

This appears to be the fix I need, but like almost everything else that has to do with Tivo and the Mac it doesn't appear to be easy. Namely Tivo's BBS software tells me I am not allowed to download the file. Am I doing something wrong?


----------



## Dennis Wilkinson (Sep 24, 2001)

dcjanes said:


> This appears to be the fix I need, but like almost everything else that has to do with Tivo and the Mac it doesn't appear to be easy. Namely Tivo's BBS software tells me I am not allowed to download the file. Am I doing something wrong?


TiVo's BBS software? You mean the forum software here? (Keep in mind that TiVo itself doesn't own/run these forums, David Bott does.) If so, were you registered when you attempted to download it?

I ask because there are a number of things that work only if you are registered (like posting) and a few things that work only after you have the right minimum number of posts (posting links, for example, requires 5 posts minimum at this writing.) Many of these restrictions are designed to help prevent outright spam from being posted here; running a small set of forums myself elsewhere, keeping the spam bots at bay is no small task.

I'd give it a try again now that you've registered. If you still can't download it, drop me a PM with your regular email address and I'll be glad to pass it along via email.


----------



## ChadM (Jul 17, 2006)

Dennis Wilkinson said:


> As many Mac users know, there is an unsupported feature in TiVo Desktop for Mac that allows unprotected AAC files (and a few other audio codecs) to be played on your TiVo, in addition to MP3s, by installing LAME.
> 
> Hope someone finds this useful.


Sorry, but I cannot seem to get AAC playback. I have a Mac PB G4 running 10.4.7 and a TiVo Dual Tuner. I followed your instructions and installed LAME. Then ran your fix and restarted the TiVo Desktop Server. I can see the AAC music files on the TiVo (which I couldn't until LAME installed), but when I play them they just get skipped like there is no data.

Any suggestions?


----------



## Dennis Wilkinson (Sep 24, 2001)

ChadM said:


> Sorry, but I cannot seem to get AAC playback. I have a Mac PB G4 running 10.4.7 and a TiVo Dual Tuner. I followed your instructions and installed LAME. Then ran your fix and restarted the TiVo Desktop Server. I can see the AAC music files on the TiVo (which I couldn't until LAME installed), but when I play them they just get skipped like there is no data.


If you're on a PowerBook G4, there's no need for the fix in the first post here (you won't have the byteswapping problem -- that's an Intel thing.) You just need to install a good PowerPC build of LAME (like this one) and you should be all set.

Re-run the AppleScript to remove the byteswapping fix -- that might fix your problem, if the LAME you installed was a Universal Binary. If not, then re-install LAME.

It's also worth noting again that this doesn't handle "protected" AAC (i.e. DRMed songs bought from the iTunes Music Store), only AAC you've ripped yourself.


----------



## ChadM (Jul 17, 2006)

Dennis Wilkinson said:


> If you're on a PowerBook G4, there's no need for the fix in the first post here (you won't have the byteswapping problem -- that's an Intel thing.) You just need to install a good PowerPC build of LAME (like this one) and you should be all set.
> 
> Re-run the AppleScript to remove the byteswapping fix -- that might fix your problem, if the LAME you installed was a Universal Binary. If not, then re-install LAME.
> 
> It's also worth noting again that this doesn't handle "protected" AAC (i.e. DRMed songs bought from the iTunes Music Store), only AAC you've ripped yourself.


No luck. Same issue. Skips through all the songs. Will still play mp3 file types. Such a bummer. I reinstalled LAME too using the link you provided. No change.


----------



## Dennis Wilkinson (Sep 24, 2001)

ChadM said:


> No luck. Same issue. Skips through all the songs. Will still play mp3 file types. Such a bummer. I reinstalled LAME too using the link you provided. No change.


I vaguely recall something like this happening to someone else, so you might try poking at the archives a bit to see if you can find an older thread. I'll probably do that myself later tonight -- if I manage to dust off the relevant gray matter, I'll post again.

In the meantime, you could try turning on logging. Open System Preferences, and click on the Tivo Desktop icon while holding down the option key. This will display a few logging options at the bottom. Turn logging on at level 20, and try again. The log should be output to /Library/Logs/TiVoDesktop.log (you should see that in the pref pane, too.) If you see anything suspicious related to your AAC files, post it here and I'll take a look.


----------



## Dennis Wilkinson (Sep 24, 2001)

ChadM -

I found one other person reporting an issue similar to yours, way back in the original thread about the "unsupport" for AAC in Mac TiVo Desktop. Unfortunately, as far as I could tell it was never resolved (we got as far as determining that a paramErr [-50] was being reported for the undocumented RegisterProcess call.) If you're having the same issue, one possibility I've seen mentioned is to force the app to be re-examined by Mac OS X's launch services. One way to do that is to stop the TiVo Desktop, open the Terminal application (in /Applications/Utilities) and enter the following commands:


```
touch "/Library/Application Support/TiVo/TiVoDesktop"
touch "/Library/Application Support/TiVo/SoundConvert"
```
then start the TiVo Desktop back up.

If that doesn't work, I'd still have a go at turning on logging as I describe in my last post, to see if we can't make this work for you.


----------



## ChadM (Jul 17, 2006)

Dennis-

Before I start I just wanted to thank you so much for your time. While I don't yet have it resolved, your assistance is greatly appreciated. It is a great thing that people such as yourself are so willing to help.

Now, back to the task at hand... I ran those lines of code in terminal at your suggestion. However I should note that I wasn't able to do it without first adding sudo to the beginning of the lines. Not a big deal, but thought I should mention it. That didn't seem to do the trick so I turned on logging as you suggested and this was some of the result (I'm unable to quote the log as this forum won't let me paste what it thinks are URLs):

22:41:42.928 iTunesContext: Rejected song because Song: format Protected AAC audio file not mp3 or convertible to mp3 (**This is repeated over and over**)
22:41:59.183 TiVoDesktopPrefs: loaded

It is saying "Protected AAC audio file" but it is in fact only an unprotected AAC file (.m4a not .m4p). Don't know if that is a standard error. Let me know if you have any other suggestions. Thanks!!


----------



## Dennis Wilkinson (Sep 24, 2001)

Glad you figured the sudo thing out on your own... I knew it was needed, guess I was tired when posting. 

Do you have any protected AAC in your library? The log lines you mention sound like the ones the TiVo Desktop will output when it's first starting up and scanning the library, not the ones it dumps when you actually request one of the songs it's advertising.

You should also check the System and Console logs to see if there's anything TiVo-related. If the failure isn't something that TiVo Desktop expects, it probably isn't logging it.


----------



## ChadM (Jul 17, 2006)

Yeah I do have Protected AAC files in my iTunes Library. What you are saying makes sense. I don't see anything mentioning TiVo in any logs except:

Jul 17 22:38:34 Chad-Miesens-Computer sudo: cmiesen : TTY=ttyp1 ; PWD=/Users/cmiesen ; USER=root ; COMMAND=/usr/bin/touch /Library/Application Support/TiVo/TiVoDesktop
Jul 17 22:38:45 Chad-Miesens-Computer sudo: cmiesen : TTY=ttyp1 ; PWD=/Users/cmiesen ; USER=root ; COMMAND=/usr/bin/touch /Library/Application Support/TiVo/SoundConvert

And those are just the commands that I entered. No other mentions that I can see.


----------



## Dennis Wilkinson (Sep 24, 2001)

You should also look for things related to the SoundConvert application (which is the helper app that TiVo Desktop uses to transcode). IIRC, the other mention that I saw was SoundConvert failing to launch LAME on its own (resulting in that RegisterProcess failure.)


----------



## ChadM (Jul 17, 2006)

Here is some more (don't know why these didn't come up when I searched previously). I found these in the console.log (I will try to post them in the next posting as I have to have 5 posts before I can insert "url" looking stuff):

Don't know if it is related to the web or to my TiVo device. Not seeing anything related to SoundConvert. Did a spotlight search for "TiVo" and "SoundConvert" and got nothing in the logs (don't know if I would anyway).


----------



## ChadM (Jul 17, 2006)

Here is the log data:

Jul 17 11:28:22 Chad-Miesens-Computer authexec: executing /System/Library/ScriptingAdditions/StandardAdditions.osax/Contents/MacOS/uid
Jul 17 11:28:22 Chad-Miesens-Computer authexec: executing /System/Library/ScriptingAdditions/StandardAdditions.osax/Contents/MacOS/uid
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
RegisterProcess failed (error = -50)
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at com.tivo.calypso.CalypsoHTTPServer.handleDocument(CalypsoHTTPServer.java:836)
at com.tivo.calypso.CalypsoHTTPServer.doTiVoRequest(CalypsoHTTPServer.java:869)
at com.tivo.calypso.CalypsoHTTPServer.handleRequest(CalypsoHTTPServer.java:177)
at com.tivo.calypso.CalypsoHTTPServer.run(CalypsoHTTPServer.java:74)
at java.lang.Thread.run(Thread.java:613)
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at com.tivo.calypso.CalypsoHTTPServer.handleDocument(CalypsoHTTPServer.java:836)
at com.tivo.calypso.CalypsoHTTPServer.doTiVoRequest(CalypsoHTTPServer.java:869)
at com.tivo.calypso.CalypsoHTTPServer.handleRequest(CalypsoHTTPServer.java:177)
at com.tivo.calypso.CalypsoHTTPServer.run(CalypsoHTTPServer.java:74)
at java.lang.Thread.run(Thread.java:613)
(event handler):Can't find variable: poparmed
(event handler):Can't find variable: poparmed


----------



## Dennis Wilkinson (Sep 24, 2001)

Interesting. Looks like TiVo Desktop is losing its connection to the SoundConverter application. The "normal" logging for m4a-transcoded-on-the-fly, in TiVoDesktop.log, looks something like this:


```
13:45:28.174  HTTPServer.run: got new request
13:45:28.237  HTTPServer: New connection from localhost
13:45:28.237  URL: /TiVoConnect/uname_iTunes/Songs/8589973709
13:45:28.237  URL Base: /TiVoConnect/uname_iTunes/Songs/8589973709
13:45:28.238  URL Parameters: none
13:45:28.238  Song.getResponse: returning stream for '39
13:45:28.238  Song.handleConvertedSongFile: opening file for song '39
13:45:28.510  SoundConverter: user dennis and file /Users/uname/Music/iTunes/iTunes Music/Compilations/Killer Queen_ A Tribute To Queen/15 '39.m4a
13:46:26.797  SoundConverter.convert: EOF on pipe; done
13:46:26.926  SoundConverter.convert: ending gracefully
13:46:26.927  SoundConverter: closing gracefully
13:46:26.930  CalypsoHTTPServer.handleDocument: done sending stream for /TiVoConnect/uname_iTunes/Songs/8589973709
```
Try to play an AAC file from your TiVo, and see if you spot pieces of this pattern in the log. _Might_ help narrow down where this is happening (whether some of the conversion happens, or if it fails immediately.)

Also -- what version of QuickTime are you running? SoundConvert uses QuickTime under the hood to actually perform the conversion. Do the AAC files that fail on your TiVo also fail to open in QuickTime Player?


----------



## Dennis Wilkinson (Sep 24, 2001)

Aha! I knew I had seen someone who had figured this out (when the site search engine fails, Google it!)

Check out this post:

http://archive2.tivocommunity.com/tivo-vb/showthread.php?p=3055686&&#post3055686

In this case, somehow the wrong version of lame was being invoked (or possibly mixed binaries from 2 different versions) from the contents of /Library/Application Support/DivXNetworks/. A quick Google for that path shows things it contains as possibly being implicated in a number of crashes in a variety of applications. I'd note that I have DivX installed (for decode, not encode), do not have anything installed at that path, and don't have issues.


----------



## ChadM (Jul 17, 2006)

Here's what I have for one song (sorry it is so long, but don't know what is important):

11:07:19.753 HTTPServer: New connection from 192.168.1.105
11:07:19.753 URL: /TiVoConnect/cmiesen_iTunes/Artists/Anna%20Nalick/Wreck%20of%20the%20Day/2213926962
11:07:19.753 URL Base: /TiVoConnect/cmiesen_iTunes/Artists/Anna%20Nalick/Wreck%20of%20the%20Day/2213926962
11:07:19.753 URL Parameters: none
11:07:19.754 Song.getResponse: returning stream for Wreck of the Day
11:07:19.754 Song.handleConvertedSongFile: opening file for song Wreck of the Day
11:07:19.754 SoundConverter: user cmiesen and file /Users/cmiesen/Music/iTunes/iTunes Music/Anna Nalick/Wreck of the Day/11 Wreck of the Day.m4a
11:07:19.843 SoundConverter.convert: EOF on pipe; done
11:07:19.843 SoundConverter.convert: ending gracefully
11:07:19.843 SoundConverter: closing gracefully
11:07:19.845 CalypsoHTTPServer.handleDocument: done sending stream for /TiVoConnect/cmiesen_iTunes/Artists/Anna%20Nalick/Wreck%20of%20the%20Day/2213926962
11:07:20.037 HTTPServer.run: got new request
11:07:20.112 HTTPServer: New connection from 192.168.1.105
11:07:20.112 URL: /TiVoConnect?Command=QueryContainer&Container=%2Fcmiesen_iTunes%2FArtists%2FAnna%2520Nalick%2FWreck%2520of%2520the%2520Day&Recurse=No&Filter=audio%2F*&SortOrder=Type,Title&AnchorItem=%2FTiVoConnect%2Fcmiesen_iTunes%2FArtists%2FAnna%2520Nalick%2FWreck%2520of%2520the%2520Day%2F2213926962&ItemCount=1&Details=Optimal&Format=text%2Fxml
11:07:20.113 URL Base: /TiVoConnect
11:07:20.113 URL Parameters:
11:07:20.113 Command: QueryContainer
11:07:20.113 Filter: audio/*
11:07:20.113 ItemCount: 1
11:07:20.113 Container: /cmiesen_iTunes/Artists/Anna%20Nalick/Wreck%20of%20the%20Day
11:07:20.113 SortOrder: Type,Title
11:07:20.113 AnchorItem: /TiVoConnect/cmiesen_iTunes/Artists/Anna%20Nalick/Wreck%20of%20the%20Day/2213926962
11:07:20.113 Details: Optimal
11:07:20.113 Recurse: No
11:07:20.113 Format: text/xml
11:07:20.114 HTTPServer.itemize: level 0 with 2 items
11:07:20.114 HTTPServer.itemize: level 0 state 1 checking item at 0 with path: cmiesen_iPhoto
11:07:20.114 HTTPServer.itemize: checking path element cmiesen_iTunes against item cmiesen_iPhoto
11:07:20.114 HTTPServer.itemize: level 0 state 1 checking item at 1 with path: cmiesen_iTunes
11:07:20.114 HTTPServer.itemize: checking path element cmiesen_iTunes against item cmiesen_iTunes
11:07:20.114 HTTPServer.itemize: descending on path cmiesen_iTunes
11:07:20.114 HTTPServer.itemize: level 1 with 25 items
11:07:20.114 HTTPServer.itemize: level 1 state 1 checking item at 0 with path: Artists
11:07:20.114 HTTPServer.itemize: checking path element Artists against item Artists
11:07:20.114 HTTPServer.itemize: descending on path Artists
11:07:20.114 HTTPServer.itemize: level 2 with 380 items
11:07:20.114 HTTPServer.itemize: level 2 state 1 checking item at 0 with path: All Albums
11:07:20.114 HTTPServer.itemize: checking path element Anna Nalick against item All Albums
11:07:20.114 HTTPServer.itemize: level 2 state 1 checking item at 1 with path: 'N Sync
11:07:20.114 HTTPServer.itemize: checking path element Anna Nalick against item 'N Sync
11:07:20.114 HTTPServer.itemize: level 2 state 1 checking item at 2 with path: 3 Doors Down
11:07:20.114 HTTPServer.itemize: checking path element Anna Nalick against item 3 Doors Down
11:07:20.114 HTTPServer.itemize: level 2 state 1 checking item at 3 with path: 3 Of Hearts
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item 3 Of Hearts
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 4 with path: 311
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item 311
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 5 with path: 50 Cent
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item 50 Cent
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 6 with path: 98 Degrees
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item 98 Degrees
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 7 with path: A Tribe Called Quest
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item A Tribe Called Quest
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 8 with path: A.Willis
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item A.Willis
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 9 with path: Aaliyah
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item Aaliyah
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 10 with path: Aaron Neville
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item Aaron Neville
11:07:20.115 HTTPServer.itemize: level 2 state 1 checking item at 11 with path: Aaron Neville & Robbie Robertson
11:07:20.115 HTTPServer.itemize: checking path element Anna Nalick against item Aaron Neville & Robbie Robertson
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 12 with path: Adam Christianson (Mac Geek)
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Adam Christianson (Mac Geek)
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 13 with path: Aerosmith
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Aerosmith
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 14 with path: Aimee Mann
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Aimee Mann
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 15 with path: Al Green
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Al Green
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 16 with path: Alan Jackson & Jimmy Buffett
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Alan Jackson & Jimmy Buffett
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 17 with path: Alanis Morissette
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Alanis Morissette
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 18 with path: Alicia Keys
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Alicia Keys
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 19 with path: Alison Kraus
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Alison Kraus
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 20 with path: Alison Krauss
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Alison Krauss
11:07:20.116 HTTPServer.itemize: level 2 state 1 checking item at 21 with path: Amanda Marshall
11:07:20.116 HTTPServer.itemize: checking path element Anna Nalick against item Amanda Marshall
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 22 with path: Amos Lee
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Amos Lee
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 23 with path: Amy Grant
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Amy Grant
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 24 with path: Andy Griffith
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Andy Griffith
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 25 with path: Andy Williams
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Andy Williams
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 26 with path: Ani DiFranco
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Ani DiFranco
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 27 with path: Ann Margret
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Ann Margret
11:07:20.117 HTTPServer.itemize: level 2 state 1 checking item at 28 with path: Anna Nalick
11:07:20.117 HTTPServer.itemize: checking path element Anna Nalick against item Anna Nalick
11:07:20.117 HTTPServer.itemize: descending on path Anna Nalick
11:07:20.117 HTTPServer.itemize: level 3 with 2 items
11:07:20.117 HTTPServer.itemize: level 3 state 1 checking item at 0 with path: All
11:07:20.117 HTTPServer.itemize: checking path element Wreck of the Day against item All
11:07:20.117 HTTPServer.itemize: level 3 state 1 checking item at 1 with path: Wreck of the Day
11:07:20.118 HTTPServer.itemize: checking path element Wreck of the Day against item Wreck of the Day
11:07:20.118 HTTPServer.itemize: descending on path Wreck of the Day
11:07:20.118 HTTPServer.itemize: level 4 with 11 items
11:07:20.118 HTTPServer.itemize: level 4 state 1 checking item at 0 with path: 2986953218
11:07:20.118 com.tivo.iTunes.AlbumBrowse.printAsDetails: Wreck of the Day
11:07:20.118 HTTPServer.itemize: found container, switching to FindAnchor
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 0 with path: 2986953218
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 1 with path: 64270106
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 2 with path: 111619737
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 3 with path: 2449382840
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 4 with path: 2162401445
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 5 with path: 569346431
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 6 with path: 337508345
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 7 with path: 834656015
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 8 with path: 2300451636
11:07:20.118 HTTPServer.itemize: level 4 state 2 checking item at 9 with path: 424864027
11:07:20.119 HTTPServer.itemize: level 4 state 2 checking item at 10 with path: 2213926962
11:07:20.119 HTTPServer.itemize: found anchor, switching to Counting
11:07:20.119 HTTPServer.itemize: level 4 state 3 checking item at 10 with path: 2213926962
11:07:20.119 HTTPServer.itemize: found last item 10 on level 4 with path size 4
11:07:20.120 HTTPServer.itemize: level 4 last item; switching state to Done
11:07:20.121 HTTPServer.itemize: level 4 state 6 returning; i: 11 forward: true
11:07:20.121 HTTPServer.itemize: level 3 state 6 returning; i: 2 forward: true
11:07:20.121 HTTPServer.itemize: level 2 state 6 returning; i: 29 forward: true
11:07:20.121 HTTPServer.itemize: level 1 state 6 returning; i: 1 forward: true
11:07:20.121 HTTPServer.itemize: level 0 state 6 returning; i: 2 forward: true
11:07:20.121 HTTPServer.handleQueryContainer: returning 0 starting at 0
11:07:30.144 FilePoller: checking file /Library/Preferences/com.tivo.desktop with multiple 1
11:07:30.145 FilePoller: checking file /Users/cmiesen/Music/iTunes/iTunes Music Library.xml with multiple 6
11:07:45.145 FilePoller: checking file /Library/Preferences/com.tivo.desktop with multiple 1
11:08:00.146 FilePoller: checking file /Library/Preferences/com.tivo.desktop with multiple 1
11:08:15.146 FilePoller: checking file /Library/Preferences/com.tivo.desktop with multiple 1
11:08:30.147 FilePoller: checking file /Library/Preferences/com.tivo.desktop with multiple 1
11:08:45.147 FilePoller: checking file /Library/Preferences/com.tivo.desktop with multiple 1


----------



## ChadM (Jul 17, 2006)

Dennis Wilkinson said:


> Aha! I knew I had seen someone who had figured this out (when the site search engine fails, Google it!)
> 
> Check out this post:
> 
> ...


Just saw your post as I was posting. I'll check it out and let you know how it works out. Sounds promising!

*UPDATE* :

Just wanted to let you know that I removed DivXNetwork from the Application Support folder. No change.


----------



## Dennis Wilkinson (Sep 24, 2001)

I also double-checked the latest DivX installer from divx.com, and it no longer appears to install its own version of LAME.


----------



## ChadM (Jul 17, 2006)

Dennis Wilkinson said:


> I also double-checked the latest DivX installer from divx.com, and it no longer appears to install its own version of LAME.


Do you think I should try to uninstall DivX completely (remove all traces of it using Spotlight)? And then reinstall the new version? I'll give it a try.


----------



## ChadM (Jul 17, 2006)

I cheated and didn't uninstall DivX prior to installing the new version (getting tired and tons of other stuff to do). I then tried to play the unprotected AAC song on TiVo. Same log messages. it seems to be attempting the conversion, and says it has done so, but the stream "received" must not have any data. Don't know what to do. The log file I copied into this forum is for ONE song. It seems to be repeating though. I don't know. At a loss.


----------



## Dennis Wilkinson (Sep 24, 2001)

Have a look in /Library/Application Support/DivX for anything related to LAME, and delete it (the original post said that even the uninstall didn't clear it out.) Since the latest version doesn't install anything LAME related, this should be safe.

If it were me, I'd wipe all traces of DivX from the system, then install the new version.


----------



## ChadM (Jul 17, 2006)

Dennis Wilkinson said:


> Have a look in /Library/Application Support/DivX for anything related to LAME, and delete it (the original post said that even the uninstall didn't clear it out.) Since the latest version doesn't install anything LAME related, this should be safe.
> 
> If it were me, I'd wipe all traces of DivX from the system, then install the new version.


Did that and cleared out all DivX related material. Then restarted and reinstalled DivX from the website. Also the only references that I can find to LAME are in Apache and in /usr/local/bin. No changes in playback or TiVoDesktop.log.

What next?


----------



## Dennis Wilkinson (Sep 24, 2001)

You're finding references to LAME in Apache? Where? I certainly don't see that on my 10.4.7 install. You should also be seeing references to things like the LAME man page.

You could try moving lame from /usr/local/bin to /Library/Application Support/TiVo, in the hope that it will pick that up first. That should be as simple as the following command:


```
mv /usr/local/bin/lame "/Library/Application Support/TiVo/lame"
```
If that doesn't work, one other thing to try to try to use locate, which is a more-complete search-by-filename than Spotlight (Spotlight actually *doesn't* index everything.) Enter the following commands:


```
sudo periodic weekly
locate lame
```
the first will take a little while (several minutes) and report no progress. This is the simplest way to update the locate database, and will force it to be completely current. The second will find all the files that have 'lame' anywhere in the name. I'd be suspicious of any lame reference anywhere in /Library/Application Support/, since that's what seemed to cause the other poster's issue.

Needless to say, this type of issue is a little tough to debug remotely.


----------



## ChadM (Jul 17, 2006)

Dennis-

Again, I must thank you profusely for your patience and immense help!! Here is what locate brought up:

/Applications/JHymn.app/Contents/Resources/Java/lame
/Applications/Microsoft Office 2004/Templates/Presentations/Designs/Flame
/Applications/VLC.app/Contents/MacOS/lib/vlc_libtwolame.dylib
/Applications/X-Plane 8.20/Resources/bitmaps/world/fire/flame_burner_fast.png
/Applications/X-Plane 8.20/Resources/bitmaps/world/fire/flame_burner_slow.png
/Applications/X-Plane 8.20/Resources/bitmaps/world/fire/flame_rocket_liq.png
/Applications/X-Plane 8.20/Resources/bitmaps/world/fire/flame_rocket_sol.png
/Library/Application Support/TiVo/lame
/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/English.lproj/QCFlameImage.xml
/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/English.lproj/QCFlameImageUI.nib
/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/English.lproj/QCFlameImageUI.nib/classes.nib
/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/English.lproj/QCFlameImageUI.nib/info.nib
/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/English.lproj/QCFlameImageUI.nib/keyedobjects.nib
/usr/local/include/lame
/usr/local/include/lame/lame.h
/usr/local/lib/libmp3lame.0.0.0.dylib
/usr/local/lib/libmp3lame.0.dylib
/usr/local/lib/libmp3lame.a
/usr/local/lib/libmp3lame.dylib
/usr/local/lib/libmp3lame.la
/usr/local/man/man1/lame.1
/usr/local/share/doc/lame
/usr/local/share/doc/lame/html
/usr/local/share/doc/lame/html/basic.html
/usr/local/share/doc/lame/html/contributors.html
/usr/local/share/doc/lame/html/examples.html
/usr/local/share/doc/lame/html/history.html
/usr/local/share/doc/lame/html/id3.html
/usr/local/share/doc/lame/html/index.html
/usr/local/share/doc/lame/html/lame.css
/usr/local/share/doc/lame/html/modes.html
/usr/local/share/doc/lame/html/node6.html
/usr/local/share/doc/lame/html/presets.html
/usr/local/share/doc/lame/html/switchs.html
/usr/local/share/man/man1/lame.1


----------



## Dennis Wilkinson (Sep 24, 2001)

Should I take it that moving the LAME executable to /Library/Application Support/TiVo didn't do the trick, then? Did you restart the TiVo Desktop after the move?

The only other LAME install I see is in your JHymn installation. The rest all are either unrelated matches or support files for LAME itself (documentation, libraries, et cetera.) You could try temporarily uninstalling JHymn (or, alternately, just right-click/control-click on JHymn in the Finder, pick "Make Archive", then once the archive is made, delete JHymn -- easy to reverse that way, just open the archive to restore the app.) 

Note that I don't know exactly what's going on. I'm assuming this is still the same RegisterProcess issue at the end of the day, which has been reported in a number of contexts unrelated to TiVo and is usually a build issue, although whose build issue it might be in this case is less than clear (could be SoundConvert, TiVoDesktop, or even the launcher for JHymn.)


----------



## ChadM (Jul 17, 2006)

Dennis Wilkinson said:


> Also -- what version of QuickTime are you running? SoundConvert uses QuickTime under the hood to actually perform the conversion. Do the AAC files that fail on your TiVo also fail to open in QuickTime Player?


Forgot to mention this was Quicktime *Player* version 7.1.2 and I don't have issues playing AAC on it.


> Should I take it that moving the LAME executable to /Library/Application Support/TiVo didn't do the trick, then? Did you restart the TiVo Desktop after the move?


Yeah, that didn't do anything so far as I can tell.


> The only other LAME install I see is in your JHymn installation. The rest all are either unrelated matches or support files for LAME itself (documentation, libraries, et cetera.) You could try temporarily uninstalling JHymn (or, alternately, just right-click/control-click on JHymn in the Finder, pick "Make Archive", then once the archive is made, delete JHymn -- easy to reverse that way, just open the archive to restore the app.)


Tried that. No luck.


> Note that I don't know exactly what's going on. I'm assuming this is still the same RegisterProcess issue at the end of the day, which has been reported in a number of contexts unrelated to TiVo and is usually a build issue, although whose build issue it might be in this case is less than clear (could be SoundConvert, TiVoDesktop, or even the launcher for JHymn.)


I'm wondering if it would be helpful to remove lame (is that possible?) completely AND TiVo Desktop and install them again. Is that a reasonable suggestion? Perhaps I'm just going to have to wait until TiVo decides to officially support this feature on OSX before I get to listen to my AAC files on TiVo. As always, thank you, thank you, thank you!


----------



## Dennis Wilkinson (Sep 24, 2001)

ChadM said:


> I'm wondering if it would be helpful to remove lame (is that possible?) completely AND TiVo Desktop and install them again. Is that a reasonable suggestion? Perhaps I'm just going to have to wait until TiVo decides to officially support this feature on OSX before I get to listen to my AAC files on TiVo.


No harm in trying it. They're both pretty light installs. I don't know what LAME build you happen to be using, but I'm working with this one myself, and it's been working well (not obsessive enough to feel like I have to build it myself.)

It's a long shot, but since SoundConvert uses QuickTime, it's possible that some third-party codec is giving you problems. Those are usually installed in /Library/QuickTime. You can just drag them out onto your desktop to uninstall them. If that does fix things, and you really want to find the culprit, dragging them back one at a time until it breaks again should do the trick.



ChadM said:


> As always, thank you, thank you, thank you!


No problem!


----------



## MLWings19 (Dec 4, 2006)

Why doesn't Tivo just automatically include AAC playback? Any why the stripped down verison of Tivo Desktop for the Mac. They need to catch up. I have a feeling that when iTV comes out it will kick Tivo's butt.


----------



## llcooll (Aug 14, 2003)

Hey Dennis,

Thanks for this info and the script. I'm currently streaming AAC from my MacBook through my new HD Tivo. Mmm, HD Tivo. Life is good.


----------



## jessedylan (Oct 17, 2007)

Dennis Wilkinson said:


> As many Mac users know, there is an unsupported feature in TiVo Desktop for Mac that allows unprotected AAC files (and a few other audio codecs) to be played on your TiVo, in addition to MP3s, by installing LAME. See this post or this post for more detail.
> 
> I've put together a little workaround.


Thank you for this! I'm not comfortable in Terminal at all, so even this took some doing, but now it's working like a charm! THANK YOU THANK YOU THANK YOU!


----------



## ShoutingMan (Jan 6, 2008)

Another note of thanks  This got my Tivo to play iTunes songs from my MacBook Pro (intel, Leopard)


----------



## benlewis (Oct 5, 2005)

Thanks for this script - everything is working great! For anyone else attempting this, here's an overview of how someone who's not that comfortable in the command line got it working:

1) In the second "this post" link in Dennis' original post there's an installer script. I downloaded and ran it. It installed LAME in the correct place.
2) I then did a search on "mac universal lame" and found the latest Universal Binary of LAME. I downloaded it and replaced the original LAME executable with the updated version (use the "Go" menu in the Finder to get to the folder to do the replacement - it's a hidden folder).
3) I then ran Dennis' script and was off to the races.

Thanks!


----------



## mjrbb7 (Mar 22, 2008)

Worked like a charm on my 1st Gen Macbook!


----------



## kellermanns (Jan 24, 2012)

Ok, I admit - I've been lurking and this is my first post ...

I can not get this to work - all I get is static. I installed lame 3.98.3 (64 bit) on my Mac (10.7.2) and here is what I tried so far:

lame uncompressed.wav > test.mp3 - works
lame -x uncompressed.wav > test.mp3 - static
lame test.m4a > test.mp3 - Warning:Unsupported audio format
./SoundConvert -t0 -b 128 test.m4a > test.mp3 - static
Applied the "Force LAME Byteswapping" fix from this thread
./SoundConvert -t0 -b 128 test.m4a > test.mp3 - static

I'm running out of ideas ... the only lame I can find (locate) is the lame i'm using and "which lame" also points to the /usr/local/bin/lame. I even copied the bothlame and reallame to /Library/Application Support/TiVo/.

Any help is appreciated

*UPDATE*: I fixed it - needed the 32bit version of lame - working great now.


----------



## hargreae (Feb 23, 2005)

kellermanns said:


> I installed lame 3.98.3 (64 bit) on my Mac (10.7.2)
> *UPDATE*: I fixed it - needed the 32bit version of lame - working great now.


Are you saying you can successfully play your iTunes Library from your Intel Mac (running Lion) on your TiVo? 
Can you detail how you got this to work? I cannot find a solution.


----------

