Page 4 of 15

Re: MediaMonkey

Posted: Mon Aug 31, 2009 1:23 pm
by jitterjames
one more idea! :oops:

is it possible to call a mediamonkey script from EG. I am currently doing it using global hotkeys in MM and simulating keypresses in EG but this is not ideal!

Maybe this is easy if you know how to do it? I have no idea.

Thanks,
James

small problem with "Get basic song info"

Posted: Mon Aug 31, 2009 2:19 pm
by jitterjames
I have a small problem with the action "Get basic song info."

When I ask for multiple results they are separated by commas. The problem is that I have some songs/albums with commas in them so I have no way to parse these results. I'm not sure what the ideal would be, maybe '&&' or something like that.

If you were to change the separator to something other than a comma, that might break the macros that people have already created. Perhaps the configuration screen could include a field to enter whatever parsing element you want, but the default could still be comma.

Just let me know when I am starting to bug you! If you want I can try to implement this change myself and upload it to this thread for your review.

J

Re: MediaMonkey

Posted: Mon Aug 31, 2009 8:23 pm
by Pako
@jitterjames
These are very interesting topics. I will certainly contemplate about them.
But first I try to revise the entire plugin
(it seems, that after Bitmonster's assistance is the way open).
Pako

Re: MediaMonkey

Posted: Mon Aug 31, 2009 8:41 pm
by jitterjames
No problem, it can all wait. Good luck with the update.

Re: MediaMonkey

Posted: Mon Sep 14, 2009 6:53 am
by Pako
So it's finally here - the new version (0.2.0) of plugin is available (see first post).
This time it is a very significant change. Entire plugin now runs in a separate thread.
This is important especially in view of the means of communication with MediaMonkey through ActiveX/COM.

In some configuration dialogs added more options (I recommend all to go through !). It may be that some
actions need to be removed from the configuration tree and re-add them.

Also added some completely new actions:
-Load Playlist By Sql
-Song Jukebox
-Send Keys
-Get Basic Statistics
-Get Basic Song Info Of Previous Track

Since the entire plugin is completely rewritten, it may happen that the test mode I did not find any existing bugs.
Any bugs should be reported here, please!
In addition, please check all English texts and suggest the corrections (my English is very weak).
Pako

Re: MediaMonkey

Posted: Mon Sep 14, 2009 11:21 am
by jitterjames
cool :!: Thanks Pako. I will be away for a couple of days but I look forward to testing it. thanks for all the hard work, and thanks for adding the open sql action.

I will let you know if I see any mistakes.

Re: MediaMonkey

Posted: Wed Sep 16, 2009 2:00 am
by jitterjames
so far so good... Nice work indeed! The sql action is great and the pulldown field names is a very nice touch.

I have some questions, comments, suggestions, but they will have to wait a while as it looks like it'll be a busy week for me.

many thanks

J

Re: MediaMonkey

Posted: Wed Oct 07, 2009 12:44 pm
by jitterjames
Hi Pako,

It took me a while to get around to it, but I've upgraded all my machines to the new version of this plugin. Thanks for all the new features. Really great.

I don't notice any difference in speed from the old version. Load playlist by filter or sql is always slow no matter how I do it. Was this supposed to change with this version? I notice an option "wait" or "don't wait" but it doesn't seem to make a difference for me.

I have 1 small but very annoying bug that seems to be new with this version. If I close mediamonkey manually (i.e. not by using eventghost) and then try to connect/start it using eventGhost I get the following error and it won't start
Error in Action: "MediaMonkey: Start/Connect MediaMonkey"
Traceback (most recent call last) (1194):
File "C:\Program Files\EventGhost\eg\Classes\ActionBase.py", line 168, in CallWrapper
File "C:\Program Files\EventGhost\plugins\MediaMonkey\__init__.py", line 827, in __call__
File "C:\Program Files\EventGhost\plugins\MediaMonkey\__init__.py", line 780, in GetValue
File "C:\Program Files\EventGhost\eg\Classes\ThreadWorker.py", line 72, in __call__
File "C:\Program Files\EventGhost\plugins\MediaMonkey\__init__.py", line 212, in GetValue
File "win32com\client\dynamic.pyc", line 501, in __getattr__
com_error: (-2147023174, 'The RPC server is unavailable.', None, None)
I then need to close and reopen eventGhost to get normal function again.

restarting eventGhost usually seems to help but in one case I ended up having to reboot my machine to get normal operation again with the plugin. (this part may not be reproducible but the first part with the error is)

thanks again for your hard work, and for putting in the features I asked for. Any idea if it is possible to call a mediaMonkey script (ideally passing it a parameter)?

jitter

Re: MediaMonkey

Posted: Thu Oct 08, 2009 11:01 am
by Pako
Jitter,
thank you very much for testing the plugin and your comments.
jitterjames wrote:I don't notice any difference in speed from the old version. Load playlist by filter or sql is always slow no matter how I do it. Was this supposed to change with this version? I notice an option "wait" or "don't wait" but it doesn't seem to make a difference for me.
The "wait" or "do not wait" can not affect the acceleration of work MediaMonkey. It has a different meaning. You can choose between two options:
1) Eventghost is waiting for the completion of the action.
Advantage: EventGhost can get some information about the outcome of work performed (for example the number of found songs).
Disadvantage: Eventghost at that time "busy" (see the colour of icon in systray).
2) EventGhost is not waiting for the completion of the action.
Advantage: EventGhost is not busy and he can perform other work.
Disadvantage: EventGhost not receive any information about the outcome of work performed (it would perhaps was tackled by triggering events, but it is not user-friendly).
jitterjames wrote:I have 1 small but very annoying bug that seems to be new with this version. If I close mediamonkey manually (i.e. not by using eventghost) and then try to connect/start it using eventGhost I get the following error and it won't start ...
I then need to close and reopen eventGhost to get normal function again.
In the SVN repository is available corrected version. I hope, that I am in this fix not create a new bug. I tested very little.
jitterjames wrote: Thanks again for your hard work, and for putting in the features I asked for. Any idea if it is possible to call a mediaMonkey script (ideally passing it a parameter)?
The current version of MediaMonkey, you can run a script only emulation of keystroke. This of course does not passing of parameter. The passing parameter can be performed by the writing to a file (I use for similar purposes a small RAM disk). The script can read parameter from this file.
I can add a option to "write parameter to file" to dialog box "Send keys" action.

