Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_discogs (Read 1363775 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_discogs

Reply #1375
Post the source code... I'll take a look and maybe update it if I find time... (no promises I'm too busy these days).

Is OAuth support necessary just to access release info? There should be no need to log in to discogs?

foo_discogs

Reply #1376
Thanks for all work You put into this plugin. It helped many people to spent less time on tagging.

foo_discogs

Reply #1377
Here's a dump of the v1.32 source

To build it you need to place the foo_discogs project in a VC++ solution and add these dependencies to the foo_discogs project:

- foobar2000_component_client
- foobar2000_SDK
- foobar2000_SDK_helpers
- pfc


The abstract class IDiscogs encapsulates fetching + parsing Discogs data and populating data structures (classes) representing release, artists, etc.
There's a single implementation in DiscogsXMLParser.cpp.  To support JSON, a new implementation must be written using the XML
implementation as an example to fill the data structures exactly the same way.
For parsing JSON, I had good success with the Jansson lib for another project.

And there's the PITA named OAuth (v1) to handle. It will be required for search requests and probably more as discogs devs have become OAuth freaks.
For this, I suggest to research if an easy C/C++ OAuth lib exists first.

If someone picks up this project let us know to avoid duplicate effort.

foo_discogs

Reply #1378
Thanks bubbleguum. I'm taking a stab at it. Others can feel free to race me. Haven't used C++ since school so I'm pretty rusty. Forgot about the joys of trying to compile and link everything properly on windows. :-)

foo_discogs

Reply #1379
Here is a working version (DLL):
https://www.sendspace.com/file/f8926e

It uses the JSON API for searching artist and getting artist releases, but still uses the old XML interface for everything else. It seems a bit slower at loading releases, too.

Big thanks to bubbleguuum for starting this project and releasing the source code.

 

foo_discogs

Reply #1380
Thanks zoomorph!!

foo_discogs

Reply #1381
Here is a working version (DLL):
https://www.sendspace.com/file/f8926e

It uses the JSON API for searching artist and getting artist releases, but still uses the old XML interface for everything else. It seems a bit slower at loading releases, too.

Big thanks to bubbleguuum for starting this project and releasing the source code.


It works with searching, but tagging fails in my case (some endpoint related error). Anybody else the same?

foo_discogs

Reply #1382
It works with searching, but tagging fails in my case (some endpoint related error). Anybody else the same?


Same.  When I click "Write Tags" I get

discogs error: release id=xxxxxx: problem connecting to discogs.com


foo_discogs

Reply #1384
It works with searching, but tagging fails in my case (some endpoint related error). Anybody else the same?


Same.  When I click "Write Tags" I get

discogs error: release id=xxxxxx: problem connecting to discogs.com

Hmm weird, it works for me and I didn't change anything in the code relating to loading the release info or writing tags. I'm not a C++ expert so maybe I compiled something wrong (I compiled on MSVC 2013 using platform toolset for Windows XP (v120_xp)). By the way, what version of foobar2000 are you using? I'm using the latest official version.

foo_discogs

Reply #1385
Works for me too. Win8.1 x64, foobar2000 1.3.3
Thanks zoomorph and bubleguuum

foo_discogs

Reply #1386
Good to hear that lucido!

Here's another build that uses the JSON API exclusively. (According to their website, the rest of the XML API will be shut off on Aug 22.)
https://www.sendspace.com/file/igsvhu

I've not tackled OAuth support as they've bumped the deadline to Oct 14.

foo_discogs

Reply #1387
Good to hear that lucido!

Here's another build that uses the JSON API exclusively. (According to their website, the rest of the XML API will be shut off on Aug 22.)
https://www.sendspace.com/file/igsvhu

I've not tackled OAuth support as they've bumped the deadline to Oct 14.



Thanks for your work! I've updated the components site with your version (1.33).
It will be picked by the foobar2000 auto-updater.
If you make new updates make sure to bump the version number and I'll upload it to the components site.

That's good news OAuth has been pushed back as it give more time to add support for it.

foo_discogs

Reply #1388
Here's another build that uses the JSON API exclusively.

Silent Crash for me after search. WinXP, foobar2000 1.3.3
Thanks zoomorph and bubleguuum

foo_discogs

Reply #1389
I apologize for any bugs. I'm not sure how compatible my builds are. I'm sure bubbleguuum and others here are more knowledgeable so maybe they can help. Here is the source code using the JSON api: https://bitbucket.org/zoomorph/foo_discogs


foo_discogs

Reply #1391
Silent as in you do not even see the crash report dialog ?

yes, nothing also in "crash reports" folder.
Quote
At which point does it crash (detailed steps to reproduce) ?

I click button plugin over a previous filled discogos mp3 tag, it open dialog form, i write artist and click "Search", it find and crash.
Sometimes it does not crash immediately but I can scroll through the artists list but after crashes anyway.



foo_discogs

Reply #1394
The error while writing tags can be resolved by deleting any old foo_discogs.dll.cfg file in the configuration folder of foobar.
Probably foobar 1.3.3. should also be the current version.

Cheers!

foo_discogs

Reply #1395
Many Thanks to bubbleguuum and zoomorph for continuing this hilarious plugin. Tagging works fine (although it crashed once until now) but album art is not fetched. Newest version of foobar is installed and i deleted the old foo_discogs.dll.cfg. Anyone else with that problem?

foo_discogs

Reply #1396
1. Is it recommended to uninstall foo_discogs before installing this latest version?

2. Could someone post a brief WiKi of what will work and what won't work?

foo_discogs

Reply #1397
The problem seems to mapping related. Editing the mapping after deleting the old config brings the error back.
It seems that some or at least one mapping is broken (if you choose all DISCOGS_ ... fields)

foo_discogs

Reply #1398
Thanks bubbleguuum and zoomorph, the new version works perfectly. Damn quick update!

foo_discogs

Reply #1399
Thanks for the update!

Some points:
- deleting old foo_discogs.dll.cfg helps - otherwise I got error connecting to discogs database;
- my config writes <DISCOGS_FORMAT>, and after update it started to write "CD, @lbum" instead of "CD, Album";
- fetching album art doesn't work;
- composite name doesn't work. E.g. for this release Artist name is returned as "LA Vampires , Ital" instead of "LA Vampires Goes Ital". I guess,  for %artist% all text (non-link) words are replaced with " , ".