WolfSound
WolfSound
  • Видео 99
  • Просмотров 412 593
How to use JUCE with vcpkg
📝 Full article: thewolfsound.com/using-juce-framework-with-vcpkg-quick-cpp-dependency-management-guide/
👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/
🍊 Check out the sponsor JUCE C++ Framework: docs.juce.com/master/tutorial_new_projucer_project.html
✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/
✅ Please subscribe to WolfSound to let the little Wolf 🐺 grow:
ruclips.net/user/WolfSoundAudio
🎧 Listen to my music: thewolfofficial.com/
Hi, my name is Jan Wilczek. I am an audio programmer and a researcher. Welcome to WolfSound!
WolfSound's mission is to provide high-quality, informative, and entertaining videos, articles, and courses on how to process sou...
Просмотров: 383

Видео

Building DAW Software with Dave Rowland (Tracktion, Prism Sound) | WolfTalk #023
Просмотров 72514 дней назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk023/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound's RUclips channel to let the little Wolf 🐺 grow: ruclip...
Why C++ sometimes sucks (17 reasons)
Просмотров 1,5 тыс.Месяц назад
👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ 📨 Full article: thewolfsound.com/why-cpp-sucks-17-reasons-why-cpp-development-is-difficult/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html 👀 Check out SerenityOS: github.com/SerenityOS/serenity ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subs...
Audio C++ Architecture, Optimization & Best Practices With Gustav Andersson | WolfTalk #022
Просмотров 548Месяц назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk022/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound's RUclips channel to let the little Wolf 🐺 grow: ruclip...
Audio Spectrogram In Python Using Librosa & Matplotlib | Audio Machine Learning For Beginners
Просмотров 8622 месяца назад
👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ ✅ SOURCE CODE: thewolfsound.com/how-to-plot-audio-spectrogram-for-machine-learning-magnitude-stft-of-audio-signal-with-python-librosa-and-matplotlib/ 🍊 Check out the sponsor @JUCElibrary : docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subs...
How To Master Real-Time Audio C++ With Fabian Renn-Giles | WolfTalk #021
Просмотров 1,2 тыс.2 месяца назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk021/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound's RUclips channel to let the little Wolf 🐺 grow: ruclip...
How To Plot Magnitude Spectrum of Audio Signal with Python and Matplotlib | Tutorial for Beginners
Просмотров 8094 месяца назад
👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ ✅ SOURCE CODE: thewolfsound.com/how-to-plot-magnitude-spectrum-of-audio-signals-with-python-and-matplotlib/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound to let the little Wo...
How To Learn Audio Signal Processing And Audio Circuit Modeling With Eric Tarr | WolfTalk #020
Просмотров 1,1 тыс.5 месяцев назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk020/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound's RUclips channel to let the little Wolf 🐺 grow: ruclip...
How To Stem Audio Signal Using Python and Matplotlib | Tutorial For Beginners
Просмотров 6785 месяцев назад
👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ ✅ SOURCE CODE: thewolfsound.com/how-to-stem-audio-signal-using-python-and-matplotlib/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound to let the little Wolf 🐺 grow: ruclips.net...
How To Secure Your Audio Code Using Rust With Chase Kanipe | WolfTalk #019
Просмотров 1,7 тыс.5 месяцев назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk019/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ 🍊 Check out the sponsor JUCE C Framework: docs.juce.com/master/tutorial_new_projucer_project.html ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ☕ Want to support free content? Consider buying me a coffee at www.buymeacoffee.com/jan...
How To Plot Audio Signal In Python Using Matplotlib | Tutorial For Beginners
Просмотров 1,3 тыс.6 месяцев назад
👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ ✅ SOURCE CODE: thewolfsound.com/how-to-plot-audio-signal-in-python-with-matplotlib/ ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ✅ Please subscribe to WolfSound to let the little Wolf 🐺 grow: ruclips.net/user/WolfSoundAudio 🎧 Listen to my music: thewolfofficial.com/ Hi, my name is Jan Wilczek. I am an ...
How To Transition From Live Sound To Freelance Audio Programming With Ruurd Adema | WolfTalk #018
Просмотров 3596 месяцев назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk018/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ☕ Want to support free content? Consider buying me a coffee at www.buymeacoffee.com/janwilczek Thanks! ✅ Please subscribe to WolfSound's RUclips channel to let the little Wolf 🐺 grow: r...
How Can a Mixing Engineer Become an Audio Programmer with Linus Corneliusson | WolfTalk #017
Просмотров 1,1 тыс.6 месяцев назад
✅ Episode notes & other podcast platforms: www.thewolfsound.com/talk017/ 👉 GET THE AUDIO PLUGIN DEVELOPER CHECKLIST: thewolfsound.com/checklist/ ✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/ ☕ Want to support free content? Consider buying me a coffee at www.buymeacoffee.com/janwilczek Thanks! ✅ Please subscribe to WolfSound's RUclips channel to let the little Wolf 🐺 grow: r...
Top 10 Audio Developer Conference 2023 Talks | #ADC23 Summary
Просмотров 7436 месяцев назад
Top 10 Audio Developer Conference 2023 Talks | #ADC23 Summary
Rust Audio Programming with Ian Hobson | WolfTalk #016
Просмотров 2,6 тыс.7 месяцев назад
Rust Audio Programming with Ian Hobson | WolfTalk #016
Oli Larkin: Creator of iPlug2 and Web Audio Modules | WolfTalk #015
Просмотров 7008 месяцев назад
Oli Larkin: Creator of iPlug2 and Web Audio Modules | WolfTalk #015
Top 5 Languages For Audio Programming
Просмотров 7 тыс.9 месяцев назад
Top 5 Languages For Audio Programming
C++ Pointers: The Definitive Guide
Просмотров 2,1 тыс.9 месяцев назад
C Pointers: The Definitive Guide
Should You Read "Designing Audio Effect Plugins In C++" by Will Pirkle?
Просмотров 4,1 тыс.11 месяцев назад
Should You Read "Designing Audio Effect Plugins In C " by Will Pirkle?
Web Audio Programming Basics With Christoph Guttandin | WolfTalk #014
Просмотров 64311 месяцев назад
Web Audio Programming Basics With Christoph Guttandin | WolfTalk #014
How I Set Up Every Audio Plugin C++ Project with JUCE, CMake, and Unit Tests [TEMPLATE REPO]
Просмотров 10 тыс.11 месяцев назад
How I Set Up Every Audio Plugin C Project with JUCE, CMake, and Unit Tests [TEMPLATE REPO]
Top 10 Tips For Audio Programmer Job Interview
Просмотров 2 тыс.11 месяцев назад
Top 10 Tips For Audio Programmer Job Interview
How To Create Accessible Audio Software With Jay Pocknell | WolfTalk #013
Просмотров 219Год назад
How To Create Accessible Audio Software With Jay Pocknell | WolfTalk #013
Meinard Müller: Professor in Music Information Retrieval | WolfTalk #012
Просмотров 759Год назад
Meinard Müller: Professor in Music Information Retrieval | WolfTalk #012
Group Delay vs Phase Delay: What's the Difference? [DSP #18]
Просмотров 9 тыс.Год назад
Group Delay vs Phase Delay: What's the Difference? [DSP #18]
How To Run Your Neural Networks In An Audio Plugin with Andrew Fyfe | WolfTalk #011
Просмотров 946Год назад
How To Run Your Neural Networks In An Audio Plugin with Andrew Fyfe | WolfTalk #011
How To Process Sound On GPU With Sasha Talashov And Jonathan Rowden From GPU Audio | WolfTalk #010
Просмотров 612Год назад
How To Process Sound On GPU With Sasha Talashov And Jonathan Rowden From GPU Audio | WolfTalk #010
Audio Developer Conference 2022 Summary by an Audio C++ Developer
Просмотров 1,5 тыс.Год назад
Audio Developer Conference 2022 Summary by an Audio C Developer
From Audio Research To Own Audio Software Company With Stefano D'Angelo (Orastron) | WolfTalk #009
Просмотров 557Год назад
From Audio Research To Own Audio Software Company With Stefano D'Angelo (Orastron) | WolfTalk #009
How To Auto-Tune Your Voice with Python [AudioFX #013]
Просмотров 7 тыс.Год назад
How To Auto-Tune Your Voice with Python [AudioFX #013]

Комментарии

  • @TheGmr140
    @TheGmr140 День назад

    Nice audio info 😊

  • @KristianDjukic
    @KristianDjukic День назад

    one more time

  • @olilarkin
    @olilarkin 3 дня назад

    Great! I am just getting into vcpkg

    • @WolfSoundAudio
      @WolfSoundAudio 3 дня назад

      Wow, great to hear from a Pro like you, thanks 😉

  • @nextstudiodev
    @nextstudiodev 3 дня назад

    Very interessting approach.

  • @WolfSoundAudio
    @WolfSoundAudio 4 дня назад

    ☕Did I help you with this video? Consider buying me a coffee at www.buymeacoffee.com/janwilczek Thanks!

  • @anthonybeckett352
    @anthonybeckett352 4 дня назад

    Great video, will surely be helpful in a future project. The videos you're doing here and on the JUCE channel are great.

  • @POGRetroModernGaming
    @POGRetroModernGaming 4 дня назад

    Work for Windows app using kotlin???

  • @IIoWoII
    @IIoWoII 8 дней назад

    Your explanation is good but please get a lapel mic.

  • @smarthumanism3221
    @smarthumanism3221 12 дней назад

    A very good, intuitive insight you're explaining very kindly!

  • @TheGmr140
    @TheGmr140 15 дней назад

    Nice i like to have a DAW one day 😊😊

  • @_Mati__
    @_Mati__ 15 дней назад

    Cześć Jan! Masz może na kanale odcinek jak zacząć działać w audio programmingu? Jakieś pierwsze projekty, które warto robić na początku? Albo, polecasz jakieś książki, które są wartę uwagi? Bardzo by mi pomogły odpowiedzi na te.pytania :D

    • @WolfSoundAudio
      @WolfSoundAudio 14 дней назад

      Polecam to: ruclips.net/video/siZokw9tCUg/видео.html

    • @_Mati__
      @_Mati__ 14 дней назад

      Dzięki ❤

  • @5imian
    @5imian 16 дней назад

    great list. I had the Computer Music Tutorial, Design Patterns, Clean code, but not several of the others. Treasure Trove of resources right here.

  • @ilikegeorgiabutiveonlybeen6705
    @ilikegeorgiabutiveonlybeen6705 16 дней назад

    dawe rowland

  • @przekladanki
    @przekladanki 17 дней назад

    Nice talk! Thanks! 👌

  • @agent007asdfgh
    @agent007asdfgh 19 дней назад

    Hi

  • @ovi1326
    @ovi1326 20 дней назад

    Speaking from experience - doing stuff on the audio thread is a dantean experience in rust. It's definitely not for beginners. So you know like in C/C++ you can prealloc an arena or maybe an object pool and just use it? In rust custom allocators are unstable and prepare yourself for wrapping every single one of your objects in MaybeUninit. Shared mutable state is kinda unavoidable in audio - hence you will end up using RefCell or UnsafeCell more than a healthy amount. Slice accesses are bound checked unless the compiler can prove that it's impossible to get out of bounds, So you either go with processing every sample in a foreach loop using maps and zips or have to agree to making a wrapper type around a raw pointer that overloads the [] operator which is a footgun waiting to fire (rust is way more strict about aliasing than c++). And the solution is to actually place asserts that will be present in your release build as well, which check if your input and output buffers have the same length - how would one guess that?

  • @ovi1326
    @ovi1326 20 дней назад

    nim has been around since 2008, it's been a stable esolang for quite some time

  • @hlwammoenaing1556
    @hlwammoenaing1556 21 день назад

    Thanks for valuable course

  • @Atezian
    @Atezian 27 дней назад

    Thank you, sir. I was really wondering but I am now set and feel secure in choosing C++

  • @JianerCong
    @JianerCong 27 дней назад

    😍😍😍😍

  • @iy908
    @iy908 27 дней назад

    Many thanks for the video! When the next video is planned?

    • @WolfSoundAudio
      @WolfSoundAudio 25 дней назад

      In 2 weeks I want to do another Rust livestream 😉

    • @WolfSoundAudio
      @WolfSoundAudio 25 дней назад

      And in the next 2 weeks probably a C++ one again

  • @PKJ11
    @PKJ11 27 дней назад

    Yup

  • @PKJ11
    @PKJ11 27 дней назад

    Hi

  • @razvanrusan9319
    @razvanrusan9319 Месяц назад

    Regarding what you say at the 42:00 minute mark, I don't seem to actually get that much aliasing for the square and saw on my physical devices. Maybe I need to listen more carefully :)) Anyway, great tutorial series! It was really rewarding to me and I learned a lot of C++, Kotlin and design patterns in general. It's really helpful to someone who's still in college and feeling like college isn't helping enough on the software engineering side.

  • @heatblazer
    @heatblazer Месяц назад

    C++ is tying to do all and exceeds in none. I agree and there is even more like 'never use new and delete in modern C++' , obfuscated templates that literally do nothing but mask your code, RVO and copy elision are not guaranteed by many, you can still mix C and C++ code in C++ projects. C has a standard and is easy to use without obfuscation. Also I'd not advice boost on modern C++, it's a mess, boost must go, there are Juce, Qt and Poco nowadays for big projects. I am not familiar with Rust or Carbon but C++ is becoming the new COBOL. I am professionally programming in C++ and it's just not good anymore.

  • @razvanrusan9319
    @razvanrusan9319 Месяц назад

    At 47:44, the fact that you said "please don't do anything right now" in such a professorial way was really cool. Leaving in the "mistakes" done when coding (rather than editing them out) really makes this a more genuine experience. Thank you for that!

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Haha thanks! I sometimes like to leave code that does not compile in to show compiler error messages; otherwise people may be unsure why we write things the way we write them. Cheers!

  • @borges69
    @borges69 Месяц назад

    Thanks for your detailed analysis for C++ ( mostly bad side) . When I see the Juce sponsorship in the end of the video , it comes to my mind that maybe you can give detailed information about Juce's license management in another video.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      JUCE's license agreement is under development at the moment. Only when things settle down does it make sense to present it. Thanks for the idea! 😉

  • @marco21274
    @marco21274 Месяц назад

    So you not very experienced in C++ and got lead developer? I think somebody put you in a bad position.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      How do you define very experienced? 😉 I think it's for my client to judge and they are very happy so far.

  • @marco21274
    @marco21274 Месяц назад

    Third party warning are easily surpressed if the includes are system includes. CMake has support for that.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      When you use C++ frameworks you don't have full control over which source files are built with your custom target. JUCE is an example of this: you can run into compilation errors of JUCE's source files when you set the warnings too high for your JUCE app or plugin. That's what I meant with setting warnings just for your project's source files.

    • @marco21274
      @marco21274 Месяц назад

      @@WolfSoundAudio, have you changed the warning flags of third-party software? Why are you doing it? Or do you speak about the header files from the third-party software? Here, the system includes paths are helping because it suppresses the warnings that originate from this header. Or maybe you speak about your build system? Do you use CMake?

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      @@marco21274 I'm talking about creating a custom target using custom 3rd party CMake commands and then changing the warning flags of that target.

    • @marco21274
      @marco21274 Месяц назад

      @@WolfSoundAudio Okay, so you meant your build scripts. 😉

  • @Mark-zk7uj
    @Mark-zk7uj Месяц назад

    my beef with C++ is less with the language itself than the culture surrounding it. too many devs I've worked with treat C++ as ersatz Java, over-relying on virtual functions and dynamic polymorphism as the first and only solution to any given problem. next is the lack of a good dependency management and build system, as you say. I want the build system to be an afterthought, like it is in rust. it downloads, installs, and links all dependencies, no problem. I don't have to munge my way around header files to get templated code to compile, it just works, out of the box, on every platform it is supported on. on that point, I would like true pattern matching to be built in to C++. no, std::variant doesn't cut it, not nearly. it's a pale imitation of what pattern matching is in languages like prolog, ocaml, haskell, i.e. declarative and recursive syntactical destructuring of values. variant just matches on the outermost type, missing most of the expressive power of proper pattern matching.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Who knows maybe we'll get what you're asking for! 🤞

    • @Mark-zk7uj
      @Mark-zk7uj Месяц назад

      @@WolfSoundAudio hope so! stroustrup presented a pattern matcher at cppcon several years ago but TMK it was patched together from C macros. I hoped it might at least become the basis for a new standards proposal but I haven't heard anything about it since.

  • @Scherbakov
    @Scherbakov Месяц назад

    To me, the ugliest ugliness in the language is macros. It's an extraordinary mess. There's a reason why Stroustrup doesn't recommend it. While it's great flexibility, it can also be a big problem. It also becomes very difficult when you want to use libraries that were created with different build systems. The "Import Export" in modules is also very funny.

  • @HairyPixels
    @HairyPixels Месяц назад

    What really can a compiler to do offer defaults and the most fully-featured standard library possible? Even if they recommend defaults and provide a standard library that doesn't mean 3rd party options aren't better and should be used instead. In fact people often complain about the standard library in C++ and recommend other alternatives. Not saying your points aren't problems but I don't think C++ can help you here more than other language. Btw, I'm not a C++ programmer by any means and these problems you mention seem to exist with all compilers, just some more than others.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      The problem with 3rd party is that it's 3rd party 😄

  • @mattymattffs
    @mattymattffs Месяц назад

    Sometimes???? Cpp always sucks. We just put up with it because of the control over the code and speed of the final program. Compile time really kills it.

    • @mattymattffs
      @mattymattffs Месяц назад

      @@chocolatezt build pipelines are pretty different to me building and testing

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      @@chocolatezt A lot of people are complaining about compile times in the Reddit thread: www.reddit.com/r/cpp/comments/1dvdhtu/opinion_which_parts_of_c_i_find_difficultannoying/ I have experienced it myself in that it can be really demotivating and defocusing 😉

  • @HairyPixels
    @HairyPixels Месяц назад

    I've used pascal for years which has declaration/definition split in modules where you need to modify the declaration in 2 locations. It's annoying but I like it creates ledgers for the type at least. In other languages I've used like Swift/C# there are no modules or forward declarations and it's all just dumped into files and the compiler figures out how to link it together. The downsides to this are it's slower to compiler since the compiler needs to resolve types and it's kind of messy to have all the code and types mixed together, although practically this hasn't been a problem it's just not as orderly I would say. Hard to say which is best for me personally.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Thanks. I simply prefer to write things once and be done with it especially that source code changes very often.

  • @marks7787
    @marks7787 Месяц назад

    what a hidden gem

  • @AK-vx4dy
    @AK-vx4dy Месяц назад

    I know about nothing about C++ but here on RUclips i saw at least few very good presentations(most from some C++ conferences) about co-routines, which even i understood (with code examples)

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Could you link to them please? For me, there's very little on coroutines available; I could not find much personally 😐

  • @razvanrusan9319
    @razvanrusan9319 Месяц назад

    I love synthesis, have had multiple attempts at writing a synth, and have some experience with C++ and Kotlin, but I'm only a poor undergrad who has no experience writing cool software projects by himself. Needless to say, I had to pinch myself when I saw that this video series existed. Thank you for making this content!

  • @TheQxY
    @TheQxY Месяц назад

    Slow compile time, difficult to set up modern environment, have to learn another language for cross-compilation (CMake), too many ways to do the same thing, etc.

  • @sledgex9
    @sledgex9 Месяц назад

    Also, I don't understand why dependency management should be part of the language. Strictly speaking it is out of scope.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Thanks! I'm not saying it should be (npm is a nice example of this). But in C++ it's exceptionally difficult compared to other languages.

    • @foxwhite25
      @foxwhite25 Месяц назад

      Otherwise the community will create different solutions anyways and you end up with different dependency management software and the hell that is c++ and java dependency management

    • @foxwhite25
      @foxwhite25 Месяц назад

      That is like saying standard library should not be a part of a language it makes no sense, people are going to need it so you might as well create a central and stable one

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      @@foxwhite25 Agreed on the point that 3rd party package managers can either evolve too fast in their API (like Conan) or can stop being developed. With standard stuff it's less likely to happen.

  • @sledgex9
    @sledgex9 Месяц назад

    I really don't understand the anger with header/source split. I get it only when the objection revolves around using the preprocessor. But the split is beneficial in 2 areas that I find helpful in practice: 1. The header gives you a helpful summary/overview of the class. It helps with readability because you are onboarded quickly when you understand the shape of the class at once glance. It also helps with maintainability because it outlines the shape of the class and lets you better think about refactoring it when looking only at the outline. 2. Sometimes definitions can be lengthy. You might need to split the definition of methods into two source files to help with maintainability. Also this might be a code smell if you have many methods are too long. PS: Modules are heralded as the bane of headers but in actuality modules also support the split between declaration and definition. However, they get rid of the preprocessor which is the actual bad thing about headers.

    • @AK-vx4dy
      @AK-vx4dy Месяц назад

      Split has sense only when it is used as binary blob later mostly for libraries (way to save compilation time/space in the past). Even TurboPascal had it in one file without problem, C++ should support old C ways but should have something better (modules?) decades ago.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Thanks for your feedback, I definitely agree with point 2 😉 I'm not sure if modules will fix things because there are still too few projects supporting them unfortunately...

    • @mattymattffs
      @mattymattffs Месяц назад

      Because header files should just be auto generated. It's noise.

    • @philiphugoofficial
      @philiphugoofficial Месяц назад

      I can see how it can be perceived as beneficial especially if you're used to it, but I'd rather have half as many files to keep track of.

    • @HairyPixels
      @HairyPixels Месяц назад

      Having to update declarations in multiple places is annoying I think we can all agree. I've used pascal for ages now which has modules but you still have the duplicate function declarations. It's not a big problem in the scheme of the things but it's a point of friction for sure. What you gain though is a nice ledger of types and clear separation between code and types which is easy to browse.

  • @Synthhacks
    @Synthhacks Месяц назад

    i have a prototype of my vst, its already being used in the chicano hiphop scene. CAN I GET IT BUILT ON MY OWN ENGINE.

  • @user-fm8hq3fm2d
    @user-fm8hq3fm2d Месяц назад

    Sine 2:35 Triangle 3:18 Square 4:36 Sawtooth 5:31 Pulse 7:19

  • @MECHANISMUS
    @MECHANISMUS Месяц назад

    Linting problem is a compile languages problem. Can't be fixed. If Rust lives long enough it too is gonna have a pile of style guides from all the lovely ends of the universe. It seems your mic picks up some background or side crackling events. Which is very confusing at moments.

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      Thanks, that's interesting: are there alternative style guides for Rust besides the official one? Thanks for the mic remark, I’ll fix it the next time 😉

    • @MECHANISMUS
      @MECHANISMUS Месяц назад

      @@WolfSoundAudio IDK about Rust standards. But I mean it's still a baby. When it's a mastodon like C++ some decades from now most probably it'll have a ton of different standards just the same.

    • @TheQxY
      @TheQxY Месяц назад

      Lol Go solved this issue :p

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      @@MECHANISMUS Rust has a language convention built into the language. You get compiler warnings by default if you don't follow their style guide 😉

    • @WolfSoundAudio
      @WolfSoundAudio Месяц назад

      @@TheQxY Could you elaborate? I'm not very familiar with Go 😉

  • @kritosyt6225
    @kritosyt6225 Месяц назад

    this video about c++ sucks and rust do better 😂

  • @KeithKazamaFlick
    @KeithKazamaFlick Месяц назад

    thanks

  • @ritanaia8663
    @ritanaia8663 Месяц назад

  • @ess.l
    @ess.l Месяц назад

    Thank you for this. I am however very lost where to go after this. I know how to make simple changes to PluginProcessor.cpp, and I can try out my plug in if I load it to an external test host, or load it in Ableton, but I cannot manage to run and debug it in vscode. Is this just a matter of tweaking my launch.json/task.json and settings.json files to get them to work?

    • @ess.l
      @ess.l Месяц назад

      Ignore meeee, very silly mistake I was making 😂😅