Skip to content

Instantly share code, notes, and snippets.

@seven-mile
Last active May 19, 2022 04:15
Show Gist options
  • Save seven-mile/0653d23885abf1e97d663386f8c6f5f3 to your computer and use it in GitHub Desktop.
Save seven-mile/0653d23885abf1e97d663386f8c6f5f3 to your computer and use it in GitHub Desktop.
music library
#pragma once
#include "aimp_sdk/apiMusicLibrary.h"
class MusicLibraryProvider : public winrt::implements<MusicLibraryProvider, IAIMPMLDataProvider, IAIMPMLExtensionDataStorage>
{
public:
HRESULT WINAPI GetData(IAIMPObjectList* Fields, IAIMPMLDataFilter* Filter, IUnknown** Data) {
return S_OK;
}
// ============
virtual void WINAPI Finalize() {
}
virtual void WINAPI Initialize(IAIMPMLDataStorageManager* Manager) {
}
// Config
virtual HRESULT WINAPI ConfigLoad(IAIMPConfig *Config, IAIMPString* Section) {
return S_OK;
}
virtual HRESULT WINAPI ConfigSave(IAIMPConfig *Config, IAIMPString* Section) {
return S_OK;
}
// Schemas
virtual HRESULT WINAPI GetFields(int Schema, IAIMPObjectList** List) {
return S_OK;
}
virtual HRESULT WINAPI GetGroupingPresets(int Schema, IAIMPMLGroupingPresets* Presets) {
return S_OK;
}
// Build-in Commands
virtual void WINAPI FlushCache(int Reserved /*= 0*/) {
}
virtual void WINAPI BeginUpdate() {
}
virtual void WINAPI EndUpdate() {
}
virtual HRESULT WINAPI Reset() {
return S_OK;
}
// Read
virtual HRESULT WINAPI GetValueAsFloat(int PropertyID, double *Value) {
return S_OK;
}
virtual HRESULT WINAPI GetValueAsInt32(int PropertyID, int *Value) {
return S_OK;
}
virtual HRESULT WINAPI GetValueAsInt64(int PropertyID, INT64 *Value) {
return S_OK;
}
virtual HRESULT WINAPI GetValueAsObject(int PropertyID, REFIID IID, void **Value) {
return S_OK;
}
// Write
virtual HRESULT WINAPI SetValueAsFloat(int PropertyID, const double Value) {
return S_OK;
}
virtual HRESULT WINAPI SetValueAsInt32(int PropertyID, int Value) {
return S_OK;
}
virtual HRESULT WINAPI SetValueAsInt64(int PropertyID, const INT64 Value) {
return S_OK;
}
virtual HRESULT WINAPI SetValueAsObject(int PropertyID, IUnknown *Value) {
return S_OK;
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment