[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

RubyOSA for QuickTime

12 34

7/3/2007 9:36:00 PM

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-....

8 Answers

Laurent Sansonetti

7/3/2007 9:57:00 PM

0

Hi,

On 7/3/07, 12 34 <rubyforum@web.knobby.ws> wrote:
> 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

12 34

7/4/2007 12:20:00 AM

0

Laurent Sansonetti wrote:
> Hi,
>
> On 7/3/07, 12 34 <rubyforum@web.knobby.ws> wrote:
>> 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.

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

hengist podd

7/4/2007 7:40:00 AM

0

On 3 Jul, 22:35, 12 34 <rubyfo...@web.knobby.ws> wrote:
> How do I access the properties of a QuickTime movie? I'm trying RubyOSA,
> but am open to other ideas.

Using rb-appscript (http://rb-appscript.rub...) to get
properties of the frontmost movie in QuickTime Player:


require 'appscript'
include Appscript

QTP = app('QuickTime Player.app')


movie = QTP.movies[1] # a reference to the frontmost movie
p movie.name.get # get movie name
p movie.duration.get # get movie duration
p movie.properties_.get # get all properties at once
# etc...



> I ultimately want to save the middle frame of movies I download from my
> digital camera.

To export the middle frame of a movie file to a PICT file:

movie = QTP.open(MacTypes::Alias.path('/path/to/your movie.mov'))[0]
movie.current_time.set(movie.duration.get / 2)
movie.export(:to=>MacTypes::FileURL.path('/path/to/middle
frame.pict'), :as=>:picture)
movie.close


To convert a PICT file to a JPEG file:

IA = app('Image Events')

img = IA.open(MacTypes::Alias.path('/path/to/middle frame.pict'))
img.save(:in=>'/path/to/middle frame.jpg', :as=>:JPEG)
img.close


HTH

has
--
http://appscript.sourc...
http://rb-appscript.rub...

Laurent Sansonetti

7/4/2007 10:16:00 AM

0

On 7/4/07, 12 34 <rubyforum@web.knobby.ws> wrote:
> Laurent Sansonetti wrote:
> > Hi,
> >
> > On 7/3/07, 12 34 <rubyforum@web.knobby.ws> wrote:
> >> 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:

http://sourceforge.net/project/showfiles.php?grou...

> 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 :-)

Laurent

John Joyce

7/4/2007 3:15:00 PM

0

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.

12 34

7/4/2007 5:52:00 PM

0

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:
>
> http://sourceforge.net/project/showfiles.php?grou...
>
> Laurent

LoadError: no such file to load â?? osx/foundation

I'll be back later.

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

Guest

7/5/2007 4:26:00 PM

0

Why not use MiniExiftool? ;)

If Exiftool support your needs
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Quic...
it should work.

Greets
Jan

12 34

7/5/2007 10:00:00 PM

0

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-....