Is it time to quit oF?

The idea behind quitting is: if two softwares have similar capabilities, isn’t it more valuable to invest all of your time in one and become very proficient in it rather than be continuously stuttering with both of them? Of course, their capabilities aren’t exactly the same and it’s possible to get good at both, but my recent dilemmas have made me consider this.

@fresla I’m honestly kind of lazy about digging deep into addon code because I just want to get to making things. But I’ll confess that advice from @danomatika on overriding my compiler’s objections via explicit typecasting gave me an idea of how to solve another compatiblity issue… which seems simple in retrospect, so maybe it’s not as hard as it seems.

I really appreciate everyone’s positivity, explanations for why they like oF and willingness to help.

1 Like

Tools like this take alot of work to create and maintain, even if things work well on the surface. oF provides enough to get going quickly but, by it’s nature, cannot hide many of the lower-level steps such as linking from its users. It takes time to learn C++, compilers build systems, etc but this knowledge is also applicable beyond the oF world and will help you to understand other platforms. My advice to beginners is to remember: “it’s not easy, but it’s not hard.”

Things like Unity and Touch Designer are great tools but I have always avoided using them because, at the end of the day, everything you make with them is dependent upon a commercial company. Neither are open source and your creativity is tied to them existing. It may take longer to make something with an environment like oF, but I have projects which are 10 years old at this point that I can continue to update and build. I have Pure Data projects which are older.

As for your problem with ofxPd, it’s likely something I have long fixed in the libpd repo but have not updated in the ofxPd repo. I am behind with libpd-work right now and my suggestions were more to get an idea of what was going on, not meaning to imply you have to fix everything yourself. I don’t use Windows day to day so it’s good to know when issues arise.

8 Likes

Touch Designer boasts wonderful capabilities, I use it too for some projects, mainly for some specific media realtime processing.
But from my coder point of view most of times it’s a “bizantine” environment that makes creative work cumbersome and intricate (built on a half baked metaphore, with a counterintuitive layer of abstraction, I may continue the rant for hours…). And, at the end of the day, it does cost some good money.
On the other hand often with some lines of C++ and the help of OF, which is completely free, I get same things done in minutes. This helps a lot when you are in “the flow” and ideas may get broken by losing time on incomprehensible details.
Obviously I speak of my particular case. Being a creative, for me OF, even after all these years, is still the main way to achieve results quite easily, in a straightforward workflow and in a reasonable amount of time. Several times I started first steps of a project with TD and then did the rest with OF by making the two parts communicate via OSC, because with TD I was not able to get what I needed in a meaningful way.

5 Likes

I think a lot of great comments have already been made, but I just want to add that having a tool like openframeworks is pretty special. The openness and foundation on C++ (and multiplatform aspect of it) allows to basically do any project. I think this is a huge win for creativity with the medium of computing. Other tools push people to create projects that are just a reflection of the tool (e.g. 3rd person controller in Unity) and it’s hard to deviate from the templates.

Quoting Alan Kay “Simple things should be simple, complex things should be possible.” and I think for me OF is the closest tool to embody this philosophy.

5 Likes

As a further abstraction: I use OF a ton for sketching ideas and prototyping but not in C++… I write projects in Lua which is run by a custom interpreter for OF I built some years ago:

What’s nice about this is that I have a tool which fits my workflow for experimentation and integration with other tools such as Pure Data with OSC. At the same time, I am leveraging all of the work by the community which went into OF and know I can deploy any of these Lua script-based projects on a different platform, ie. the classic “dev on Mac, deploy on Linux.”

I often think about making my own tool which doesn’t use OF but I always come back to the fact that there is no good reason to reinvent the wheel… better to make new things and keep the algorithms easy to read, understand, and port to new platforms, as required. :slight_smile:

1 Like

@danomatika Ah, I’m using PD with OSC for this project too, so maybe I’ll check your repo out sometime! Right now need to sort out what core tools I’ll be using. Using a modern webcam in oF on Windows is apparently not possible without a huge framerate drop, which is a substantial problem.

