void device_config_sound_interface::static_add_route(device_config *device, UINT32 output, const char *target, double gain, UINT32 input) { device_config_sound_interface *sound = dynamic_cast<device_config_sound_interface *>(device); if (sound == NULL) throw emu_fatalerror("MCFG_SOUND_ROUTE called on device '%s' with no sound interface", device->tag()); sound_route **routeptr; for (routeptr = &sound->m_route_list; *routeptr != NULL; routeptr = &(*routeptr)->m_next) ; *routeptr = global_alloc(sound_route(output, input, gain, target)); }
void device_config_sound_interface::static_add_route(device_config *device, UINT32 output, const char *target, double gain, UINT32 input) { // find our sound interface device_config_sound_interface *sound = dynamic_cast<device_config_sound_interface *>(device); if (sound == NULL) throw emu_fatalerror("MCFG_SOUND_ROUTE called on device '%s' with no sound interface", device->tag()); // append a new route to the list sound->m_route_list.append(*global_alloc(sound_route(output, input, gain, target))); }
device_sound_interface::sound_route &device_sound_interface::static_add_route(device_t &device, UINT32 output, const char *target, double gain, UINT32 input, UINT32 mixoutput) { // find our sound interface device_sound_interface *sound; if (!device.get_interface(sound)) throw emu_fatalerror("MCFG_SOUND_ROUTE called on device '%s' with no sound interface", device.tag()); // append a new route to the list return sound->m_route_list.append(*global_alloc(sound_route(output, input, gain, target, mixoutput))); }
void device_sound_interface::static_add_route(device_t &device, UINT32 output, const char *target, double gain, UINT32 input) { // find our sound interface device_sound_interface *sound; if (!device.dev_interface(sound)) throw emu_fatalerror("MCFG_SOUND_ROUTE called on device '%s' with no sound interface", device.tag()); // append a new route to the list astring devtag; device.siblingtag(devtag, target); sound->m_route_list.append(*global_alloc(sound_route(output, input, gain, core_strdup(devtag.cstr())))); }