Adding Perian supported Filetypes to Quicktime X

13 10 2009

After I upgraded to Snow Leopard (10.6.1) I found that I was no longer able to play .mkv files amongst others in the nice new quicktime player that comes with it.
After the “Perian’s Type Installer” failed and I dont know enough Applescript to fix it :( I resorted to fixing it by hand.

I could still view the movies etc in Quicktime Player 7 which meant that the player had not been overwritten during the upgrade.

Ok lets cut to the chase….  open the info.plist  located at /Applications/Quicktime Player/Contents/info.plist

this contains all the filetypes that Quicktime Player will/can open.  We just have to add in the ones Perian adds support for.

Look right dow the bottom for the “Imported Type UTIs” array, if your editing the raw text the search for “UTImportedTypeDeclarations”.  Mine had only one type in it.

now paste the following inside that array, not inside the existing type.
Code Here

Save the file.
Note: you will probably have to give yourself write permissions to the Contents folder and the infor.plist file.

Open any .mkv file in quicktime Player X.

Apparently The Perian Devs are working on fixing this issue but until then this works fine.

Enjoy ;)





NSarray, NSDictionary and NSPopupButton dilemmas

13 10 2009

Well I thought I knew and understood bindings well enough to fix some things in Olearia.

Apparently Not!

In a nutshell in the prefs controller I created an array of Dictionaries each holding the name and the identifier of all the available voices on the system.  This would then be used to populate the popup button in the Voices panel of the prefs window.

It turned out that it was fairly simple but a bit obscure as to why it works the way it does.

I basically followed this post and changed the “name” and “value” identifiers in the bindings panel to the ones I used in my dicts. I also didnt need the set Method for the popup as this was also implemented through the User Defaults.

I am not sure why having the array controller implimented in code works as against binding the content of the array controller in IB to the actual array of the class but I’m not complaining ;)

More News on Olearia Coming soon….





Olearia Update Part 3

2 07 2009

I dont know what I should call these updates …..  by Date?  Part  xx?   Oh Well I will just have to see what fits when it comes time to do this again ;)

Olearia is now nearing 1.0! Yay finally!

so far we have

  • Playback for 2.02, 2002, 2005 books with audio Content
  • A new window showing the text content of the Book
  • a window displaying the information about the book.
  • Automatic playback via the SMIL file (finer grain control of the audio segments and their tags)
  • User navigation through the Control file (ncc.html, .ncx) of Levels and reading elements
  • Saving of current playback position

I know it doesnt sound all that different at this stage feature wise from the 0.9.5.1 release, but trust me this is a lot simpler to add a feature than the previous version was ever going to be!

Still to come

Sooner Rather than later

  • Fast Forward and rewind across audio segments (basically just transferring code from framework into the plugins ;)
  • Adding Support for Text only books
  • Support for BookShare and NIMAS formats.  (Currently they will open and information can be shown but no playback)
  • Along with the text only support will come over-ride of pre-recorded audio in full Audio+text books allowing the user to have the book read back to them with their choice of synthesized voice (great for books with synthesized audio that is not correctly pronounced)

Later Rather than Sooner

  • bookmarking and Go To functions (not sure how useful the Go To will be but time will tell)
  • possibly a structure window (Tree?) showing the table of Contents and allowing a user to choose a playback point  from there.
  • support for skippable items in the smil file
  • Ui Enhancements like a Path type browser showing the current location in the book.
  • Other UI enhancements like audio position tracking ala iTunes

Oh Yeah there will eventually be plugins available for Encrypted RFB&D Books and potentially ePub books to.  These will not be open source.

After All that (quite possibly before) there will be a port to the iPhone now that it has voiceover and zoom support.

Not too sure about the 2nd Gen iPod Touch as the 3.0 software for this does not have the accessibility side that I am aware of. (I still have yet to update to 3.0)

Well thats it for now.

Any body reading this that want to beta test (beta testers are always appreciated) can leave a comment noting this.

Ciao





Olearia Update 9/6

9 06 2009

