[MacRuby-devel] [MacRuby] #111: macruby not working with unicode from ScriptingBridge

MacRuby ruby-noreply at macosforge.org
Thu Aug 28 05:44:30 PDT 2008


#111: macruby not working with unicode from ScriptingBridge
-------------------------------------+--------------------------------------
 Reporter:  jordan.breeding at mac.com  |       Owner:  lsansonetti at apple.com
     Type:  defect                   |      Status:  new                  
 Priority:  blocker                  |   Milestone:                       
Component:  MacRuby                  |    Keywords:                       
-------------------------------------+--------------------------------------
 I am having trouble using unicode strings passed in from ScriptingBridge,
 RubyCocoa works just fine with the same strings.

 macruby:

 {{{
 5 jordan at thetourist ~/Desktop/Scripts > macirb
 >> framework("Cocoa")
 => true
 >> framework("ScriptingBridge")
 => true
 >> itunes =
 SBApplication.applicationWithBundleIdentifier("com.apple.itunes")
 macruby: unknown type name "tdta".
 => #<ITunesApplication:0x1dfd270>
 >> unicodeTracks =
 itunes.sources.objectWithName("Library").userPlaylists.objectWithName("Music").fileTracks.select
 { |track| track.albumArtist == "Wire" }
 => [#<ITunesFileTrack:0x1450560>, #<ITunesFileTrack:0x1450930>,
 #<ITunesFileTrack:0x144ccd0>, #<ITunesFileTrack:0x144d080>,
 #<ITunesFileTrack:0x144d430>, #<ITunesFileTrack:0x144d7e0>,
 #<ITunesFileTrack:0x144dbe0>, #<ITunesFileTrack:0x144ba70>,
 #<ITunesFileTrack:0x144be20>, #<ITunesFileTrack:0x144c1d0>,
 #<ITunesFileTrack:0x144c580>, #<ITunesFileTrack:0x144c930>,
 #<ITunesFileTrack:0x144b2c0>, #<ITunesFileTrack:0x144b670>,
 #<ITunesFileTrack:0x144b060>, #<ITunesFileTrack:0x144a920>,
 #<ITunesFileTrack:0x144a3d0>, #<ITunesFileTrack:0x14497d0>,
 #<ITunesFileTrack:0x14481c0>, #<ITunesFileTrack:0x1448570>,
 #<ITunesFileTrack:0x1448920>, #<ITunesFileTrack:0x1448cd0>,
 #<ITunesFileTrack:0x14463d0>, #<ITunesFileTrack:0x10e5360>,
 #<ITunesFileTrack:0x10e3320>, #<ITunesFileTrack:0x10e36d0>,
 #<ITunesFileTrack:0x10e3a80>, #<ITunesFileTrack:0x10e3e30>,
 #<ITunesFileTrack:0x10e2c90>, #<ITunesFileTrack:0x10e3040>,
 #<ITunesFileTrack:0x10e2810>, #<ITunesFileTrack:0x10e0b90>,
 #<ITunesFileTrack:0x10e0f40>, #<ITunesFileTrack:0x10e12f0>,
 #<ITunesFileTrack:0x22a8860>, #<ITunesFileTrack:0x22a8c10>,
 #<ITunesFileTrack:0x22a8fc0>, #<ITunesFileTrack:0x22a9370>,
 #<ITunesFileTrack:0x22a9720>, #<ITunesFileTrack:0x22a9ad0>,
 #<ITunesFileTrack:0x22a9e80>, #<ITunesFileTrack:0x22aa230>,
 #<ITunesFileTrack:0x22aa5e0>]
 >> trackTitles = unicodeTracks.arrayByApplyingSelector("name")
 => ["One Of Us", "Circumspect", "Mekon Headman", "Perspex Icon", "Four
 Long Years", "Hard Currency", "Patient Flees", "Are You Ready?", "All
 Fours", "99.9", "Germ Ship", "Mr. Marx\xE2\x80\x99s Table", "1st Fast",
 "Read And Burn", "The Agfers Of Kodack", "Comet", "In The Art Of
 Stopping", "Spent", "I Don\xE2\x80\x99t Understand", "Strange", "106 Beats
 That", "Surgeon\xE2\x80\x99s Girl", "Pink Flag", "In The Art Of Stopping",
 "Mr. Marx's Table", "Being Watched", "Comet", "The Agfers Of Kodack",
 "Nice Streets Above", "Spent", "Read And Burn", "You Can't Leave Now",
 "Half Eaten", "99.9", "In Every City?", "What's Your Desire?",
 "Arriving/Staying/Going?", "(A Berlin) Drill", "Do You Drive? (Turn Your
 Coat)", "Jumping Mint?", "Did You Dugga?", "Where Are You Now?", "(A
 Chicago) Drill (Live)"]
 >>
 }}}

 RubyCocoa:

 {{{
 1 jordan at thetourist ~ > irb
 >> require("osx/cocoa")
 => true
 >> include OSX
 => Object
 >> require_framework("ScriptingBridge")
 => true
 >> itunes =
 SBApplication.applicationWithBundleIdentifier("com.apple.itunes")
                  : unknown type name "tdta".
 => #<OSX::ITunesApplication:0x36743c class='ITunesApplication'
 id=0x57a230>
 >> unicodeTracks =
 itunes.sources.objectWithName("Library").userPlaylists.objectWithName("Music").fileTracks.select
 { |track| track.albumArtist == "Wire" }
 => #<NSCFArray [#<OSX::ITunesFileTrack:0x3544e0 class='ITunesFileTrack'
 id=0x1ecca40>, #<OSX::ITunesFileTrack:0x3543d2 class='ITunesFileTrack'
 id=0x1ecdb50>, #<OSX::ITunesFileTrack:0x35436e class='ITunesFileTrack'
 id=0x1eccf70>, #<OSX::ITunesFileTrack:0x35430a class='ITunesFileTrack'
 id=0x1ecdac0>, #<OSX::ITunesFileTrack:0x3542a6 class='ITunesFileTrack'
 id=0x1ece020>, #<OSX::ITunesFileTrack:0x354242 class='ITunesFileTrack'
 id=0x1ecea40>, #<OSX::ITunesFileTrack:0x3541de class='ITunesFileTrack'
 id=0x1ecdff0>, #<OSX::ITunesFileTrack:0x35417a class='ITunesFileTrack'
 id=0x1ecf460>, #<OSX::ITunesFileTrack:0x354116 class='ITunesFileTrack'
 id=0x1ecfb30>, #<OSX::ITunesFileTrack:0x3540b2 class='ITunesFileTrack'
 id=0x1ecfea0>, #<OSX::ITunesFileTrack:0x35404e class='ITunesFileTrack'
 id=0x1ed03b0>, #<OSX::ITunesFileTrack:0x353fea class='ITunesFileTrack'
 id=0x1ed02c0>, #<OSX::ITunesFileTrack:0x353f86 class='ITunesFileTrack'
 id=0x1ed0830>, #<OSX::ITunesFileTrack:0x353f22 class='ITunesFileTrack'
 id=0x1ed0d90>, #<OSX::ITunesFileTrack:0x353ebe class='ITunesFileTrack'
 id=0x1ed0350>, #<OSX::ITunesFileTrack:0x353e5a class='ITunesFileTrack'
 id=0x1ecf980>, #<OSX::ITunesFileTrack:0x353df6 class='ITunesFileTrack'
 id=0x1ed1e20>, #<OSX::ITunesFileTrack:0x353d92 class='ITunesFileTrack'
 id=0x1ed1820>, #<OSX::ITunesFileTrack:0x353d2e class='ITunesFileTrack'
 id=0x1ed1d30>, #<OSX::ITunesFileTrack:0x353cca class='ITunesFileTrack'
 id=0x1ed2c70>, #<OSX::ITunesFileTrack:0x353c66 class='ITunesFileTrack'
 id=0x1ed3680>, #<OSX::ITunesFileTrack:0x353c02 class='ITunesFileTrack'
 id=0x1ed3190>, #<OSX::ITunesFileTrack:0x353b9e class='ITunesFileTrack'
 id=0x1ed3ff0>, #<OSX::ITunesFileTrack:0x350872 class='ITunesFileTrack'
 id=0x1f03760>, #<OSX::ITunesFileTrack:0x3507dc class='ITunesFileTrack'
 id=0x1f03280>, #<OSX::ITunesFileTrack:0x350778 class='ITunesFileTrack'
 id=0x1f04200>, #<OSX::ITunesFileTrack:0x350714 class='ITunesFileTrack'
 id=0x1f046b0>, #<OSX::ITunesFileTrack:0x3506b0 class='ITunesFileTrack'
 id=0x1f04b50>, #<OSX::ITunesFileTrack:0x35064c class='ITunesFileTrack'
 id=0x1f04160>, #<OSX::ITunesFileTrack:0x3505e8 class='ITunesFileTrack'
 id=0x1f05590>, #<OSX::ITunesFileTrack:0x350584 class='ITunesFileTrack'
 id=0x1f05a30>, #<OSX::ITunesFileTrack:0x350520 class='ITunesFileTrack'
 id=0x1ed1290>, #<OSX::ITunesFileTrack:0x3504bc class='ITunesFileTrack'
 id=0x1f06d60>, #<OSX::ITunesFileTrack:0x350458 class='ITunesFileTrack'
 id=0x1f066f0>, #<OSX::ITunesFileTrack:0x348320 class='ITunesFileTrack'
 id=0x1f754b0>, #<OSX::ITunesFileTrack:0x34828a class='ITunesFileTrack'
 id=0x1f757a0>, #<OSX::ITunesFileTrack:0x348226 class='ITunesFileTrack'
 id=0x1f764e0>, #<OSX::ITunesFileTrack:0x3481c2 class='ITunesFileTrack'
 id=0x1f76e10>, #<OSX::ITunesFileTrack:0x34815e class='ITunesFileTrack'
 id=0x1f772c0>, #<OSX::ITunesFileTrack:0x3480fa class='ITunesFileTrack'
 id=0x1f777e0>, #<OSX::ITunesFileTrack:0x348096 class='ITunesFileTrack'
 id=0x1f76d70>, #<OSX::ITunesFileTrack:0x348032 class='ITunesFileTrack'
 id=0x1f781f0>, #<OSX::ITunesFileTrack:0x347fce class='ITunesFileTrack'
 id=0x1f78710>]>
 >> trackTitles = unicodeTracks.arrayByApplyingSelector("name")
 => #<NSCFArray [#<NSCFString "One Of Us">, #<NSCFString "Circumspect">,
 #<NSCFString "Mekon Headman">, #<NSCFString "Perspex Icon">, #<NSCFString
 "Four Long Years">, #<NSCFString "Hard Currency">, #<NSCFString "Patient
 Flees">, #<NSCFString "Are You Ready?">, #<NSCFString "All Fours">,
 #<NSCFString "99.9">, #<NSCFString "Germ Ship">, #<NSCFString "Mr. Marx’s
 Table">, #<NSCFString "1st Fast">, #<NSCFString "Read And Burn">,
 #<NSCFString "The Agfers Of Kodack">, #<NSCFString "Comet">, #<NSCFString
 "In The Art Of Stopping">, #<NSCFString "Spent">, #<NSCFString "I Don’t
 Understand">, #<NSCFString "Strange">, #<NSCFString "106 Beats That">,
 #<NSCFString "Surgeon’s Girl">, #<NSCFString "Pink Flag">, #<NSCFString
 "In The Art Of Stopping">, #<NSCFString "Mr. Marx's Table">, #<NSCFString
 "Being Watched">, #<NSCFString "Comet">, #<NSCFString "The Agfers Of
 Kodack">, #<NSCFString "Nice Streets Above">, #<NSCFString "Spent">,
 #<NSCFString "Read And Burn">, #<NSCFString "You Can't Leave Now">,
 #<NSCFString "Half Eaten">, #<NSCFString "99.9">, #<NSCFString "In Every
 City?">, #<NSCFString "What's Your Desire?">, #<NSCFString
 "Arriving/Staying/Going?">, #<NSCFString "(A Berlin) Drill">, #<NSCFString
 "Do You Drive? (Turn Your Coat)">, #<NSCFString "Jumping Mint?">,
 #<NSCFString "Did You Dugga?">, #<NSCFString "Where Are You Now?">,
 #<NSCFString "(A Chicago) Drill (Live)">]>
 >>
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/111>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list