JUCE Tutorial 15 - Creating a Circular Buffer

  Рет қаралды 7,454

The Audio Programmer

The Audio Programmer

Күн бұрын

Пікірлер: 17
@dRainCoverBand
@dRainCoverBand 3 ай бұрын
Thanks!
@TheAudioProgrammer
@TheAudioProgrammer 3 ай бұрын
Thank you for your support!
@lucagreggio2278
@lucagreggio2278 3 жыл бұрын
Great Video! But I have a question, shouldn't it be in the else section when coping the remaining amount to the beginning of the delay buffer (channelData + numSamplesToEnd)? So by doing this the pointer will increase to the last position copied. If we simply do channelData won't the program take the the values in channel data from start? Am I right?
@rickybrenay6249
@rickybrenay6249 11 ай бұрын
thank you. this helped design a 5 second peak hold time.
@StuBonham
@StuBonham 3 жыл бұрын
Looking forward to this!
@youdilab4390
@youdilab4390 2 жыл бұрын
Helpful video as always. (Bonus: I learned about the "DBG" macro which prints the given text in the output window if you are using Visual Studio.)
@DiegoCapoccitti
@DiegoCapoccitti 3 жыл бұрын
Great tutorial! Thank you for sharing it! Just one question: why are you using "copyFromWithRamp" function instead "copyFrom"? With "copyFromWithRamp" the first and the final samples are modified by gain, right?
@dtauscher93
@dtauscher93 2 жыл бұрын
Thanks for the very awesome tutorial video! However, I do have a suggestion. Would it not be more efficient to have separate for loops for the conditionals instead of the if else inside the one loop? Because it seems like only the if XOR the else statement will occur per call to processBlock. The code size would definitely be slightly larger, but you would only have to branch one time per call to processBlock from the fillBuffer function.
@Williamluai
@Williamluai 2 жыл бұрын
Thank you so much!
@twangist
@twangist 2 жыл бұрын
(Not to be unbearably nitpicky, but) It seems your "wrap?" conditional test would be better as '>=' rather than '>', In the code that you eventually refactor into the fillBuffer function. Consider "if (delayBufferSize > bufferSize + writePosition)". if delayBufferSize == bufferSize + writePosition, the circular buffer can jussst fit the new data of size bufferSize, and the "if" block would handle it properly. However, your code executes the 'else' block, which first copies bufferSize many samples in the first two of four lines, and then pointlessly (the next, last two lines) copies 0 samples to the start of the delayBuffer, incurring an API call for nothing.
@dahrendorfguitars7291
@dahrendorfguitars7291 2 жыл бұрын
I'm a newbee so I may say something stupid. I think you need ">" because writePosition starting with 0 position, not the 1
@twangist
@twangist 2 жыл бұрын
@@dahrendorfguitars7291 Yes indexes are zero-based, so the length of an array or vector is one greater than the last valid index/position. You don't "need" strict >, work out what happens when equality holds.
@noeqplease
@noeqplease Жыл бұрын
Works fine, builds with no errors, except for the debugging to the console. Nothing happens. Using Juce 7.0.5
@cjwadeevans
@cjwadeevans Жыл бұрын
Are you on Windows or Mac?
@yzhkkhzy
@yzhkkhzy 10 ай бұрын
same for me
@anasmuzek9837
@anasmuzek9837 3 жыл бұрын
Can you please make a video about how to create a DAW on Android studio?! Please
@anasmuzek9837
@anasmuzek9837 3 жыл бұрын
@@TheAudioProgrammer You can do it, ! 🙏 please do it or you can make a piano roll only * please, you the best 🌸
JUCE Tutorial 16 - Creating a Basic Delay Effect
32:36
The Audio Programmer
Рет қаралды 8 М.
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 9 МЛН
Juce Tutorial 40-  Building a Delay Plugin Pt 1 (Creating a Circular Buffer)
31:42
Simple Circular Buffers (EP 52)
28:45
Doctor RG Plague
Рет қаралды 879
The Golden Rules of Audio Programming - Pete Goodliffe - ADC16
51:25
ADC - Audio Developer Conference
Рет қаралды 49 М.
Juce Tutorial 14- Creating Your First Plugin (Pt 1)
29:35
The Audio Programmer
Рет қаралды 81 М.
Writing a Rust-based ring buffer
40:01
timClicks
Рет қаралды 6 М.
3 Levels Of Melodies - NOOB vs PRO vs GOD
8:33
Memphy
Рет қаралды 2,3 МЛН
Interrupt Safe Ring Buffer :: Bare Metal Programming Series 6
59:49
Low Byte Productions
Рет қаралды 10 М.
Implementing a Circular Queue in C
11:23
Jacob Sorber
Рет қаралды 30 М.
life as a founder in London (coding a $10M startup)
16:15
Jacob Sucks At Code
Рет қаралды 40 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09