25 u16 splitBendRangeLow;
26 u16 splitBendRangeHigh;
28 u8 keyFollowPitchCenter;
30 u8 keyFollowAmpCenter;
32 u8 keyFollowPanCenter;
37} sceHardSynthSplitBlock;
41 unsigned int splitBlockAddr;
49 u8 keyFollowPanCenter;
55 u8 progLfoStartPhase2;
56 u8 progLfoPhaseRandom;
57 u8 progLfoPhaseRandom2;
60 s16 progLfoPitchDepth;
61 s16 progLfoPitchDepth2;
62 s16 progLfoMidiPitchDepth;
63 s16 progLfoMidiPitchDepth2;
65 char progLfoAmpDepth2;
66 char progLfoMidiAmpDepth;
67 char progLfoMidiAmpDepth2;
68 sceHardSynthSplitBlock splitBlock[];
69} sceHardSynthProgramParam;
85 unsigned int panCenter;
86} SceSdHdProgramKeyFollow;
90 unsigned int wavePitch;
92 unsigned int startPhasePitch;
93 unsigned int startPhaseAmp;
94 unsigned int phaseRandomPitch;
95 unsigned int phaseRandomAmp;
96 unsigned int cyclePitch;
97 unsigned int cycleAmp;
100 int midiPitchDepthUp;
101 int midiPitchDepthDown;
105 int midiAmpDepthDown;
111 unsigned int progAttr;
112 SceSdHdProgramCommon common;
113 SceSdHdProgramKeyFollow keyFollow;
114 SceSdHdProgramLFO LFO;
115} SceSdHdProgramParam;
120 unsigned int crossFade;
131} SceSdHdSplitBendRange;
136 unsigned int pitchCenter;
138 unsigned int ampCenter;
140 unsigned int panCenter;
141} SceSdHdSplitKeyFollow;
145 unsigned int sampleSetIndex;
146 unsigned int splitNumber;
147 SceSdHdSplitRange range;
148 SceSdHdSplitBendRange bendRange;
149 SceSdHdSplitKeyFollow keyFollow;
150 SceSdHdSplitCommon common;
160} sceHardSynthSampleSetParam;
164 unsigned int velCurve;
165 unsigned int velLimitLow;
166 unsigned int velLimitHigh;
167 unsigned int nSample;
168} SceSdHdSampleSetParam;
177 u8 velFollowPitchCenter;
178 u8 velFollowPitchVelCurve;
180 u8 velFollowAmpCenter;
181 u8 velFollowAmpVelCurve;
192 u8 keyFollowArCenter;
194 u8 keyFollowDrCenter;
196 u8 keyFollowSrCenter;
198 u8 keyFollowRrCenter;
200 u8 keyFollowSlCenter;
201 u16 samplePitchLfoDelay;
202 u16 samplePitchLfoFade;
203 u16 sampleAmpLfoDelay;
204 u16 sampleAmpLfoFade;
207} sceHardSynthSampleParam;
212 unsigned int pitchCenter;
213 unsigned int pitchVelCurve;
215 unsigned int ampCenter;
216 unsigned int ampVelCurve;
217} SceSdHdSampleVelFollow;
221 unsigned int baseNote;
225 unsigned int priority;
227} SceSdHdSampleCommon;
238 unsigned int arCenter;
240 unsigned int drCenter;
242 unsigned int srCenter;
244 unsigned int rrCenter;
246 unsigned int slCenter;
247} SceSdHdSampleKeyFollow;
251 unsigned int pitchLFODelay;
252 unsigned int pitchLFOFade;
253 unsigned int ampLFODelay;
254 unsigned int ampLFOFade;
260 unsigned int spuAttr;
261 unsigned int lfoAttr;
262 SceSdHdSampleVelRange velRange;
263 SceSdHdSampleVelFollow velFollow;
264 SceSdHdSampleCommon common;
265 SceSdHdSampleADSR ADSR;
266 SceSdHdSampleKeyFollow keyFollow;
267 SceSdHdSampleLFO LFO;
272 unsigned int vagOffsetAddr;
276} sceHardSynthVagParam;
280 unsigned int vagOffsetAddr;
281 unsigned int vagSize;
282 unsigned int vagSampleRate;
283 unsigned int vagAttribute;
284} SceSdHdVAGInfoParam;
286extern int sceSdHdGetMaxProgramNumber(
void *buffer);
287extern int sceSdHdGetMaxSampleSetNumber(
void *buffer);
288extern int sceSdHdGetMaxSampleNumber(
void *buffer);
289extern int sceSdHdGetMaxVAGInfoNumber(
void *buffer);
290extern int sceSdHdGetProgramParamAddr(
void *buffer,
unsigned int programNumber, sceHardSynthProgramParam **ptr);
291extern int sceSdHdGetProgramParam(
void *buffer,
unsigned int programNumber, SceSdHdProgramParam *param);
292extern int sceSdHdGetSplitBlockAddr(
293 void *buffer,
unsigned int programNumber,
unsigned int splitBlockNumber, sceHardSynthSplitBlock **theParamPtr);
295sceSdHdGetSplitBlock(
void *buffer,
unsigned int programNumber,
unsigned int splitBlockNumber, SceSdHdSplitBlock *param);
296extern int sceSdHdGetSampleSetParamAddr(
void *buffer,
unsigned int sampleSetNumber, sceHardSynthSampleSetParam **ptr);
297extern int sceSdHdGetSampleSetParam(
void *buffer,
unsigned int sampleSetNumber, SceSdHdSampleSetParam *param);
298extern int sceSdHdGetSampleParamAddr(
void *buffer,
unsigned int sampleNumber, sceHardSynthSampleParam **ptr);
299extern int sceSdHdGetSampleParam(
void *buffer,
unsigned int sampleNumber, SceSdHdSampleParam *param);
300extern int sceSdHdGetVAGInfoParamAddr(
void *buffer,
unsigned int vagInfoNumber, sceHardSynthVagParam **ptr);
301extern int sceSdHdGetVAGInfoParam(
void *buffer,
unsigned int vagInfoNumber, SceSdHdVAGInfoParam *param);
302extern int sceSdHdCheckProgramNumber(
void *buffer,
unsigned int programNumber);
303extern int sceSdHdGetSplitBlockCountByNote(
void *buffer,
unsigned int programNumber,
unsigned int noteNumber);
304extern int sceSdHdGetSplitBlockAddrByNote(
305 void *buffer,
unsigned int programNumber,
unsigned int noteNumber, sceHardSynthSplitBlock **ptr);
307sceSdHdGetSplitBlockByNote(
void *buffer,
unsigned int programNumber,
unsigned int noteNumber, SceSdHdSplitBlock *param);
308extern int sceSdHdGetSampleSetParamCountByNote(
void *buffer,
unsigned int programNumber,
unsigned int noteNumber);
309extern int sceSdHdGetSampleSetParamAddrByNote(
310 void *buffer,
unsigned int programNumber,
unsigned int noteNumber, sceHardSynthSampleSetParam **ptr);
311extern int sceSdHdGetSampleSetParamByNote(
312 void *buffer,
unsigned int programNumber,
unsigned int noteNumber, SceSdHdSampleSetParam *param);
313extern int sceSdHdGetSampleParamCountByNoteVelocity(
314 void *buffer,
unsigned int programNumber,
unsigned int noteNumber,
unsigned int velocity,
unsigned int mode);
315extern int sceSdHdGetSampleParamAddrByNoteVelocity(
317 unsigned int programNumber,
318 unsigned int noteNumber,
319 unsigned int velocity,
321 sceHardSynthSampleParam **ptr);
322extern int sceSdHdGetSampleParamByNoteVelocity(
324 unsigned int programNumber,
325 unsigned int noteNumber,
326 unsigned int velocity,
328 SceSdHdSampleParam *param);
329extern int sceSdHdGetVAGInfoParamCountByNoteVelocity(
330 void *buffer,
unsigned int programNumber,
unsigned int noteNumber,
unsigned int velocity,
unsigned int mode);
331extern int sceSdHdGetVAGInfoParamAddrByNoteVelocity(
333 unsigned int programNumber,
334 unsigned int noteNumber,
335 unsigned int velocity,
337 sceHardSynthVagParam **ptr);
338extern int sceSdHdGetVAGInfoParamByNoteVelocity(
340 unsigned int programNumber,
341 unsigned int noteNumber,
342 unsigned int velocity,
344 SceSdHdVAGInfoParam *param);
345extern int sceSdHdGetSampleParamCountByVelocity(
346 void *buffer,
unsigned int sampleSetNumber,
unsigned int velocity,
unsigned int mode);
347extern int sceSdHdGetSampleParamAddrByVelocity(
348 void *buffer,
unsigned int sampleSetNumber,
unsigned int velocity,
unsigned int mode, sceHardSynthSampleParam **ptr);
349extern int sceSdHdGetSampleParamByVelocity(
350 void *buffer,
unsigned int sampleSetNumber,
unsigned int velocity,
unsigned int mode, SceSdHdSampleParam *param);
351extern int sceSdHdGetVAGInfoParamCountByVelocity(
352 void *buffer,
unsigned int sampleSetNumber,
unsigned int velocity,
unsigned int mode);
353extern int sceSdHdGetVAGInfoParamAddrByVelocity(
354 void *buffer,
unsigned int sampleSetNumber,
unsigned int velocity,
unsigned int mode, sceHardSynthVagParam **ptr);
355extern int sceSdHdGetVAGInfoParamByVelocity(
356 void *buffer,
unsigned int sampleSetNumber,
unsigned int velocity,
unsigned int mode, SceSdHdVAGInfoParam *param);
358sceSdHdGetVAGInfoParamAddrBySampleNumber(
void *buffer,
unsigned int sampleNumber, sceHardSynthVagParam **ptr);
359extern int sceSdHdGetVAGInfoParamBySampleNumber(
void *buffer,
unsigned int sampleNumber, SceSdHdVAGInfoParam *param);
360extern int sceSdHdGetSplitBlockNumberBySplitNumber(
void *buffer,
unsigned int programNumber,
unsigned int splitNumber);
361extern int sceSdHdGetVAGSize(
void *buffer,
unsigned int vagInfoNumber);
362extern int sceSdHdGetSplitBlockCount(
void *buffer,
unsigned int programNumber);
363extern int sceSdHdGetMaxSplitBlockCount(
void *buffer);
364extern int sceSdHdGetMaxSampleSetParamCount(
void *buffer);
365extern int sceSdHdGetMaxSampleParamCount(
void *buffer);
366extern int sceSdHdGetMaxVAGInfoParamCount(
void *buffer);
367extern int sceSdHdModifyVelocity(
unsigned int curveType,
int velocity);
368extern int sceSdHdModifyVelocityLFO(
unsigned int curveType,
int velocity,
int center);
369extern int sceSdHdGetValidProgramNumberCount(
void *buffer);
370extern int sceSdHdGetValidProgramNumber(
void *buffer,
unsigned int *ptr);
372sceSdHdGetSampleNumberBySampleIndex(
void *buffer,
unsigned int sampleSetNumber,
unsigned int sampleIndexNumber);
374#define sdhd_IMPORTS_start DECLARE_IMPORT_TABLE(sdhd, 1, 2)
375#define sdhd_IMPORTS_end END_IMPORT_TABLE
377#define I_sceSdHdGetMaxProgramNumber DECLARE_IMPORT(4, sceSdHdGetMaxProgramNumber)
378#define I_sceSdHdGetMaxSampleSetNumber DECLARE_IMPORT(5, sceSdHdGetMaxSampleSetNumber)
379#define I_sceSdHdGetMaxSampleNumber DECLARE_IMPORT(6, sceSdHdGetMaxSampleNumber)
380#define I_sceSdHdGetMaxVAGInfoNumber DECLARE_IMPORT(7, sceSdHdGetMaxVAGInfoNumber)
381#define I_sceSdHdGetProgramParamAddr DECLARE_IMPORT(8, sceSdHdGetProgramParamAddr)
382#define I_sceSdHdGetProgramParam DECLARE_IMPORT(9, sceSdHdGetProgramParam)
383#define I_sceSdHdGetSplitBlockAddr DECLARE_IMPORT(10, sceSdHdGetSplitBlockAddr)
384#define I_sceSdHdGetSplitBlock DECLARE_IMPORT(11, sceSdHdGetSplitBlock)
385#define I_sceSdHdGetSampleSetParamAddr DECLARE_IMPORT(12, sceSdHdGetSampleSetParamAddr)
386#define I_sceSdHdGetSampleSetParam DECLARE_IMPORT(13, sceSdHdGetSampleSetParam)
387#define I_sceSdHdGetSampleParamAddr DECLARE_IMPORT(14, sceSdHdGetSampleParamAddr)
388#define I_sceSdHdGetSampleParam DECLARE_IMPORT(15, sceSdHdGetSampleParam)
389#define I_sceSdHdGetVAGInfoParamAddr DECLARE_IMPORT(16, sceSdHdGetVAGInfoParamAddr)
390#define I_sceSdHdGetVAGInfoParam DECLARE_IMPORT(17, sceSdHdGetVAGInfoParam)
391#define I_sceSdHdCheckProgramNumber DECLARE_IMPORT(18, sceSdHdCheckProgramNumber)
392#define I_sceSdHdGetSplitBlockCountByNote DECLARE_IMPORT(19, sceSdHdGetSplitBlockCountByNote)
393#define I_sceSdHdGetSplitBlockAddrByNote DECLARE_IMPORT(20, sceSdHdGetSplitBlockAddrByNote)
394#define I_sceSdHdGetSplitBlockByNote DECLARE_IMPORT(21, sceSdHdGetSplitBlockByNote)
395#define I_sceSdHdGetSampleSetParamCountByNote DECLARE_IMPORT(22, sceSdHdGetSampleSetParamCountByNote)
396#define I_sceSdHdGetSampleSetParamAddrByNote DECLARE_IMPORT(23, sceSdHdGetSampleSetParamAddrByNote)
397#define I_sceSdHdGetSampleSetParamByNote DECLARE_IMPORT(24, sceSdHdGetSampleSetParamByNote)
398#define I_sceSdHdGetSampleParamCountByNoteVelocity DECLARE_IMPORT(25, sceSdHdGetSampleParamCountByNoteVelocity)
399#define I_sceSdHdGetSampleParamAddrByNoteVelocity DECLARE_IMPORT(26, sceSdHdGetSampleParamAddrByNoteVelocity)
400#define I_sceSdHdGetSampleParamByNoteVelocity DECLARE_IMPORT(27, sceSdHdGetSampleParamByNoteVelocity)
401#define I_sceSdHdGetVAGInfoParamCountByNoteVelocity DECLARE_IMPORT(28, sceSdHdGetVAGInfoParamCountByNoteVelocity)
402#define I_sceSdHdGetVAGInfoParamAddrByNoteVelocity DECLARE_IMPORT(29, sceSdHdGetVAGInfoParamAddrByNoteVelocity)
403#define I_sceSdHdGetVAGInfoParamByNoteVelocity DECLARE_IMPORT(30, sceSdHdGetVAGInfoParamByNoteVelocity)
404#define I_sceSdHdGetSampleParamCountByVelocity DECLARE_IMPORT(31, sceSdHdGetSampleParamCountByVelocity)
405#define I_sceSdHdGetSampleParamAddrByVelocity DECLARE_IMPORT(32, sceSdHdGetSampleParamAddrByVelocity)
406#define I_sceSdHdGetSampleParamByVelocity DECLARE_IMPORT(33, sceSdHdGetSampleParamByVelocity)
407#define I_sceSdHdGetVAGInfoParamCountByVelocity DECLARE_IMPORT(34, sceSdHdGetVAGInfoParamCountByVelocity)
408#define I_sceSdHdGetVAGInfoParamAddrByVelocity DECLARE_IMPORT(35, sceSdHdGetVAGInfoParamAddrByVelocity)
409#define I_sceSdHdGetVAGInfoParamByVelocity DECLARE_IMPORT(36, sceSdHdGetVAGInfoParamByVelocity)
410#define I_sceSdHdGetVAGInfoParamAddrBySampleNumber DECLARE_IMPORT(37, sceSdHdGetVAGInfoParamAddrBySampleNumber)
411#define I_sceSdHdGetVAGInfoParamBySampleNumber DECLARE_IMPORT(38, sceSdHdGetVAGInfoParamBySampleNumber)
412#define I_sceSdHdGetSplitBlockNumberBySplitNumber DECLARE_IMPORT(39, sceSdHdGetSplitBlockNumberBySplitNumber)
413#define I_sceSdHdGetVAGSize DECLARE_IMPORT(40, sceSdHdGetVAGSize)
414#define I_sceSdHdGetSplitBlockCount DECLARE_IMPORT(41, sceSdHdGetSplitBlockCount)
415#define I_sceSdHdGetMaxSplitBlockCount DECLARE_IMPORT(42, sceSdHdGetMaxSplitBlockCount)
416#define I_sceSdHdGetMaxSampleSetParamCount DECLARE_IMPORT(43, sceSdHdGetMaxSampleSetParamCount)
417#define I_sceSdHdGetMaxSampleParamCount DECLARE_IMPORT(44, sceSdHdGetMaxSampleParamCount)
418#define I_sceSdHdGetMaxVAGInfoParamCount DECLARE_IMPORT(45, sceSdHdGetMaxVAGInfoParamCount)
419#define I_sceSdHdModifyVelocity DECLARE_IMPORT(46, sceSdHdModifyVelocity)
420#define I_sceSdHdModifyVelocityLFO DECLARE_IMPORT(47, sceSdHdModifyVelocityLFO)
421#define I_sceSdHdGetValidProgramNumberCount DECLARE_IMPORT(48, sceSdHdGetValidProgramNumberCount)
422#define I_sceSdHdGetValidProgramNumber DECLARE_IMPORT(49, sceSdHdGetValidProgramNumber)
423#define I_sceSdHdGetSampleNumberBySampleIndex DECLARE_IMPORT(50, sceSdHdGetSampleNumberBySampleIndex)