I want to:
* use MM normally, with it pointing to my production database
* but when testing the COM app, I want that test run to be updating my test MM.db

My workaround, is to:
* close down MM prior to the test
* restart MM using a command line, which overrides to a testing ini file, pointing to the test MM.db
* test the COM application ... it uses the running invocation, ie. the test MM.db
* close down MM after the test, and then restart MM with the regular ini file

I was just wondering if there was something more idiot-proof.

Are you meaning that I can get the COM connection to attach to a testing secondary MM invocation?
something other than SDB = win32com.client.Dispatch("SongsDB.SDBApplication")?
How would I start|name this secondary invocation, and how would I get it to use a testing ini file?

Running a VM is always a good option but I think you've got the right approach. One thing you might change is allowing multiple instances of MM so you wouldn't need to close the instance running your production database before opening the instance with your test database.

The option is Tools --> Options --> General --> Allow just one instance of MediaMonkey.

rivorson wrote:One thing you might change is allowing multiple instances of MM so you wouldn't need to close the instance running your production database before opening the instance with your test database.

Thanks.

My COM knowledge doesn't extend much beyond the supplied MediaMonkey documentation. I am just following the advice showing how to establish a connection using Python, ie.
SDB = win32com.client.Dispatch("SongsDB.SDBApplication")

If I had a 2nd version of MM running how would I connect to the correct instance?

If I had a 2nd version of MM running how would I connect to the correct instance?

ALSO INTERESTED.

I experimented for 2/3 days with such a pursuit and concluded its not gonna happen without major experimental hacking of installation registry files. I'd love it if someone can share/reveal a clean method to use multiple MM windows through scripting or command line.