pub trait IUnitInfoTrait {
// Required methods
unsafe fn getUnitCount(&self) -> int32;
unsafe fn getUnitInfo(
&self,
unitIndex: int32,
info: *mut UnitInfo
) -> tresult;
unsafe fn getProgramListCount(&self) -> int32;
unsafe fn getProgramListInfo(
&self,
listIndex: int32,
info: *mut ProgramListInfo
) -> tresult;
unsafe fn getProgramName(
&self,
listId: ProgramListID,
programIndex: int32,
name: *mut String128
) -> tresult;
unsafe fn getProgramInfo(
&self,
listId: ProgramListID,
programIndex: int32,
attributeId: CString,
attributeValue: *mut String128
) -> tresult;
unsafe fn hasProgramPitchNames(
&self,
listId: ProgramListID,
programIndex: int32
) -> tresult;
unsafe fn getProgramPitchName(
&self,
listId: ProgramListID,
programIndex: int32,
midiPitch: int16,
name: *mut String128
) -> tresult;
unsafe fn getSelectedUnit(&self) -> UnitID;
unsafe fn selectUnit(&self, unitId: UnitID) -> tresult;
unsafe fn getUnitByBus(
&self,
type: MediaType,
dir: BusDirection,
busIndex: int32,
channel: int32,
unitId: *mut UnitID
) -> tresult;
unsafe fn setUnitProgramData(
&self,
listOrUnitId: int32,
programIndex: int32,
data: *mut IBStream
) -> tresult;
}