[REQ] Replacing a file in the library (transfering metadata from track to track)

Get help for different MediaMonkey 5 Addons.

Moderators: jiri, drakinite, Addon Administrators

tbessie
Posts: 405
Joined: Wed Jan 18, 2006 3:50 am

Re: [REQ] Replacing a file in the library (transfering metadata from track to track)

Post by tbessie »

drakinite wrote: Wed Mar 09, 2022 7:51 pm
If you're interested, then by all means give it a shot! We've got an introductory document here, which is hopefully approachable enough: https://www.mediamonkey.com/wiki/Gettin ... d_(Addons) and a more complete API reference here: https://www.mediamonkey.com/docs/api/ Personally as a JS developer, I found MM5 relatively easy to examine, since all the UI code is right in the install folder for you to see. I had a lot of fun in the summer of 2020 poking through that code :grin:

I think the majority of MM addons came from individual users who wanted a way to automate things that they found tedious, and then built them into general tools when it turned out that others had the same need.
Thanks for the links, I'll take a look! Like I said, I'm pretty busy as it is, but I could get motivated.

Is the entire plugin architecture in JavaScript and JSON? Or are other languages involved? The 1st document you refer to mentions DLLs - does that imply I can link in compiled Windows code for this or something?

I've done plenty of raw JavaScript programming, but don't love it (I like compiled, strongly-typed languages like Java, which is what I mostly work in, or C, which I used to do most of my work on). JavaScript has gotten more and more powerful, but it still has lots of things I find annoying. At my current job, they're trying to move everything on our project to React eventually; we all took a training in that, but I haven't gotten to use it yet.

- Tim
drakinite
Posts: 965
Joined: Tue May 12, 2020 10:06 am
Contact:

Re: [REQ] Replacing a file in the library (transfering metadata from track to track)

Post by drakinite »

tbessie wrote: Thu Mar 10, 2022 2:48 am Thanks for the links, I'll take a look! Like I said, I'm pretty busy as it is, but I could get motivated.

Is the entire plugin architecture in JavaScript and JSON? Or are other languages involved? The 1st document you refer to mentions DLLs - does that imply I can link in compiled Windows code for this or something?

I've done plenty of raw JavaScript programming, but don't love it (I like compiled, strongly-typed languages like Java, which is what I mostly work in, or C, which I used to do most of my work on). JavaScript has gotten more and more powerful, but it still has lots of things I find annoying. At my current job, they're trying to move everything on our project to React eventually; we all took a training in that, but I haven't gotten to use it yet.

- Tim
For MM5, I'm pretty sure DLLs only apply to audio-related plugins like codecs, DSP effects, and audio outputs (sorry).
It might be possible to make a DLL plugin and use the COM API, but support is relatively limited and you can't control UI elements in COM.

The entire UI of MediaMonkey is now controlled by JavaScript, while the complex data operations like the database and file tagging are handled with native code. The advantage of this is that addons can control and override anything in the UI with JS: https://www.mediamonkey.com/wiki/Gettin ... dons)#Code
If you prefer strongly typed languages, you might be able to write addons in TypeScript (a strongly typed superset of JS) and compile it into JS. haven't used TypeScript myself, though, so I wouldn't know exactly how to do that. I've been meaning to write .d.ts "header" files for MM objects & elements, though, which may help with the development process.

The only element of JSON that's used in addon development is the single info.json file, which contains metadata for the addon. (And in the case of skins, it lets you provide user-configurable options). I hope all the JS doesn't scare you off - if you're still interested and need help with anything, feel free to send me a PM. :slight_smile:
Image
Student electrical-computer engineer, web programmer, part-time MediaMonkey developer, full-time MediaMonkey enthusiast
I uploaded many addons to MM's addon page, but not all of those were created by me. "By drakinite, Submitted by drakinite" means I made it on my own time. "By Ventis Media, Inc., Submitted by drakinite" means it may have been made by me or another MediaMonkey developer, so instead of crediting/thanking me, please thank the team. You can still ask me for support on any of our addons.
tbessie
Posts: 405
Joined: Wed Jan 18, 2006 3:50 am

Re: [REQ] Replacing a file in the library (transfering metadata from track to track)

Post by tbessie »

Thanks again for all the info! I'll definitely ping you if I need some help!

- Tim
ed.j
Posts: 201
Joined: Thu May 19, 2011 1:44 pm

Re: [REQ] Replacing a file in the library (transfering metadata from track to track)

Post by ed.j »

Good discussion in here but it looks like none of the suggestions (other than go back to MM4!) are really much easier than doing it the manual way. I'm going through more upgrades and it is a pain once again!
drakinite wrote: Wed Mar 09, 2022 11:09 am I'm starting work on a "metadata manipulator" addon which brings that capability to the new MediaMonkey, but it's still in its early stages.
Amazing! Thank you!
Friedrich wrote: Sun Dec 12, 2021 6:28 am
drakinite wrote: Sat Dec 11, 2021 11:54 pm I believe that copying & pasting tags is a feature of Advanced Duplicate Find & Fix
Yes, it is. It provides two entries in the context menu for a selected track: "Copy metadata" and "Paste metadata". Hitting "Paste metadata" on a single or multiple selected tracks opens a options window, where the desired tags to be pasted can be chosen.
Very useful for retagging single or multiple tracks like whole albums (excluding title and track number in that case..) or whatever.
I think that is exactly the function the thread opener is asking for.
Very desirable indeed.
The thread title is a bit of a misnomer.
No, the thread title is not a misnomer. ADF&F is pretty much what I'm looking for but it's not available for MM5.
boober
Posts: 58
Joined: Sat Mar 11, 2017 4:44 pm

Re: [REQ] Replacing a file in the library (transfering metadata from track to track)

Post by boober »

drakinite wrote: Wed Mar 09, 2022 11:09 amWithout word from the author on whether he's going to bring ADF&F to MM5, I'm starting work on a "metadata manipulator" addon which brings that capability to the new MediaMonkey, but it's still in its early stages.
Yes, please, this!

ADFF is a big part of what made MM the right management library for me. A metadata manipulator alone would bring back most of the functionality I need for many of the reasons others have named in this thread.
Post Reply