In TouchDesigner the camera works fine… I really don’t want to use TD, but if it’s the only way to have 30fps HD camera feed, I might not have a choice… And this is ironic because the community just helped me find a solution for the other problem I was having.

Someone… please save me from TouchDesigner…

@s_e_p what if you captured video somewhere else and sent the result to OF via spout ? If you need pixel data, you may need to read the pixels out of texture memory which could be a little slow (this may help GitHub - satoruhiga/ofxFastFboReader: Read pixel data using PBO)

1 Like

@zach Thank you for the suggestion… though I have to take a moment to laugh. I’ve met the developer of that addon irl- he works with my company sometimes and he quit oF to focus on TouchDesigner because he was tired of messing with addons.

Anyway, I’ll keep that in mind. Seems silly to use oF + TD if I could do everything with TD. I haven’t tried the jpeg sequence loop in TD yet though, so if that doesn’t work well in TD I may have to.

please use TD then! everyone here is just trying to help…

3 Likes

@zach Sorry if I’m coming across as entitled or negative. Just experiencing some cognitive dissonance due to wanting to use oF more but being limited by OS compatibility issues. And then the coincidence of my knowing that guy was actually funny… The oF community is great and one of the reasons I’m still here.

(@theo came up with a fix! Thank you!)

what the point in asking for a tool to be like the other tool ?

2 Likes

@s_e_p just to add to this, and in combination with some of your other posts. It is great to get consumer gear working on OF (video grabber issues). I want to make one comment, forgive me if it feels rude. It seems you are looking for professional grade results accross your projects which is of course a shared goal for many. I would definately take a look at professional grade systems and projects and look at some of the resources that are utilised to achieve these results.

Since a long time ago, when I need reliable video capture I use a capture card and camera, this is infinetly more flexible than a webcam and offers distance from the machine (use SDI capture and cameras), hardware fixed camera settings and reliable frame grabbers and is used on any mid to high level project. Take a look at the blackmagic hardware - I havve been using it for years its cheap and reliable. These systems are also less resource hungry and better quality as they dont need to compress the signal on board before sednding (which requires decompression).

This is just the tip of the iceberg - when performing the kind of video delay/instant replay system you seem to be developing professional setup use hardware to do this. Computer hardware is another level too, I have used Disguse a lot for large scale mission critical projects and the computers with a software license are overspeced and upwards of $100k. When I build my own machines I also go overboard - threadrippers with large GPU’s to reliably eat through projects and stay cool. OF lets you do amazing things fast and easily and any issue you solve is transferable knowledge you can use later. Definately take a look at what other projects are using resource wise (human and tech) and compare the results you expect with your project.

Making something that works OK on TD can also end up needing huge resources once you plug in your projectors and soundcards and get things to scale, and I have seen big projects using comino hardware to run TD projects because computation is computation and its not cheap.

I understand the friction you are experience in using OF, but it is definately worth thinking about projects as a whole and all the resources they need and flexibilty they require when you evaluate this stuff.

4 Likes

To add to the great replies, i’d like to add 2 things:

  1. I feel like you are also missing an other point of OF:
    you can use it on a lot of platforms: Raspberry Pis (3/4/0), and on the jetson family, as well as on mobiles. you don’t have this interoperabilty with Unity or TD.
    This makes it immensly more powerful to use on medium size installations where technical requirements/budget/physical space are tight.
    It also enables you to check a certain behaviour on a desktop, compile the code for an other platform and have it run there.

  2. you seem to not grasp how complex it is to use FFmpeg correctly: ofxFFmpegRecorder is great, but only scratches the surface of what you can do with the command line in FFmpeg, and this is a vaste subject-just look at the github repo for FFmpeg, or the quantity of blog post about transcoding, streaming etc…-.
    Using tools this complex within OF is a amazing, and having people to write open source code for you is great, but you can’t take them accountable for miss use of the library.
    Also you shouldn’t underestimate how much more you can do if you put your mind to it, as the whole community is letterally here to help you, and genrally super helpful when a specific question is asked :).

