void device_sound_interface::static_reset_routes(device_t &device) { // find our sound interface device_sound_interface *sound; if (!device.dev_interface(sound)) throw emu_fatalerror("MCFG_SOUND_ROUTES_RESET called on device '%s' with no sound interface", device.tag()); // reset the routine list sound->m_route_list.reset(); }
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())))); }