title
Products            Buy            Support Forum            Professional            About            Codec Central
 
Results 1 to 12 of 12

Thread: Bug: dMCScripting.Converter COM interface broken in R17.0

  1. #1

    Join Date
    Feb 2020
    Posts
    3

    Exclamation Bug: dMCScripting.Converter COM interface broken in R17.0

    Just a heads-up - the dMCScripting.Converter COM object can't be instantiated in version R17.0.

    Tested on a couple of machines running Windows 10, including a freshly-installed virtual machine. Worked fine on previous versions of dBpoweramp.

    Code:
    Retrieving the COM class factory for component with CLSID {1C2E0932-61B5-4EAB-A832-06EE6564047D} failed due to the following error: 800700b6 The operating system cannot run . (Exception from HRESULT: 0x800700B6).

  2. #2
    Administrator
    Join Date
    Apr 2002
    Posts
    40,396

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    If you open a command prompt and change into the folder where dBpoweramp is installed then type:

    regsvr32 dmcscripting.dll

    What message is shown?

  3. #3

    Join Date
    Feb 2020
    Posts
    3

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    Hi Spoon -

    Quote Originally Posted by Spoon View Post
    regsvr32 dmcscripting.dll
    It (re-)registers successfully, but the class was already registered in the first place - that's not the problem.

    Can you reproduce? (Quick test in PowerShell - New-Object -ComObject dMCScripting.Converter)

    I should have mentioned in my first post - .NET ultimately throws System.BadImageFormatException. I followed a hunch and tested on both x64 and x86, but the problem's present on both.

    Cheers

  4. #4
    dBpoweramp Enthusiast
    Join Date
    Dec 2009
    Posts
    122

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    I ran into the same problem. When I run it under the debugger, I get a message box that says:

    Ordinal Not Found.png

    (In case the image doesn't come through...)

    WmpWia.exe - Ordinal Not Found

    The ordinal 381 could not be located in the dynamic link library
    C:\Program Files\dBpoweramp\dMCScripting.dll

    OK

    I tried removing and re-adding the reference a couple of different ways. Same result in all cases.

    Hope this helps,
    Mike

  5. #5
    Administrator
    Join Date
    Apr 2002
    Posts
    40,396

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    Download, unzip and replace the dMCScripting.dll:

    http://www.dbpoweramp.com/beta/dMCScripting.zip

    Note this is the 64 bit version of the DLL.

  6. #6

    Join Date
    Feb 2020
    Posts
    3

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    Quote Originally Posted by Spoon View Post
    Download, unzip and replace the dMCScripting.dll
    Confirmed fixed!

    Nice job - thanks mate.

  7. #7
    dBpoweramp Enthusiast
    Join Date
    Dec 2009
    Posts
    122

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    That fixed it.

    Thanks for the incredibly fast fix.

    Mike

  8. #8

    Join Date
    Oct 2010
    Posts
    9

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    Hi, Spoon,

    I'm having a slightly different problem.
    Running a standalone script containing a reference to the dMCScripting.Converter object runs without problems.
    I created a .VBS script named dMC_Test.vbs containing the following code:
    Code:
    ' create shell object
    Set WshShell = CreateObject("WScript.Shell")
    
    ' Create dMC Object
    Set dMC = CreateObject("dMCScripting.Converter")
    
    ' Read All IDTags
    For i = 0 To 10000
     Dim ElementValue
     ElementValue = dMC.ReadIDTagElementValue("M:\1_KLAS\ZZ_Verzamel\Pianotrio\Gál, Shostakovich - Piano Trios (Briggs Piano Trio 2018)\01 Piano Trio in E major, Op. 18_ I. Tranquillo ma con moto.flac", i)
     If ElementValue = "" Then Exit For
     Call WshShell.Popup(ElementValue, , "Read Tag", 0)
    Next
    And then I ran the following command from the command box:
    Code:
    Program Files\dBpoweramp>cscript C:\users\hans\dmc_test.vbs
    This resulted in a number of pop-ups showing the name and content of all tags in the flac file.
    So far so good.

    But when I call the following piece of code from a VBS script that I start from within MediaMonkey
    Code:
    ' create shell object
    Set WshShell = CreateObject("WScript.Shell")
    ' Create dMC Object
    Set dMC = CreateObject("dMCScripting.Converter")
    
    ' Read All IDTags
    For i = 0 To 10000
     Dim ElementValue
     ElementValue = dMC.ReadIDTagElementValue("M:\1_KLAS\ZZ_Verzamel\Pianotrio\Gál, Shostakovich - Piano Trios (Briggs Piano Trio 2018)\01 Piano Trio in E major, Op. 18_ I. Tranquillo ma con moto.flac", i)
     If ElementValue = "" Then Exit For
     MsgBox ElementValue
    Next
    I consistently get the error
    dMC_error.JPG
    Sorry for the Dutch language error message, but translated roughly it says:
    ActiveX component can't create the object 'dMCScripting.Converter'
    What am I doing wrong, here? Is this maybe a case of 32 vs. 64 bit? Or something completely different?

  9. #9
    Administrator
    Join Date
    Apr 2002
    Posts
    40,396

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    It is likely Media Monkey does not have permissions to create activeX objects, or run the script.

    Media Monkey is 64 bit?

  10. #10

    Join Date
    Oct 2010
    Posts
    9

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    Hi Spoon, thanks for your reaction

    10 years ago at least one person used this method successfully in a MediaMonkey script, see here, so I know it must be possible.

    I'm a little bit surprised to find that my MediaMonkey runs in 32bit mode, if I can believe the task manager:
    MediaMonkey 32 bits.JPG
    My Windows 10 installation works in 64bit architecture, so I always thought MediaMonkey would also run as 64bit. Maybe I should investigate this further...

    Question: is it absolutely impossible for a 32bit applicationto call the dMCScripting.Converter object? Are there workarounds? Or should I simply try and get a 64bit version of MM?

    Thanks in advance!
    Regards, Hans Valeton

  11. #11

    Join Date
    Oct 2010
    Posts
    9

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    Thanks for your reply, Spoon,

    There has been at least one other person who tried to do this from within MediaMonkey and succeeded, as can be read here Seeing this was 10 years ago, he probably ran a 32 bit version of dBpoweramp?

    My Mediamonkey runs in 32bit mode. It appears there never was and never will be a 64bit version.
    MediaMonkey 32 bits.JPG

    Is it possible to download a 32bit version of the dmCScripting.Converter object? And would that solve my problem?

    Thanks in advance!
    Regards,Hans Valeton

  12. #12
    Administrator
    Join Date
    Apr 2002
    Posts
    40,396

    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    We have never tested 32 bit calling 64 bit. It is not possible to have a 32 bit scripting in 64 bit Windows.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •