// ---- auto generated by YInG - the YAC interface generator (Wed, 25/Jul/2018 13:43:38)
#ifndef __YAC__audio_h__
#define __YAC__audio_h__

sUI                                          clid_AudioDevice;
YAC_STemplate<_AudioDevice>                    *t_AudioDevice;
sUI                                          clid_AudioSample;
YAC_Template <_AudioSample>                    *t_AudioSample;
sUI                                          clid_SamplePlayer;
YAC_Template <_SamplePlayer>                   *t_SamplePlayer;

void YAC_CALL YAC_Init_audio(YAC_Host *_host) {
	// --------------------------------- classes ---------------------------------
	   t_AudioDevice              =new YAC_STemplate<_AudioDevice>(_host);
	clid_AudioDevice              =                t_AudioDevice->ctemplate.class_ID;
	   t_AudioSample              =new YAC_Template <_AudioSample>(_host);
	clid_AudioSample              =                t_AudioSample->ctemplate.class_ID;
	   t_SamplePlayer             =new YAC_Template <_SamplePlayer>(_host);
	clid_SamplePlayer             =                t_SamplePlayer->ctemplate.class_ID;
	// -------------------------------- functions --------------------------------
	static const sUI   __APIC___MIDINoteToFrequency_arg_types     []={2,};
	static const char *__APIC___MIDINoteToFrequency_arg_otypes    []={"",};
	_host->yacRegisterFunction((void*)__APIC___MIDINoteToFrequency, "MIDINoteToFrequency", 2, "", 1, __APIC___MIDINoteToFrequency_arg_types, __APIC___MIDINoteToFrequency_arg_otypes, 2);

}
sF32  YAC_CALL __APIC___MIDINoteToFrequency(yacmemptr _args                  ) {return (sF32)_MIDINoteToFrequency(_args.mem[0].f4);}

void YAC_CALL YAC_Exit_audio(YAC_Host *_host) {
	delete t_AudioDevice;
	delete t_AudioSample;
	delete t_SamplePlayer;
}

#endif