Seeing as my contract finished and there has not been much on the job horizon I have had some time to spend on updating the core of Olearia.

So far I have implemented a full plugin style architecture which allows really easy adding of other formats via a set protocol.  I have managed to get the 5 standard book type to validate and load correctly via their individual plugins and get book info on each of them.

Navigation will probably be a simple matter of transferring most of the navpoint methods from 0.9.5.1 with minor adjustments for ivar changes in this new layout.

I am pretty happy with what I have achieved  so far. Most of it came from having a massive amount of down time while I was in hospital with my son for a week.

What else?….   ahh I have broken Olearia down into 3 separate projects, Olearia,  TalkingBook Framework and the standard plugins (2.02, 2002, 2005, Bookshare and NIMAS).

This was just an easier way of managing all the aspects of the projects themselvs and how they interact.  This should also make it easier for me to build a project for the iPhone/Touch which will be based on the framework.

More details will emerge as functionality is added.





New Media Centre Goodness… Ups and Downs

8 06 2009

I recently had a major failure of my dvd/divx player and so decided that as I was getting more and more annoyed with burning tv eps to re-writable discs that were beginning to fail.

So after doing some research and also liking my Apple products I decided to go for a Mac Mini 2009 model with an external M3 mini stack 1TB enclosure attached. I figured that this should keep the storage wolves at bay for a bit.

So off I went to my local Apple Reseller and ordered my new base model mini (they didn’t have one in stock which was my first annoyance) and as an added bonus from talking with the salesman about what I was going to use it for he threw in an extra Gig of RAM at no extra cost. This meant that as I had already budgeted for purchasing 4GB ram off ebay I could try out the 2 Gig and see if I really needed the extra.

After waiting for the whole weekend and following monday I got the call that my mini was in.

