Ejemplo n.º 1
0
void device_sound_interface::set_output_gain(int outputnum, float gain)
{
	// handle ALL_OUTPUTS as a special case
	if (outputnum == ALL_OUTPUTS)
	{
		for (auto &stream : m_device.machine().sound().streams())
			if (&stream->device() == &device())
				for (int num = 0; num < stream->output_count(); num++)
					stream->set_output_gain(num, gain);
	}

	// look up the stream and stream output index
	else
	{
		int stream_outputnum;
		sound_stream *stream = output_to_stream_output(outputnum, stream_outputnum);
		if (stream != nullptr)
			stream->set_output_gain(stream_outputnum, gain);
	}
}
Ejemplo n.º 2
0
void device_sound_interface::set_output_gain(int outputnum, float gain)
{
	// handle ALL_OUTPUTS as a special case
	if (outputnum == ALL_OUTPUTS)
	{
		for (sound_stream *stream = m_device.machine().sound().first_stream(); stream != NULL; stream = stream->next())
			if (&stream->device() == &device())
				for (int outputnum = 0; outputnum < stream->output_count(); outputnum++)
					stream->set_output_gain(outputnum, gain);
	}

	// look up the stream and stream output index
	else
	{
		int stream_outputnum;
		sound_stream *stream = output_to_stream_output(outputnum, stream_outputnum);
		if (stream != NULL)
			stream->set_output_gain(stream_outputnum, gain);
	}
}
Ejemplo n.º 3
0
float device_sound_interface::output_gain(int outputnum) const
{
	int stream_outputnum;
	sound_stream *stream = output_to_stream_output(outputnum, stream_outputnum);
	return (stream != nullptr) ? stream->output_gain(stream_outputnum) : 0.0f;
}