I’m trying to connect to this set of Windows Scripting objects…
http://www.dbpoweramp.com/developer-scripting-dmc.htm
It seems to go OK for dMCScripting.Converter, but the other subobjects
come up empty – they are there, but I can’t see or use any of the
members. Here’s code to show the problem…
require ‘win32ole’
cnv = WIN32OLE::new(“dMCScripting.Converter”)
mp3 = WIN32OLE::new(“dMCScripting.Mp3Settings”)
ogg = WIN32OLE::new(“dMCScripting.OggSettings”)
wav = WIN32OLE::new(“dMCScripting.WaveSettings”)
wma = WIN32OLE::new(“dMCScripting.WMASettings”)
p = Hash.new
p[ :cnv] = cnv.ole_get_methods
p[ :mp3] = mp3.ole_get_methods
p[ :ogg] = ogg.ole_get_methods
p[ :wav] = wav.ole_get_methods
p[ :wma] = wma.ole_get_methods
p.each do |k, v|
printf( “%s, %d members\n”, k, v.size)
v.each {|x| printf( " %s\n", x.to_s)}
end
printf( “dMCScripting.Converters.VolumeNormalize = %d\n”,
cnv.VolumeNormalize)
printf( “dMCScripting.Mp3Settings.Frequency = %d\n”, mp3.Frequency)
wav, 0 members
wma, 0 members
cnv, 7 members
VolumeNormalize
PreserveTags
DeleteSourceFiles
ConvertToFolder
ToFolder
GetCompressions
WasConvError
mp3, 0 members
ogg, 0 members
dMCScripting.Converters.VolumeNormalize = 0
dbPowerAmp2.rb:24:in method_missing': unknown property or method
Frequency’ (WIN32OLERuntimeError)
HRESULT error code:0x80020006
Unknown name. from dbPowerAmp2.rb:24
Accessing the dMCScripting object in VBA/Excel works fine, or at least,
everything is present and accounted for in the object browser.
I realize this could be a problem with the dMC dll (and I’ll ask them
too), but even if so, any help diagnosing that would be gratefully
accepted. Of course, if I’m doing something wrong in ruby – quite
possible as I’m just starting with it – I’d love to hear about that.
Thanks. --David