Skip to content
Open
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,16 @@ you link in the C++ standard library:

gcc -o test_app test_app.c -lmusicbrainz5 -lm -lstdc++


Generating the libmusicbrainz5 Visual Studio solution using CMake GUI
---------------------------------------------------------------------
1. Download [Neon] (http://www.webdav.org/neon/) and extract it.
2. In Visual Studio command prompt (not regular cmd.exe), navigate to the Neon extract folder and execute: *nmake /f neon.mak*
3. Point CMake at the libmusicbrainz source. Specify a build location and click Configure. Specify the appropriate generator.
4. CMake should complain that it cannot find Neon. Set *NEON_INCLUDE_DIR* to *{neon_extract}\src* and *NEON_LIBRARIES* to *{neon_extract}\libneon.lib*
5. Click Configure again and then Generate. This will have generated a VS solution for you which should build without issue.


Contact
-------

Expand Down
4 changes: 3 additions & 1 deletion include/musicbrainz5/Alias.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
#include <string>
#include <iostream>

#include "musicbrainz5/defines.h"

#include "musicbrainz5/Entity.h"

#include "musicbrainz5/xmlParser.h"
Expand All @@ -36,7 +38,7 @@ namespace MusicBrainz5
{
class CAliasPrivate;

class CAlias: public CEntity
class MB_API CAlias: public CEntity
{
public:
CAlias(const XMLNode& Node);
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Annotation.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CAnnotationPrivate;

class CAnnotation: public CEntity
class MB_API CAnnotation: public CEntity
{
public:
CAnnotation(const XMLNode& Node);
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Artist.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ namespace MusicBrainz5
class CRating;
class CUserRating;

class CArtist: public CEntity
class MB_API CArtist: public CEntity
{
public:
CArtist(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/ArtistCredit.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CArtistCreditPrivate;

class CArtistCredit: public CEntity
class MB_API CArtistCredit: public CEntity
{
public:
CArtistCredit(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Attribute.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CAttributePrivate;

class CAttribute: public CEntity
class MB_API CAttribute: public CEntity
{
public:
CAttribute(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/CDStub.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ namespace MusicBrainz5
{
class CCDStubPrivate;

class CCDStub: public CEntity
class MB_API CCDStub: public CEntity
{
public:
CCDStub(const XMLNode& Node);
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Collection.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ namespace MusicBrainz5
{
class CCollectionPrivate;

class CCollection: public CEntity
class MB_API CCollection: public CEntity
{
public:
CCollection(const XMLNode& Node);
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Disc.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ namespace MusicBrainz5
{
class CDiscPrivate;

class CDisc: public CEntity
class MB_API CDisc: public CEntity
{
public:
CDisc(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
6 changes: 4 additions & 2 deletions include/musicbrainz5/Entity.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,17 @@
#include <sstream>
#include <map>

#include "musicbrainz5/defines.h"
#include "musicbrainz5/xmlParser.h"


namespace MusicBrainz5
{
class CEntityPrivate;

class CRelationListList;

class CEntity
class MB_API CEntity
{
public:
CEntity();
Expand Down Expand Up @@ -111,6 +113,6 @@ namespace MusicBrainz5
};
}

std::ostream& operator << (std::ostream& os, const MusicBrainz5::CEntity& Entity);
MB_API std::ostream& operator << (std::ostream& os, const MusicBrainz5::CEntity& Entity);

#endif
2 changes: 1 addition & 1 deletion include/musicbrainz5/FreeDBDisc.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ namespace MusicBrainz5
{
class CFreeDBDiscPrivate;

class CFreeDBDisc: public CEntity
class MB_API CFreeDBDisc: public CEntity
{
public:
CFreeDBDisc(const XMLNode& Node);
Expand Down
16 changes: 8 additions & 8 deletions include/musicbrainz5/HTTPFetch.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ namespace MusicBrainz5
{
class CHTTPFetchPrivate;

class CExceptionBase: public std::exception
class MB_API CExceptionBase: public std::exception
{
public:
CExceptionBase(const std::string& ErrorMessage, const std::string& Exception)
Expand All @@ -59,7 +59,7 @@ namespace MusicBrainz5
* Exception thrown when an error occurs connecting to web service
*/

class CConnectionError: public CExceptionBase
class MB_API CConnectionError: public CExceptionBase
{
public:
CConnectionError(const std::string& ErrorMessage)
Expand All @@ -72,7 +72,7 @@ namespace MusicBrainz5
* Exception thrown when a connection to the web service times out
*/

class CTimeoutError: public CExceptionBase
class MB_API CTimeoutError: public CExceptionBase
{
public:
CTimeoutError(const std::string& ErrorMessage)
Expand All @@ -85,7 +85,7 @@ namespace MusicBrainz5
* Exception thrown when an authentication error occurs
*/

class CAuthenticationError: public CExceptionBase
class MB_API CAuthenticationError: public CExceptionBase
{
public:
CAuthenticationError(const std::string& ErrorMessage)
Expand All @@ -98,7 +98,7 @@ namespace MusicBrainz5
* Exception thrown when an error occurs fetching data
*/

class CFetchError: public CExceptionBase
class MB_API CFetchError: public CExceptionBase
{
public:
CFetchError(const std::string& ErrorMessage)
Expand All @@ -111,7 +111,7 @@ namespace MusicBrainz5
* Exception thrown when an invalid request is made
*/

class CRequestError: public CExceptionBase
class MB_API CRequestError: public CExceptionBase
{
public:
CRequestError(const std::string& ErrorMessage)
Expand All @@ -124,7 +124,7 @@ namespace MusicBrainz5
* Exception thrown when the requested resource is not found
*/

class CResourceNotFoundError: public CExceptionBase
class MB_API CResourceNotFoundError: public CExceptionBase
{
public:
CResourceNotFoundError(const std::string& ErrorMessage)
Expand All @@ -139,7 +139,7 @@ namespace MusicBrainz5
* Object to be used to make HTTP requests
*
*/
class CHTTPFetch
class MB_API CHTTPFetch
{
public:
/**
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/IPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CIPIPrivate;

class CIPI: public CEntity
class MB_API CIPI: public CEntity
{
public:
CIPI(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/ISRC.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ namespace MusicBrainz5
{
class CISRCPrivate;

class CISRC: public CEntity
class MB_API CISRC: public CEntity
{
public:
CISRC(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
4 changes: 3 additions & 1 deletion include/musicbrainz5/ISWC.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
#include <string>
#include <iostream>

#include "musicbrainz5/defines.h"

#include "musicbrainz5/Entity.h"

#include "musicbrainz5/xmlParser.h"
Expand All @@ -36,7 +38,7 @@ namespace MusicBrainz5
{
class CISWCPrivate;

class CISWC: public CEntity
class MB_API CISWC: public CEntity
{
public:
CISWC(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
5 changes: 3 additions & 2 deletions include/musicbrainz5/ISWCList.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,13 @@

#include "musicbrainz5/xmlParser.h"

#include "musicbrainz5/ISWC.h"

namespace MusicBrainz5
{
class CISWC;
class CISWCListPrivate;

class CISWCList: public CListImpl<CISWC>
class MB_API CISWCList: public CListImpl<CISWC>
{
public:
CISWCList(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Label.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ namespace MusicBrainz5
class CRating;
class CUserRating;

class CLabel: public CEntity
class MB_API CLabel: public CEntity
{
public:
CLabel(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/LabelInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ namespace MusicBrainz5

class CLabel;

class CLabelInfo: public CEntity
class MB_API CLabelInfo: public CEntity
{
public:
CLabelInfo(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Lifespan.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CLifespanPrivate;

class CLifespan: public CEntity
class MB_API CLifespan: public CEntity
{
public:
CLifespan(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/List.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ namespace MusicBrainz5
{
class CListPrivate;

class CList: public CEntity
class MB_API CList: public CEntity
{
public:
CList();
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Medium.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ namespace MusicBrainz5
{
class CMediumPrivate;

class CMedium: public CEntity
class MB_API CMedium: public CEntity
{
public:
CMedium(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
6 changes: 4 additions & 2 deletions include/musicbrainz5/MediumList.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@

#include "musicbrainz5/xmlParser.h"

#include "musicbrainz5/Medium.h"


namespace MusicBrainz5
{
class CMedium;
class CMediumListPrivate;

class CMediumList: public CListImpl<CMedium>
class MB_API CMediumList: public CListImpl<CMedium>
{
public:
CMediumList(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Message.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CMessagePrivate;

class CMessage: public CEntity
class MB_API CMessage: public CEntity
{
public:
CMessage(const XMLNode& Node);
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Metadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ namespace MusicBrainz5
class CCDStub;
class CMessage;

class CMetadata: public CEntity
class MB_API CMetadata: public CEntity
{
public:
CMetadata(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/NameCredit.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ namespace MusicBrainz5

class CArtist;

class CNameCredit: public CEntity
class MB_API CNameCredit: public CEntity
{
public:
CNameCredit(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/NonMBTrack.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CNonMBTrackPrivate;

class CNonMBTrack: public CEntity
class MB_API CNonMBTrack: public CEntity
{
public:
CNonMBTrack(const XMLNode& Node);
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/PUID.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace MusicBrainz5
{
class CPUIDPrivate;

class CPUID: public CEntity
class MB_API CPUID: public CEntity
{
public:
CPUID(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Query.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ namespace MusicBrainz5
* library. Users of the C library should take note of the documentation for each
* individual function in mb5_c.h
*/
class CQuery
class MB_API CQuery
{
public:
typedef std::map<std::string,std::string> tParamMap;
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Recording.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ namespace MusicBrainz5
class CRating;
class CUserRating;

class CRecording: public CEntity
class MB_API CRecording: public CEntity
{
public:
CRecording(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
2 changes: 1 addition & 1 deletion include/musicbrainz5/Relation.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ namespace MusicBrainz5
class CLabel;
class CWork;

class CRelation: public CEntity
class MB_API CRelation: public CEntity
{
public:
CRelation(const XMLNode& Node=XMLNode::emptyNode());
Expand Down
Loading