+ QString get_expression() const;
+ void set_expression(QString expression);
+
+private:
+ virtual void set_error_message(QString msg);
+
+ /**
+ * Returns the number of samples that can be worked on,
+ * i.e. the number of samples where samples are available
+ * for all connected channels.
+ * If the math signal uses no input channels, this is the
+ * number of samples in the session.
+ */
+ uint64_t get_working_sample_count(uint32_t segment_id) const;
+
+ void update_completeness(uint32_t segment_id, uint64_t output_sample_count);
+
+ void reset_generation();
+ virtual void begin_generation();
+
+ void generate_samples(uint32_t segment_id, const uint64_t start_sample,
+ const int64_t sample_count);
+ void generation_proc();
+
+ signal_data* signal_from_name(const std::string& name);
+ void update_signal_sample(signal_data* sig_data, uint32_t segment_id, uint64_t sample_num);
+