4 Likes

Is it time to quit oF?

absolutely not :slight_smile:

Reading the posts before, i don’t think there is more need for arguments. I just want to express my love and gratitude for oF.

I understand your frustration, but most things of value are frustrating and possibly scary on the first try.
oF opened up the world for me, it played a crucial role in understanding more about how computers work. Yes, sometimes learning is hard. Watch how a baby learns walking. It’s pretty tough, but also definitely worth it and can be extremely fun. Learning programming and how things are set up on a computer system is maybe not as essential as learning how to walk, fair enough. But i really enjoy it and the oF community was an incredible support when i would otherwise slam with my face on the floor.

One sidenote to touchdesigner. It is a different animal than oF. It’s maybe easier to get into, but way more restrictive both from the things you can create or where your creations can run. Good luck exporting your TD project to run on a low cost device like a raspberry pi efficiently, or deciding to do sth else that TD was not designed for. It’s closed source nature means that how stuff works under the hood is intentionally inaccessible to you. Furthermore you need to pay for features with money. Personally, I rather and happily pay with time learning something instead. It doesn’t only give me the product, I also end up with knowledge, independence and flexibility. Through the skills i developed with oF i am able to find my way through all kind of libraries and stuff i need for my professional practice. C++ is a very useful language to know, and the oF community is one of the most helpful bunch of people i have encountered.

My goal with this post is not so much to convince you to not quit oF. Maybe oF is not the right toolset for you at this moment, that’s fine. But i do not think it’s time to quit oF.

3 Likes

I thank you for bringing up this subject, I’m loving the answers here.
It is important to choose what you are not going to use. not going to dedicate time to learn. (I won’t be spending time on TD for ex. but it is just personal)
I’ll be experimenting with Nannou as an alternative to OF, now just quick experiments.

2 Likes

Nice, what do you like about Nannou, @dimitre ?

Thanks, @fresla . This is the first time doing something like this, but if I end up using a lot of live video in the future I’ll keep your advice in mind. I prefer a laptop for performances because of the ease of transport; not sure if there are capture-cards for laptops…

Thanks to everyone for the great points about oF. I’d like to point out that I made this post because I like working with oF more than TD and was just frustrated that things I’d thought of as basic functionality were seemingly out of reach. I see now that the greater difficulties in some areas of oF are a trade-off for other advantages: a pure, code-based model, modular cross-platform capabilities, and a thriving, helpful community. I haven’t made a post like this on the TD forum because I don’t even really want anyone to convince me to use TD, so it would’ve been silly.

As soon as @theo bailed me out yesterday, I removed my company’s TD license from my computer and sent oF a donation. Expect to keep seeing me around here!

2 Likes

Hey @dimitre, do you know if Nannou is using webGPU for its pipeline? It think it is after looking but I can’t tell for sure. I still worry about the day when apple finally removes openGL support.

Also thanks to everyone who has posted in this thread so far, and I hope others will continue to add their thoughts to it! I hope this becomes a very long thread as time goes by. I have enjoyed reading all of the comments so far.

Basically the same I like in OF. opensource / multiplatform / educational / love driven.

It’s true, that some addons are not working, but I personally find OF absolutely amazing as a framework for creating high-performance art installations. I also find it’s structure and architecture quite friendly and in most cases very logical. But then again, I used to be a professional C++ programmer, so maybe that’s why it seems for me relatively simple and straight forward (even though I’m really scared of linking errors…hate to deal with them, especially on windows). I also must say that support and community for OF is quite good and very responsive. So I’m definitely not leaving!

2 Likes

@SFR75 Do you usually use oF on Mac or Linux? Is linking much easier there? I’ve heard a lot of people say Windows is the buggiest of the three and it’s all I’ve ever known. Mac seems (as a platform in general) limited in other ways while Linux seems difficult to set up for the uninitiated, but if it’s that much of a difference, maybe worth looking into…

Basically the same I like in OF. opensource / multiplatform / educational / love driven.

@dimitre What is it your prefer about Nannou? Rust over c++?