And what about my miserable English? You do have any suggestions for a better formulation of certain texts?

Pako

Re: MediaMonkey

Posted: Thu Oct 08, 2009 11:58 am
by jitterjames
Ok thanks for the explanation. Does that mean your functions are returning some results like the number of songs found by the sql query? Should I just look in eg.result ?

Your text, while not perfect is very good and all seems to make sense. In some cases your sentence structure is a bit "foreign" sounding but still makes sense.
Loads a MediaMonkey playlist defined by SQL query.
This action is for advanced users only. Here you can write YOUR OWN SQL query and USE it to select specific songs from MediaMonkey's database . YOU NEED ONLY ENTER THE WHERE CLAUSE INTO THE TEXT FIELD, but you can also add AN ORDER BY clause and LIMIT clause (I tried the OFFSET clause too, but without success).
The simplest query might look like this: Artist = "Beatles".
MediaMonkey's database is based on SQLite. Its documentation can be found at http://www.sqlite.org/docs.html . If you are beginner to SQL, you might get some help from a SQL tutorial. One hilarious is for example at http://www.firstsql.com/tutor2.htm . Pay particular attention to the WHERE Clause .
Why is that example hilarious?

Re: MediaMonkey

Posted: Thu Oct 08, 2009 12:07 pm
by jitterjames
Sorry Pako, but where can I find the svn repository?

I looked on source forge but they only seem to have up to version 939 from may, 2009.

Edit: nevermind I found it...

Would you like me to edit the English text directly in the _init_.py file and send it back to you?

Re: MediaMonkey

Posted: Thu Oct 08, 2009 12:40 pm
by jitterjames
Ooops. I now get very bizarre behaviour when I open mediaMonkey manually, but only if eventghost is not running.

If I try to open mediaMonkey manually when eventGhost is not running, it opens eventGhost! and then everything kind of freezes up and the mediaMonkey splash image stays on the screen with mediamonkey being minimized. very weird!

time passes...

OK I realize now that this has something to do with eventghost.vbs
If I remove it from the scripts/auto directory then everything is fine. That's not a big deal for me since I don't really use that function yet. Maybe one day I would like to though so maybe you could look into it at some point.

if I wait a long time (a couple minutes) mediaMonkey finally throws this error:
error#429
microsoft vbscript runtime error
activex component can't create object: 'eventghost'
file: ...\auto\evenghost.vbs line 35, column 15
I click ok and get:
error happened during script execution:
activeX component can't create object: 'eventgost'
then when I click OK, mediamonkey opens and eventghost closes.

So it looks like the vbs script needs to be more polite and check is eventghost is running or something, I guess?

Re: MediaMonkey

Posted: Thu Oct 08, 2009 12:45 pm
by Pako
jitterjames wrote:Sorry Pako, but where can I find the svn repository?

I looked on source forge but they only seem to have up to version 939 from may, 2009.

Edit: nevermind I found it...

Would you like me to edit the English text directly in the _init_.py file and send it back to you?
Of course, this is really great.
jitterjames wrote:Why is that example hilarious?
Bad Czech-English Dictionary. :D :D :D
Very sorry
FFE Software, Inc. !!! :(
Perhaps it could be as follows:
One well understood is for example at ...
Pako

Re: MediaMonkey

Posted: Thu Oct 08, 2009 12:58 pm
by Pako
jitterjames wrote:Ooops. I now get very bizarre behaviour when I open mediaMonkey manually, but only if eventghost is not running.
If I try to open mediaMonkey manually when eventGhost is not running, it opens eventGhost! and then everything kind of freezes up and the mediaMonkey splash image stays on the screen with mediamonkey being minimized. very weird!
time passes...
OK I realize now that this has something to do with eventghost.vbs
If I remove it from the scripts/auto directory then everything is fine. That's not a big deal for me since I don't really use that function yet. Maybe one day I would like to though so maybe you could look into it at some point.
if I wait a long time (a couple minutes) mediaMonkey finally throws this error:
error#429
microsoft vbscript runtime error
activex component can't create object: 'eventghost'
file: ...\auto\evenghost.vbs line 35, column 15
I click ok and get:
error happened during script execution:
activeX component can't create object: 'eventgost'
then when I click OK, mediamonkey opens and eventghost closes.

So it looks like the vbs script needs to be more polite and check is eventghost is running or something, I guess?
Yes, the problem is in the script "eventghost.vbs". I'll have to fix it.
Pako

Re: MediaMonkey

Posted: Thu Oct 08, 2009 1:40 pm
by jitterjames
ad Czech-English Dictionary.
Very sorry FFE Software, Inc. !!!
Perhaps it could be as follows:
One well understood is for example at ...
Pako
LOL. I though maybe it was something like that.

maybe I will edit the source code as a doc in microsoft word, using "track changes". Does that work for you, or would you prefer that I just send you the .py file with updated text?

If you want me to edit the .py file, I guess you won't be able to make any new changes until I am done editing it, correct?