summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/disc_cls.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/disc_cls.h')
-rw-r--r--src/devices/sound/disc_cls.h22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/devices/sound/disc_cls.h b/src/devices/sound/disc_cls.h
index 6bd94631bde..72a5c39920a 100644
--- a/src/devices/sound/disc_cls.h
+++ b/src/devices/sound/disc_cls.h
@@ -120,13 +120,14 @@ public:
/* Add gain to the output and put into the buffers */
/* Clipping will be handled by the main sound system */
double val = DISCRETE_INPUT(0) * DISCRETE_INPUT(1);
- m_outview->put(m_outview_sample++, val * (1.0 / 32768.0));
+ m_stream->put(m_stream_output, m_stream_sample++, val * (1.0 / 32768.0));
}
virtual int max_output() override { return 0; }
- virtual void set_output_ptr(write_stream_view &view) override { m_outview = &view; m_outview_sample = 0; }
+ virtual void set_output_ptr(sound_stream &stream, int output) override { m_stream = &stream; m_stream_output = output; m_stream_sample = 0; }
private:
- write_stream_view *m_outview = nullptr;
- u32 m_outview_sample = 0U;
+ sound_stream *m_stream = nullptr;
+ int m_stream_output = 0;
+ u32 m_stream_sample = 0U;
};
DISCRETE_CLASS(dso_csvlog, 0,
@@ -227,23 +228,20 @@ public:
virtual void start() override;
virtual void input_write(int sub_node, uint8_t data ) override;
virtual bool is_buffered() { return false; }
+ void set_input_ptr(sound_stream &stream, int input) { m_stream = &stream; m_stream_input = input; m_stream_sample = 0; }
/* This is called by discrete_sound_device */
void stream_start();
-//protected:
- uint32_t m_stream_in_number = 0;
- read_stream_view const *m_inview = nullptr; /* current in ptr for stream */
- uint32_t m_inview_sample = 0;
+protected:
+ sound_stream *m_stream = nullptr;
+ uint32_t m_stream_input = 0;
+ uint32_t m_stream_sample = 0;
private:
- void stream_generate(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs);
-
double m_gain = 0.0; /* node gain */
double m_offset = 0.0; /* node offset */
uint8_t m_data = 0; /* data written */
uint8_t m_is_buffered = 0;
- /* the buffer stream */
- sound_stream *m_buffer_stream = nullptr;
};
class DISCRETE_CLASS_NAME(dss_input_buffer): public DISCRETE_CLASS_NAME(dss_input_stream)