General discussion

To discuss development of addons / skins / customization of MediaMonkey.

Moderator: jiri

General discussion

Postby Morten » Tue Jun 23, 2015 6:55 pm

Hi guys, long time no see (my fault).

Currently testing the first build of MM5 and I like what I see. What do you guys think?

To Jiri
Are there plans to support Spotify API so that a user can use both local files and streaming?
Best regards,
Morten
Morten
 
Posts: 1092
Joined: Thu Aug 11, 2005 11:31 am
Location: Norway

Re: General discussion

Postby jiri » Wed Jun 24, 2015 4:20 am

Hi Morten,

nice to have you back here!

We currently experiment with some streaming services support - see Rhapsody tab in an individual Artist view. Currently it's rather just an example of potential functionality, we'll look into it more - and suppose that something interesting might come from our scripters as well... ;-)

Jiri
jiri
 
Posts: 5290
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic

Re: General discussion

Postby mcow » Sat Jul 04, 2015 2:39 pm

Boy, things have really taken off here. Not.

The extension I wrote for MM4 runs a webserver in a separate process, and uses the COM interface to get access to the Player and its related events. (This is kind of similar to the MonkeyTunes plugin.) I wrote it in Python using the CherryPy webserver package.

So I've been poking around in the MM5 sources, and reading up on V8, and thinking about how I might reimplement for MM5. You guys get points
There are two potential paths:

1) Determine how to get interprocess communication (IPC) with the MM5 image so I can hook in to the player object and its events. My Python code is already written such that the COM interface is compartmentalized; if I can figure out the IPC, I can write a wrapper for the MM5 implementation and shouldn't have to change any of the code in the webserver implementation. I've been looking at the PyV8 project, which is not well maintained and maybe not even usable; it lets me write Python code that runs with V8 but that doesn't necessarily get me access to another process.

I might be able to write my own V8 extension to just implement the IPC.

