40 , amplitude(amplitude)
72 std::span<const float> gpu_data)
123 virtual void set_amplitude(
double amplitude);
129 [[nodiscard]]
virtual double get_amplitude()
const;
149 virtual void enable_mock_process(
bool mock_process);
155 [[nodiscard]]
virtual bool should_mock_process()
const;
165 virtual void update_context(
double value)
override;
174 virtual void set_frequency(
float frequency);
200 double m_amplitude { 1.0 };
205 float m_frequency { 440.0F };
215 void notify_tick(
double value)
override;
231MAYAFLUX_API
void operator*(
const std::shared_ptr<Node>& node,
double value);
GeneratorContextGpu(double value, float frequency, double amplitude, double phase, std::span< const float > gpu_data)
double amplitude
Current amplitude of the generator.
double phase
Current phase of the generator.
GeneratorContext(double value, float frequency, double amplitude, double phase)
Constructs a GeneratorContext with the current generator state.
float frequency
Current frequency of the generator.
Specialized context for generator node callbacks.
virtual float get_frequency() const
Gets the current frequency.
virtual ~Generator()=default
Virtual destructor for proper cleanup.
Base class for all signal and pattern generators in Maya Flux.
GPU-uploadable 1D array data interface.
Base context class for node callbacks.
Base interface for all computational processing nodes.
void operator*(const std::shared_ptr< Node > &node, double value)
Sets the generator's amplitude.
std::function< void(ContextT &)> TypedHook
Callback function type for node processing events, parameterised on context type.
std::function< bool(NodeContext &)> NodeCondition
Predicate function type for conditional callbacks.