Add stubs for IUnitInfo

This is a big boy.
This commit is contained in:
Robbert van der Helm
2020-12-26 21:17:59 +01:00
parent f940d3371b
commit aed369c4be
8 changed files with 285 additions and 2 deletions
@@ -439,3 +439,101 @@ tresult PLUGIN_API Vst3PluginProxyImpl::terminate() {
return bridge.send_message(
YaPluginBase::Terminate{.instance_id = instance_id()});
}
int32 PLUGIN_API Vst3PluginProxyImpl::getUnitCount() {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getUnitCount()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::getUnitInfo(int32 unitIndex,
Steinberg::Vst::UnitInfo& info /*out*/) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getUnitInfo()");
return Steinberg::kNotImplemented;
}
int32 PLUGIN_API Vst3PluginProxyImpl::getProgramListCount() {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getProgramListCount()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API Vst3PluginProxyImpl::getProgramListInfo(
int32 listIndex,
Steinberg::Vst::ProgramListInfo& info /*out*/) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getProgramListInfo()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::getProgramName(Steinberg::Vst::ProgramListID listId,
int32 programIndex,
Steinberg::Vst::String128 name /*out*/) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getProgramName()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API Vst3PluginProxyImpl::getProgramInfo(
Steinberg::Vst::ProgramListID listId,
int32 programIndex,
Steinberg::Vst::CString attributeId /*in*/,
Steinberg::Vst::String128 attributeValue /*out*/) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getProgramInfo()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::hasProgramPitchNames(Steinberg::Vst::ProgramListID listId,
int32 programIndex) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::hasProgramPitchNames()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API Vst3PluginProxyImpl::getProgramPitchName(
Steinberg::Vst::ProgramListID listId,
int32 programIndex,
int16 midiPitch,
Steinberg::Vst::String128 name /*out*/) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getProgramPitchName()");
return Steinberg::kNotImplemented;
}
Steinberg::Vst::UnitID PLUGIN_API Vst3PluginProxyImpl::getSelectedUnit() {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getSelectedUnit()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::selectUnit(Steinberg::Vst::UnitID unitId) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::selectUnit()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::getUnitByBus(Steinberg::Vst::MediaType type,
Steinberg::Vst::BusDirection dir,
int32 busIndex,
int32 channel,
Steinberg::Vst::UnitID& unitId /*out*/) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::getUnitByBus()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::setUnitProgramData(int32 listOrUnitId,
int32 programIndex,
Steinberg::IBStream* data) {
// TODO: Implement
bridge.logger.log("TODO: IUnitInfo::setUnitProgramData()");
return Steinberg::kNotImplemented;
}
@@ -124,6 +124,44 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
tresult PLUGIN_API initialize(FUnknown* context) override;
tresult PLUGIN_API terminate() override;
// From `IUnitInfo`
int32 PLUGIN_API getUnitCount() override;
tresult PLUGIN_API
getUnitInfo(int32 unitIndex,
Steinberg::Vst::UnitInfo& info /*out*/) override;
int32 PLUGIN_API getProgramListCount() override;
tresult PLUGIN_API
getProgramListInfo(int32 listIndex,
Steinberg::Vst::ProgramListInfo& info /*out*/) override;
tresult PLUGIN_API
getProgramName(Steinberg::Vst::ProgramListID listId,
int32 programIndex,
Steinberg::Vst::String128 name /*out*/) override;
tresult PLUGIN_API
getProgramInfo(Steinberg::Vst::ProgramListID listId,
int32 programIndex,
Steinberg::Vst::CString attributeId /*in*/,
Steinberg::Vst::String128 attributeValue /*out*/) override;
tresult PLUGIN_API
hasProgramPitchNames(Steinberg::Vst::ProgramListID listId,
int32 programIndex) override;
tresult PLUGIN_API
getProgramPitchName(Steinberg::Vst::ProgramListID listId,
int32 programIndex,
int16 midiPitch,
Steinberg::Vst::String128 name /*out*/) override;
Steinberg::Vst::UnitID PLUGIN_API getSelectedUnit() override;
tresult PLUGIN_API selectUnit(Steinberg::Vst::UnitID unitId) override;
tresult PLUGIN_API
getUnitByBus(Steinberg::Vst::MediaType type,
Steinberg::Vst::BusDirection dir,
int32 busIndex,
int32 channel,
Steinberg::Vst::UnitID& unitId /*out*/) override;
tresult PLUGIN_API setUnitProgramData(int32 listOrUnitId,
int32 programIndex,
Steinberg::IBStream* data) override;
/**
* The component handler the host passed to us during
* `IEditController::setComponentHandler()`. When the plugin makes a