ADC 2017 Presentation Slides/ Examples

While I am aware that the talks will be available to view online post-conference, will any/ all of the presentation slides and examples be available online anywhere (GitHub maybe?)?

1 Like

Still waiting for large projects with value trees code at to be uploaded. Can’t wait…


Reactive Extensions in JUCE (Slides)


Great talk @basteln


I’ve uploaded the slides now, example code will hopefully follow tomorrow.
As I mentioned in the talk, I’ve slides in that I didn’t have time to discuss but they’re not quite as polished as the other main presentation.


Thanks David. Great talk by the way, going to save me so many problems in the future!

Thanks! Glad you liked it!

@IvanC also told he’ll have a post with actual project demos & pdf of his great presentation.

I guess most would be eventually available once all will get back home.

1 Like

Thanks so excited.

Hi Dave,
Does the “Using ValueTrees and Modern C++ to Build Large Scale Applications” code happen to include an implementation of lasso selection for inside the Treeview? My solutions are not looking too neat.
Not meaning to be lazy. I assume that lasso selection would have been in the back of your mind when you wrote the core tree functions and that you have the most appropriate solution. I kept wanting to hack to implement this effectively, which means I may be off the mark.

@lpb - Dave’s presentation was more about the internal aspects of using ValueTree’s and its listeners to simplify and reduce code in large applications. He didn’t go into specific GUI implementations.

Yeah, I didn’t really talk about specific UIs based on ValueTrees as those kind of things really depend greatly on your design and data structure.

Lasso is usually relatively easy as you basically need to register the start point of your selection on mouse down, then update the end point in your mouse drag, and just find all the the things that lie between those two points (there are optimisations to this but I’d start with the simple, brute force method first).

However, I might be misunderstanding here but lassoing in tree views isn’t a very common task is it? Don’t you usually select a row, then shift click on another row to select everything in between? juce::TreeView should handle this automatically and provide access to find the selected items.

Or have I misunderstood what it is you’re trying to achieve?

My talk examples + associated first exercise are here :

Second exercise topic :


Thanks for all the replies! Great to know alot of the speakers are willing to share their slides and examples. Could a centralised place for them to be uploaded to be an idea for ADC 2018?

Looking forward to watching your talk Ivan!

All the talks (but the Google and Apple ones) are already online on the Youtube JUCE channel by the way, since they were live streamed during the conference :wink: I say it in the case it is not known yet by everybody

Hi Dave,
I am high jacking a thread. Sorry.
I had maybe wrongly assumed an everyday user would expect to lasso select the treeView items, but this may be because my highlights/selections in the treeView are only as wide as the text.
Looking at it again my method does a stable enough job. I like having JUCE solutions where I can, especially if it will eventually replace my code anyway. Embarrassingly, as a non-programmer, asking a public question brings clarity an hour or two later. For some reason asking my wife, kids or even the kid’s imaginary friends does not help.

The code behind my presentation is at
I still one error to fix to make to the presentation and I will send it to the JUCE team.

1 Like

My code is also up on GitHub now:

1 Like

Thanks Dave,
I was just about to copy the code from your slides. Your code is very welcomed by me.
The value tree structure allows me to seperate class design from final implementation of my classes. The more I hear about C++, the more programmers appear to be hinting that these should be interconnected, but also seperate with a different set of governing rules (like the ability to access each other from anywhere should not happen in classes, but I find it necessary in my final class interface implementation). JUCE’s valuetree has become the perfect glue for the implementing of my classes.
Keep up the most amazing and fantastic work.

1 Like