RubyOSA for QuickTime

How do I access the properties of a QuickTime movie? I'm trying RubyOSA,
but am open to other ideas.

I ultimately want to save the middle frame of movies I download from my
digital camera. That jpg will be a placeholder in Aperture. Here's what
I think are the essentials at this point

require 'rbosa'
require 'fileutils'
include FileUtils
appQT = OSA.app('QuickTime Player')
src = "/Volumes/photos/"

filesCount = 0
frameFilesCount = 0
Find.find(src) do |fn|
  if File.file?(fn)
       if ['.mov','.avi'].include?(File.extname(fn).downcase)
             appQT.open(fn) # works
             frameCount = appQT.duration("movie 1") >> undefined method
‘duration’ for #<OSA::QuickTimePlayer::Application:0x1065c24>
       puts "frameCount: #{frameCount}"
            appQT.close(fn) # doesn't work
          end
      end
    end
puts

I looked at the output of appQT.methods and none of the items listed
that made sense to me worked.

This newbie needs some help groking RubyOSA, Ruby, and QuickTime.

Thanks

···

--
Posted via http://www.ruby-forum.com/.

Hi,

How do I access the properties of a QuickTime movie? I'm trying RubyOSA,
but am open to other ideas.

Why not trying to access the QTKit framework from Ruby via RubyCocoa?

Here is an example that prints all the metadata properties of a given movie.

$ cat a.rb
require 'osx/foundation'
OSX.require_framework 'QTKit'
puts OSX::QTMovie.movieWithFile_error(ARGV[0], nil).movieAttributes

HTH,
Laurent

···

On 7/3/07, 12 34 <rubyforum@web.knobby.ws> wrote:

Laurent Sansonetti wrote:

Hi,

How do I access the properties of a QuickTime movie? I'm trying RubyOSA,
but am open to other ideas.

Why not trying to access the QTKit framework from Ruby via RubyCocoa?

Didn't know I could, and even if I had I didn't know what do to with it.
I thought RubyCocoa went to the other way. That is, to use Ruby in
XCode. But obviously it's more than that.

Here is an example that prints all the metadata properties of a given
movie.

$ cat a.rb
require 'osx/foundation'
OSX.require_framework 'QTKit'
puts OSX::QTMovie.movieWithFile_error(ARGV[0], nil).movieAttributes

HTH,
Laurent

Either I've already installed RubyCocoa or I can't. Neither machine will
allow the pkg installer to work. And I tried by hand recently on my iMac
desktop, and I got an error at some point.

So unless I figure out how to get around that I'm up a creek.

Also what is cat a.rb. I don't find cat in Ruby, and man cat, tell me
it's concatenate and pring; but that doesn't make sense to me in this
context. Much to learn.

Thanks for any other further suggestions.

···

On 7/3/07, 12 34 <rubyforum@web.knobby.ws> wrote:

--
Posted via http://www.ruby-forum.com/\.

Laurent Sansonetti wrote:
> Hi,
>
>> How do I access the properties of a QuickTime movie? I'm trying RubyOSA,
>> but am open to other ideas.
>
> Why not trying to access the QTKit framework from Ruby via RubyCocoa?

Didn't know I could, and even if I had I didn't know what do to with it.
I thought RubyCocoa went to the other way. That is, to use Ruby in
XCode. But obviously it's more than that.

Yes, it's a real bridge between the Objective-C and the Ruby runtimes.

> Here is an example that prints all the metadata properties of a given
> movie.
>
> $ cat a.rb
> require 'osx/foundation'
> OSX.require_framework 'QTKit'
> puts OSX::QTMovie.movieWithFile_error(ARGV[0], nil).movieAttributes
>
> HTH,
> Laurent

Either I've already installed RubyCocoa or I can't. Neither machine will
allow the pkg installer to work. And I tried by hand recently on my iMac
desktop, and I got an error at some point.

Ah, maybe you are running 10.4.10. The latest release won't install on
it because of an installer bug, but we released a minor version,
called RubyCocoa-0.11.1p1, that you can get from the usual location:

So unless I figure out how to get around that I'm up a creek.

Also what is cat a.rb. I don't find cat in Ruby, and man cat, tell me
it's concatenate and pring; but that doesn't make sense to me in this
context. Much to learn.

cat is an UNIX command-line tool that has nothing to do with Ruby
here. Just look at the 3 lines of Ruby code :slight_smile:

Laurent

···

On 7/4/07, 12 34 <rubyforum@web.knobby.ws> wrote:

> On 7/3/07, 12 34 <rubyforum@web.knobby.ws> wrote:

There is also an AppleScript gem.
So you could use that to control any GUI app on OS X that has AppleScript events enabled. Most apps from Apple do have it enabled, and most apps for OS X have it, since it is one of the many things that the OS and the Cocoa framework provide to app programmers with very little effort at all.

Laurent Sansonetti wrote:

···

On 7/4/07, 12 34 <rubyforum@web.knobby.ws> wrote:

Either I've already installed RubyCocoa or I can't. Neither machine will
allow the pkg installer to work. And I tried by hand recently on my iMac
desktop, and I got an error at some point.

Ah, maybe you are running 10.4.10. The latest release won't install on
it because of an installer bug, but we released a minor version,
called RubyCocoa-0.11.1p1, that you can get from the usual location:

RubyCocoa - Browse Files at SourceForge.net

Laurent

LoadError: no such file to load — osx/foundation

I'll be back later.

--
Posted via http://www.ruby-forum.com/\.

12 34 wrote:

LoadError: no such file to load — osx/foundation

Still have problem with RubyOSA

With solution using rb-appscript from HAS, I've got what I need for now.

···

--
Posted via http://www.ruby-forum.com/\.