Performs the temporal operation specified by m_operation on the input data. Operations modify the temporal characteristics of the data including timing, duration, ordering, and envelope shaping. Supports both in-place and out-of-place transformations based on transformer settings.
78 {
83 }
84
86 }
87
89 auto stretch_factor = get_parameter_or<double>("stretch_factor", 1.0);
92 }
93
95 }
96
98 auto delay_samples = get_parameter_or<uint32_t>("delay_samples", 1000);
99 auto fill_value = get_parameter_or<double>("fill_value", 0.0);
102 }
103
105 }
106
108 auto fade_in_ratio = get_parameter_or<double>("fade_in_ratio", 0.1);
109 auto fade_out_ratio = get_parameter_or<double>("fade_out_ratio", 0.1);
112 }
113
115 }
116
118 auto start_ratio = get_parameter_or<double>("start_ratio", 0.0);
119 auto end_ratio = get_parameter_or<double>("end_ratio", 1.0);
122 }
123
125 }
126
128 auto target_size = get_parameter_or<size_t>("target_size", 0);
129 auto use_cubic = get_parameter_or<bool>("use_cubic", false);
130 if (target_size > 0) {
131 if (use_cubic) {
134 }
135
137 }
138
141 }
143 }
145 }
146
147 default:
149 }
150 }
DataType interpolate_cubic(DataType &input, size_t target_size)
Cubic interpolation between data points using C++20 ranges (IN-PLACE)
DataType interpolate_linear(DataType &input, size_t target_size)
Linear interpolation between data points using C++20 ranges (IN-PLACE)
DataType transform_time_reverse(DataType &input)
Time reversal transformation using C++20 ranges (IN-PLACE)
DataType transform_delay(DataType &input, uint32_t delay_samples, double fill_value=0.0)
Delay transformation that extends buffer size (IN-PLACE)
DataType transform_time_stretch(DataType &input, double stretch_factor)
Simple time stretching via resampling using C++20 ranges (IN-PLACE)
DataType transform_slice(DataType &input, double start_ratio, double end_ratio)
Slice transformation to extract a portion of the data based on ratios (IN-PLACE)
DataType transform_fade(DataType &input, double fade_in_duration_ratio=0.0, double fade_out_duration_ratio=0.0)
Fade transformation (linear fade-in and fade-out) using C++20 ranges (IN-PLACE)
@ SLICE
Extract temporal slice.
@ TIME_REVERSE
Reverse temporal order.
@ TIME_STRETCH
Change playback speed.
@ DELAY
Add temporal delay.
@ FADE_IN_OUT
Apply fade envelope.
@ INTERPOLATE
Temporal interpolation.