So I got it home and unpacked it as you do, and tried to connect it to my older VGA flat panel i have arount for just this purpose (setup and testing). Unfortunately all the DVI to VGA adapters did not seem to fit the supplied mini-DVI to DVI adaptor :(
Not to be stopped by this setback I decided to use VoiceOver to at least get the initial setup done so I could remote into it from my MacBook Pro.
As I have done this a few times with other blind users it was not really a problem, the hardest thing was navigating the system prefs to get remote management turned on!
Once that was done it all seemed pretty good. Nice to play with but couldnt do much even after installing PLEX.

Realising that I needed a mini DVI to VGA (for setup and testing) and a mini DVI to composite Video/s-video I went to bed and went back to the store the next day and got them (you can never have too many adaptors right ;) I also purchased a 1.5m headphone to RCA cable for the sound output (my DTS is an older Sony and doesn’t have Optical in)

Ok so all good. Now for the big test with the TV.
Connect it all up power up the mini, choose the right tv input and Nothing! just a black screen.
Disappointed by this development I tried a second set of cables on the front inputs of the tv. Same thing although I did notice that I had sound just no visual.
I even connected up the VGA monitor to check that I had not broken a connection. VGA works – TV Doesn’t :(

So I took the Mini-DVI to composite video adapter back to the shop and explained to the manager that I had a new mini and that the adapter was faulty. He took the adapter out the back and connected it to a macbook with an external screen and the damn thing worked. This really annoyed me and the manager was very helpful and even said that if I could not sort out the issue that he would be willing to sort me out with one of the previous models which did work correctly. He also said that he would give me my money back on the adapter should it prove that it was not suitable for the mini. I told him I would do some research and get back to him.

Later after reviewing several forums and articles about this exact issue with the mini I discovered that Apple had decided to drop analog Video support in the new Mini and so it only came with a mini DVI to DVI-D adaptor, which was why my DVI-I to VGA adapters didnt fit!
This put a real spanner in the works as my TV only had component or composite in, no s-video even :(
Further research revealed many different and expensive DVI-D to component/s-video or composite out.
I was not willing to pay for a commercial grade signal convertor just to watch tv!
On one of the posts someone noted that they had purchased an item similar to this
and it had worked fine.

I decided to bite the bullet and get one off ebay it cost about AUD $50 but that was way better than the >$1000 I was looking at for the commercial ones. A week later it turned up.
Connected it up and it works great. I now have a fully functioning media centre.
In the interim before I received the convertor I took the mini DVI to Composite video adapter back to the shop got my money back and told the manager of my discoveries about the output of the new mini, he was quite surprised as there was no notice from Apple that this model did not support Analog video.

All in all it turned out ok and I will be revisiting my M3 Ministack saga later

TTFN





Olearia update

22 03 2009

Ok so since I started work in early Janurary I have not had a lot of time to spend on Olearia but in anycase here are the new things that are in the pipeline.

  • Complete reworking of the control structure
  • Implementing a full plugin style architecture so new Book Formats can be added more easily
  • Additional notifications for books that fail the minimum requirements (ie badly mastered) and there are a lot. This will allow a given book that does not meet the loading requirements to be read/listened to.
  • reworking the main control code back to retain/release as the iPhone/iTouch does not do garbage collection.
  • A version for the iPhone/iTouch (Thanks to Apple for my new iPod Touch, Very inspiring)
  • Last but not least reading of text only books, basic daisy specs only. other variations such as NIMAS and Bookshare will come later as plugins.
  • These are by no means in order, just understand that things are busy righ now and they will get done when they get done.

    I know there are a lot of people using Olearia currently and I would appreciate some feedback as to ease of use, functionality, bugs, requests, anything at all to say that people are finding Olearia useful.

    Hopefully I will have some more news shortly





    Subversion 1.6, XCode 3.1.2 & Versions

    22 03 2009

    I saw recently that Subversion has been updated to Version 1.6.

    I decided to take the plunge and install it. lo and behold, it broke both XCode and Versions :(

    After reading the error descriptions of which there were a few from Xcode and Versions, it seems that the Collabnet installer DOES NOT update the symlinks in the /usr/lib folder to point at the new libraries it just installed :(

    so off to the terminal we go ……

    cd /usr/lib

    sudo rm libap*-1.dylib
    sudo rm libsvn*-1.dylib
    sudo rm libap*-1.0.dylib
    sudo rm libsvn*-1.0.dylib

    sudo ln -s /opt/subversion/lib/*-1.0.dylib .
    sudo ln -s /opt/subversion/lib/*-1.dylib .

    this should fix both Versions and XCode to work with the new Libraries.

    Happy Versioning

    EDIT: I have not encountered any problems so far but its early days yet ;)





    Subversion 1.5.4, Xcode 3.1.1 and Versions

    5 11 2008

    Well after trying to find a nicer looking client than SVNx ( dont get me wrong SVNx does a great job but its UI needs a bit of an overhaul) I found Versions

    I decided to try it out even though it is still a beta. And well going on first impressions it looks nice, is intuitive to use and the interface is laid out in an easy to understand manner.

    On looking at the preferences pane I saw that I was using Subversion 1.4.4 which gets installed when XCode does.  The only downside is that XCode installs the Subversion dylibs and executables in non standard locations.

    So after a bit of Google searching i found the 1.5.4 OS X universal installer package, Downloaded it and installed it. After checking the terminal for a version number it was still at 1.4.4 :( not what I was expecting.

    So off to google again. I found a handy little bunch of commands on one of the apple mailing lists which will move aside the 1.4.4 binaries and libs and link to the newly installed binaries.  This makes the integration seamless and invisible to XCode which is what I was looking for.

    ok so to cut my long drawn out blurb short, if you are looking to install Subversion 1.5.x for use with XCode 3.1.1 download the latest Subversion Package from here then run this series of commands

    cd /usr/lib

    sudo mv libapr-1.dylib libapr-1.dylib_old
    sudo mv libaprutil-1.dylib libaprutil-1.dylib_old
    sudo mv libsvn_client-1.dylib libsvn_client-1.dylib_old
    sudo mv libsvn_delta-1.dylib libsvn_delta-1.dylib_old
    sudo mv libsvn_diff-1.dylib libsvn_diff-1.dylib_old
    sudo mv libsvn_fs_fs-1.dylib libsvn_fs_fs-1.dylib_old
    sudo mv libsvn_fs-1.dylib libsvn_fs-1.dylib_old
    sudo mv libsvn_ra_local-1.dylib libsvn_ra_local-1.dylib_old
    sudo mv libsvn_ra_svn-1.0.dylib libsvn_ra_svn-1.0.dylib_old
    sudo mv libsvn_ra-1.dylib libsvn_ra-1.dylib_old
    sudo mv libsvn_wc-1.dylib libsvn_wc-1.dylib_old
    sudo mv libsvn_repos-1.dylib libsvn_repos-1.dylib_old
    sudo mv libsvn_subr-1.dylib libsvn_subr-1.dylib_old

    sudo ln -s /opt/subversion/lib/libapr-1.dylib libapr-1.dylib
    sudo ln -s /opt/subversion/lib/libaprutil-1.dylib libaprutil-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_client-1.dylib libsvn_client-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_delta-1.dylib libsvn_delta-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_diff-1.dylib libsvn_diff-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_fs_fs-1.dylib libsvn_fs_fs-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_fs-1.dylib libsvn_fs-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_ra_local-1.dylib libsvn_ra_local-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_ra_svn-1.0.dylib libsvn_ra_svn-1.0.dylib
    sudo ln -s /opt/subversion/lib/libsvn_ra-1.dylib libsvn_ra-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_wc-1.dylib libsvn_wc-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_repos-1.dylib libsvn_repos-1.dylib
    sudo ln -s /opt/subversion/lib/libsvn_subr-1.dylib libsvn_subr-1.dylib

    cd /usr/bin

    sudo mv apr-1-config apr-1-config_old sudo mv apu-1-config apu-1-config_old
    sudo mv svn svn_old
    sudo mv svnadmin svnadmin_old
    sudo mv svndumpfilter svndumpfilter_old
    sudo mv svnlook svnlook_old
    sudo mv svnserve svnserve_old
    sudo mv svnsync svnsync_old
    sudo mv svnversion svnversion_old

    sudo ln -s /usr/local/bin/apr-1-config apr-1-config
    sudo ln -s /usr/local/bin/ apu-1-config apu-1-config
    sudo ln -s /usr/local/bin/svn svn
    sudo ln -s /usr/local/bin/svnadmin svnadmin
    sudo ln -s /usr/local/bin/svndumpfilter svndumpfilter
    sudo ln -s /usr/local/bin/svnlook svnlook
    sudo ln -s /usr/local/bin/svnserve svnserve
    sudo ln -s /usr/local/bin/svnsync svnsync
    sudo ln -s /usr/local/bin/svnversion svnversion

    Then I tried a project in xcode which was under SVN control and Voila all good.
    Did a version check in the terminal again and it was at 1.5.4. YAY!!

    This little bit should work if you compile sunversion too as the install goes into the same place.

    As a bonus I opened Versions and changed the prefs to 1.5.1 and restarted the app and checked the prefs again and its all good.

    Enjoy





    Olearia in the the wild…

    28 10 2008

    Well after I got the code up to RC2 I decided to take the plunge and made myself an account on MacUpdate and uploaded the Latest RC2 build.

    As is always the way I found a problem during the validation/evaluation period that MacUpdate has before they post new applications or Versions.

    So after I fixed this Olearia was already online and had over 30 downloads before i could change the archive.

    In any case Olearia is not close to completion by any means but the fact that it reads old and new formats is a big step in the right direction.
    It also remembers the playback rate and volume settings for each book and will remember the point
    the book was stopped at as well.

    check out MacUpdate here
    for the latest stable (fingers crossed) release or the repository for bleeding edge stuff.
    Oh yeah updated the version number to 0.9.1 RC3 as well

    Later….





    Olearia nears full release status

    27 10 2008

    I managed to find some time recently to work on the per book preferences in Olearia.

    So although there is a RC1 zip file up it is not up to date.
    I still have to add the position saving for the current book and a couple of other minor things but once that is completed I will be putting the full 0.9 Build on various software DL sites.

    Thats it for now.