@@ -184,15 +184,15 @@ static bool synth_note_into_buffer(synthio_synth_t *synth, int chan, int32_t *ou
184
184
if (note -> waveform_buf .buf ) {
185
185
waveform = note -> waveform_buf .buf ;
186
186
waveform_length = note -> waveform_buf .len ;
187
- waveform_start = synthio_block_slot_get_limited (& note -> waveform_loop_start , 0 , waveform_length - 1 );
188
- waveform_length = synthio_block_slot_get_limited (& note -> waveform_loop_end , waveform_start + 1 , waveform_length );
187
+ waveform_start = ( uint32_t ) synthio_block_slot_get_limited (& note -> waveform_loop_start , 0 , waveform_length - 1 );
188
+ waveform_length = ( uint32_t ) synthio_block_slot_get_limited (& note -> waveform_loop_end , waveform_start + 1 , waveform_length );
189
189
}
190
190
dds_rate = synthio_frequency_convert_scaled_to_dds ((uint64_t )frequency_scaled * (waveform_length - waveform_start ), sample_rate );
191
191
if (note -> ring_frequency_scaled != 0 && note -> ring_waveform_buf .buf ) {
192
192
ring_waveform = note -> ring_waveform_buf .buf ;
193
193
ring_waveform_length = note -> ring_waveform_buf .len ;
194
- ring_waveform_start = synthio_block_slot_get_limited (& note -> ring_waveform_loop_start , 0 , ring_waveform_length - 1 );
195
- ring_waveform_length = synthio_block_slot_get_limited (& note -> ring_waveform_loop_end , ring_waveform_start + 1 , ring_waveform_length );
194
+ ring_waveform_start = ( uint32_t ) synthio_block_slot_get_limited (& note -> ring_waveform_loop_start , 0 , ring_waveform_length - 1 );
195
+ ring_waveform_length = ( uint32_t ) synthio_block_slot_get_limited (& note -> ring_waveform_loop_end , ring_waveform_start + 1 , ring_waveform_length );
196
196
ring_dds_rate = synthio_frequency_convert_scaled_to_dds ((uint64_t )note -> ring_frequency_bent * (ring_waveform_length - ring_waveform_start ), sample_rate );
197
197
uint32_t lim = ring_waveform_length << SYNTHIO_FREQUENCY_SHIFT ;
198
198
if (ring_dds_rate > lim / sizeof (int16_t )) {
0 commit comments