2) Reimplement the webserver in a V8-compatible form and hook it directly into the MM5 executable, running in the same V8 process. So far, the most likely platform for this is node.js, which has support for creating servers; maybe I can find a decent webserver implementation already (I've seen several trivial node.js webservers). I don't really look forward to reimplementing all the CherryPy features that I make use of, whether in JavaScript or C++ compiled to run with V8.

So, devs: Is there an IPC mechanism? Or if not, will you provide one?
mcow
 
Posts: 813
Joined: Sun Sep 21, 2008 9:35 pm
Location: Cupertino, California

Re: General discussion

Postby PetrCBR » Mon Jul 06, 2015 8:54 am

We've decided to implement some of the COM interfaces (mainly Player, Menu..) in next preview.
PetrCBR
 
Posts: 1337
Joined: Tue Mar 07, 2006 5:31 pm
Location: Czech

Re: General discussion

Postby mcow » Mon Jul 06, 2015 11:41 pm

Good to know, thanks!
mcow
 
Posts: 813
Joined: Sun Sep 21, 2008 9:35 pm
Location: Cupertino, California

Re: General discussion

Postby jiri » Tue Jul 07, 2015 10:17 am

As for IPC in general, it'd be interesting to hear some requirements/expectations you have. Some basics will be possible through COM (as in MM4), but then there are more options. For example, after establishing the COM connection, arbitrary JS code could be executed, thus giving external applications the same level of flexibility as native MM scripts. However, due to security concerns (any app could execute any code in MM5 process), I'd rather limit the IPC communication to something less generic. Any ideas re. when a more flexible approach might be useful?

Jiri
jiri
 
Posts: 5290
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic

Re: General discussion

Postby mcow » Fri Jul 10, 2015 12:09 am

In my extension, nearly every COM feature I use is via SDB.Player.
The exception is the event model, since all the events come through SDB. I do some manipulation of SDB.SongList and the Songs in that list.

I want a clean way to pass a value to my script, so the script could know to shut down.

I would like a way to disable the OnIdle event, if not get rid of it entirely.

I would love to see SDB.Player host its own events instead of proxying through SDB.

And it would be a useful exercise to revisit the sequencing of events during the player control process: which events get sent at exactly what time (PlaybackEnd occurs even if playback is continuing to the next song), which properties cause events (I have to poll for changes to StopAfterCurrent and CurrentSongIndex).

But that's all refinement of the existing model. I'm happy to use COM.
mcow
 
Posts: 813
Joined: Sun Sep 21, 2008 9:35 pm
Location: Cupertino, California

Re: General discussion

Postby dtsig » Fri Feb 19, 2016 10:25 am

Do you want reports of things that don't work correctly in the new builds or just scripting errors?
Where's the db and ini stored
Reporting Bugs
Where tags are stored

Not affiliated with MediaMonkey ... just a RABID user/lover
DTSig
dtsig
 
Posts: 2740
Joined: Mon Jan 24, 2011 6:34 pm

Re: General discussion

Postby PetrCBR » Fri Feb 19, 2016 3:21 pm

Please, write us any suggestions/issues you have.
About COM implementation .. just small portion of COM is implemented. Using COM you can run any JS script:
Code: Select all
Dim SDB : Set SDB = CreateObject("SongsDB5.SDBApplication")
SDB.runJSCode ....
PetrCBR
 
Posts: 1337
Joined: Tue Mar 07, 2006 5:31 pm
Location: Czech

Re: General discussion

Postby mcow » Sat Feb 20, 2016 5:33 pm

OK, so. I don't know if any of these are theme-specific; I thought I saw some differences in available features as I checked out different themes, but I didn't make any notes.

Overall, MM5 has clearly gotten some work and is close to usable; but until it scrobbles, it'll remain on the shelf.

To start on a positive note: One difference from MM4 that I like is the device options placed in the Tree view. However, I only want to see the actual devices I use. The thumbdrives and the internal storage of my Samsung tablet should not be listed there (they are deselected in the MM4 options). I assume iPod support will come later.

Also, the Browser view is pretty nice, with the Wikipedia information. For Artist, the Related Artists suggestions can be kind of schizoid; not sure where those are coming from. Being able to configure more sources (AllMusic? last.fm?) would be cool, but probably limited by those sites' terms-of-use. Browser view for an Album was sometimes incomplete (missing even the "continue reading at Wikipeda" link, and just a partial track list).



Bugs: right now, the UI has a tree with "Albums" highlighted, and a big empty content pane, and it's completely unresponsive to clicks. I can drag the window, however. Earlier, a few alarming complete UI lockups: even the mouse was not moving, which I haven't seen since the Windows 3.1 days.

OK, I just killed MM5 in Process Explorer. There were two sub-processes, both called "MediaMonkeyEngine" -- is that expected? After killing it, I got a popup with "This application has leaked memory," and one of the Engine processes is still in existence. This second process might be because I had tried opening a SongsDB5 object in Python, which was still open, but when I exited Python, the Engine process persisted.


In the tree: Album Artists and Year nodes under Music are essential, but missing. Composer and Publisher and Genres and Classification and Location: Not useful to me. I assume some customization of the tree's contents will be available out of the box, eventually.

The view of the top level collection node ("Music") shows me the last several artists I listened to and beneath that the last several albums I listened to. Since these will usually align one-to-one, it doesn't seem like a good way to do that. Anyway, I don't find the historical view useful; if I could specify a source (e.g. an autoplaylist) to draw those items from, it could be very useful. Which suggests an AutoArtistList (like an AutoPlayList) as a feature.

The "Art" and "Art+Details" views do not appear to be available. If viewing "Albums", we see Art -- and the horizontal scrolling of that is pretty nice.
But I have playlists that I view as "Art" and "Art+Details" in MM4; they're less useful with the text display options now provided. And what is "Mixed Content" supposed to be useful for? All that space spent to display subnodes is a waste. I guess maybe for a touch interface this might be useful, but the Layout option is not set to Touch.

I do not like the menus relegated to a "continuation" icon in the upper-right corner. I like traditional Windows menus. I realize this is a losing battle.
mcow
 
Posts: 813
Joined: Sun Sep 21, 2008 9:35 pm
Location: Cupertino, California

Re: General discussion-Rip cd

Postby dtsig » Sun Feb 21, 2016 12:19 pm

I pop in a cd and it never shows up in the tree.
I go to My Computer and select the cd drive and Track01-07 appears ... it never gets the track information
I try to rip the drive and fails after the first track. And there is no place to edit the album,artist,track information

The twirly things twirls for about a minute .. the drive gets busy .. then it hangs. There is no way to tell where it is is the process .. should have a ripping window that shows how far it has gotten.

MMW locks up. Task mgr only way to kill.

I got several error boxes .. This application leaked memory .. You are trying to save some covers (???) .. this application frozen

EDITED: I found that this AM it did 3 tracks before it locked up. The first 2 tracks were the same track .. track 7. The third I couldn't play but my guess is it would be track 7 also.
Last edited by dtsig on Sun Feb 21, 2016 12:54 pm, edited 1 time in total.
Where's the db and ini stored
Reporting Bugs
Where tags are stored

Not affiliated with MediaMonkey ... just a RABID user/lover
DTSig
dtsig
 
Posts: 2740
Joined: Mon Jan 24, 2011 6:34 pm

Re: General discussion-Views

Postby dtsig » Sun Feb 21, 2016 12:44 pm

Maybe it just isn't ready yet but how do i get out of art-details and just see the nice table with all my data? I tried unclicking Art Details but there isn't anything else to select
Where's the db and ini stored
Reporting Bugs
Where tags are stored

Not affiliated with MediaMonkey ... just a RABID user/lover
DTSig
dtsig
 
Posts: 2740
Joined: Mon Jan 24, 2011 6:34 pm

Re: General discussion-Socket error autotag

Postby dtsig » Sun Feb 21, 2016 12:50 pm

After importing an album I tried to autotag from the web and it got 'socket error 1102'. Was working find with MMW 4.x
Where's the db and ini stored
Reporting Bugs
Where tags are stored

Not affiliated with MediaMonkey ... just a RABID user/lover
DTSig
dtsig
 
Posts: 2740
Joined: Mon Jan 24, 2011 6:34 pm

Re: General discussion-video not appearing

Postby dtsig » Sun Feb 21, 2016 1:06 pm

mp4 vid not working. Sound is great but just a blank screen.
Where's the db and ini stored
Reporting Bugs
Where tags are stored

Not affiliated with MediaMonkey ... just a RABID user/lover
DTSig
dtsig
 
Posts: 2740
Joined: Mon Jan 24, 2011 6:34 pm

Re: General discussion-video not appearing

Postby PetrCBR » Sun Feb 21, 2016 2:41 pm

Thanks for you feedback. Many functionality is not implemented yet. About processes ... one MediaMonkey and two MediaMonkeyEngine are expected.
Art and Art + Details view - it's not implemented, but any 3rd party script can add that views (it's about adding new view handlers and item template) .. it's the power of new scripting.
PetrCBR
 
Posts: 1337
Joined: Tue Mar 07, 2006 5:31 pm
Location: Czech


Return to MediaMonkey 5 developer forum

Who is online

Users browsing this forum: No registered users and 1 guest

cron