openFrameworks
openFrameworks copied to clipboard
OF 0.12.0 Release Checklist
I found this format quite helpful to organize tracking issues for releases. Just wanted to put this here so we can start collecting any issues/PR for the next patch release.
Please add links to issues based on testing the nightly packages on different platforms.
0.12.0 SPECIFIC:
Github Workflow:
- [ ] Look at issue templates again. ( First take at creating a GitHub issue template #5652 )
Addons:
- [ ] #6989
Libraries:
- [ ] What libraries to drop?
All Platforms:
- [x] Support C++17 - #6585 ( wip PR here #6844 )
- [x] Make ofVideoPlayer::isPlaying() consistent #6527 ( without breaking things!! )
- [ ] Check out proposal for avoiding ofParameter notify loop for linked ofParams #6602
- [x] ofAppGLFWWindow settings.monitor not being clamped bug causes crash
- [x] Modernize examples/templates main.cpp #6720
- [x] Bug with cairo render when setting scale to 0,0 #6715
- [ ] Move templates to root ( and fix CI scripts / PG / etc to correspond )
- [ ] update GLFW ( see #6954 )
Windows:
- [x] K-Lite breaks Directshow player - #6765
- [ ] Look at more robust fix to k-lite issue.
VS:
- [ ] Remove fmod as the default sound player. #167 #5490
- [ ] Fix VS 2017 template - https://forum.openframeworks.cc/t/of-v0-11-2-error-lnk2038/37495/5
- [x] Switch to VS2019
- [ ] Consider a MF video player using IMFMediaEngine ( useful ref here )
- [ ] Remove 32bit
- [ ] Check if C++17 fixes allow for c++latest #6832
MSYS2:
- [ ] Remove fmod as the default sound player. #167 #5490 #6622
- [ ] Fix PG issue with backslashes - https://github.com/openframeworks/projectGenerator/issues/265
- [ ] Remove 32bit
macOS:
- [x] Change template to make missing a return a hard error instead of allowing functions not return anything.
- [ ] Better retina support ( this is a tough one - might need to get bumped ) - https://github.com/openframeworks/openFrameworks/issues/4789
- [ ] Fmod sound crash #6708 ( Don't see this anymore - @roymacdonald could you see if this is an issue? )
- [ ] Assimp went from 26MB to 300MB ( 0.11.0 to 0.11.1 )
- [x] Remove QTKit https://github.com/openframeworks/projectGenerator/issues/264
- [x] Fullscreen issues / viewport issues on M1 #6719
- [ ] Remove fmod as the default sound player. #167 #5490 ( this seems doable if we can figure out the FFT part )
- [x] Update template to allow serial device access #6864
- [x] 10.15 min macOS ( once C++17 PR is merged )
- [ ] Rename osx to macOS 😬
- [x] Change macOS / iOS / tvOS to ARC #6889
Linux/ARM:
- [ ] Try and get Rpi 4 working without X ( see comment from @patriciogonzalezvivo )
- [ ] fmod linking error with Qt Creator - #6733
- [ ] X11 Macro clash with OpenCV 4. Need to do something like this, but maybe targeted to X11 ( https://github.com/openframeworks/openFrameworks/pull/6868/files )
- [x] Fix Gstreamer 1.20 breaking video and grabber
- [ ] ofGstVideoPlayer fixes #7063
iOS:
- [ ] examples are broken #6723
- [ ] update main.cpp to modern approach
Android:
- [ ] #6762
- [ ] Add cpp 17 when @danoli3 's PRs are merged.
- [ ] update main.cpp to modern approach
emscripten:
- [ ] check out @Jonathhhan 's branch for emscripten fixes. Can we do small bitesized PRs here?
- [ ] update to latest emscripten version ( see https://forum.openframeworks.cc/t/the-future-of-emscripten-and-of/38360 )
- [ ] fix fullscreen and AA not working #6758 ( see fix here )
CI:
ProjectGenerator:
- [x] Remove macOS binary from PG for Linux: https://github.com/openframeworks/projectGenerator/issues/209
Apothecary:
Examples:
GENERAL:
- [ ] update the change log.
- [ ] update the Thanks.md with scripts/dev/thanks.sh
- [ ] update version defines in ofConstants.h.
- [ ] change the version on ofSite and make packages.
- [ ] update apothecary and projectGenerator submodules
- [ ] update stable to master
suggestions:
- [x] build RtAudio compatible with macOs 10.13
- [ ] removing deprecated functions like loadMovie, etc.
- [x] remove QTKit
Suggestions: Folders naming and location
it would be great to change some parts of structure for a major version like 0.12.0 changing osx to macos in docs, scripts and templates
and moving templates to root, not inside scripts. it is just strange that this folder sits there, together with lots of .sh folders.
Be great if people could add any open issues not listed above to this - either in the comments or by editing this issue.
Regarding my Emscripten branch: Not sure what is the best way to do the bitesized pull requests, but I am open for that... (actually I tried to keep everything together, but now I read this: https://yihui.org/en/2018/02/bite-sized-pull-requests/) Should I make another branch with less changes (only one at a time)? Would also be great if someone can review my changes, because there are possibly some beginner mistakes (still it works fine for me so far)... And which of the changes should be included and which not (for now)?
I tried to make a list for a better overview (hope I did not forget anything):
Done: Fullscreen Font antialiasing
Done, but could be optimized:
Update OF libs for current Emscripten
Update OF libs for atomics / sharedArrayBuffer (which is needed for AudioWorklet for example)
AudioWorklet
(wasm workers were just merged into the official branch, so could be usable with the official Emscripten branch soon https://github.com/emscripten-core/emscripten/pull/16449)
WebMidi
Simplification (?) of ofxEmscriptenSoundPlayer
Routing of audio nodes (for processing ofxEmscriptenSoundPlayer
and ofxEmscriptenVideoPlayer
sound with audioWorklets)
Not done (but I have examples for using the file system): Simplified use of the Emscripten file system
Bitesized Pull Requests would be great! Especially starting with stuff which is easy to review and merge.
People can then review the PRs in a more focused way.
Thanks!! Theo
Alright, actually I think I need somebody who can help me (already asked in the forum - but it seems quite difficult to find someone, even if paid), also I dont have a lot of time at the moment. But I will try, if I have more time (not sure if that is before 0.12.0). (My problem starts with: This branch is 186 commits behind the upstream and has conflicts that must be resolved.) I am a little lost and have other important things to do at the moment. I am sorry for that.
Implement audioWorklet from official Emscripten branch: https://github.com/emscripten-core/emscripten/pull/16449/files
hey @Jonathhhan sorry for not being able to help so far. I will take a look at your branch and see how I can help to make a nice and clean PR.
@roymacdonald no problem. And sorry if I sounded a bit grumpy, it wasnt meant like that. I was just a little overwhelmed and exhausted.... But I think it would be a good idea to implement audioWorklets from the official Emscripten branch instead. Still, my implementation could help to show how to implement it (maybe (hopefully) it doesnt need a lot of changes).
@Jonathhhan no worries. It did not sound like that at all to me. I see that there your most up to date branches are named bitesize-audioworklet
and bitesize-AudioWorklet
which one should be used?
@roymacdonald those two branches were my attempts to get clean up to date branches for making the bitsize changes. But I had no luck, because I made some changes to my master branch once (they include none of my current changes yet). So this is still the branch that includes all my changes: https://github.com/Jonathhhan/openFrameworks/tree/AudioWorklet
Edit: Done ofxSVG object renamed to ofxSvg
- https://github.com/openframeworks/openFrameworks/issues/6866#issuecomment-1081904974
- https://github.com/openframeworks/openFrameworks/pull/6906
Anybody else likes the idea of having https://github.com/danomatika/ofxMidi as a core addon?
Anybody else likes the idea of having https://github.com/danomatika/ofxMidi as a core addon?
definitely :)
Yes yes
On Sat, 2 Apr 2022 at 12:25 pm, Jonathan @.***> wrote:
Anybody else likes the idea of having https://github.com/danomatika/ofxMidi as a core addon?
definitely :)
— Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/6692#issuecomment-1086457150, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGK2HDCPYCY55FHJDPLDMLVC6OY7ANCNFSM4YB3EOSQ . You are receiving this because you were mentioned.Message ID: @.***>
Edit: Done Suggestion: this PR can be added to 0.12 checklist too
- [x] https://github.com/openframeworks/openFrameworks/pull/6889
hey @ofTheo I've took a look at this: settings.monitor not being clamped
and moved functionality to outside the if, so it is clamped correctly once https://github.com/openframeworks/openFrameworks/pull/6954
hey @ofTheo I was reading this one " Change template to make missing a return a hard error instead of allowing functions not return anything." and it is already an error in XCode and a warning in make. This can be changed adding
PLATFORM_CFLAGS += -Werror=return-type
in line 93 of config.osx.default.mk should I submit a PR?
@dimitre that would be great for make! Thanks!!
Nice, its here
- https://github.com/openframeworks/openFrameworks/pull/6962
Hey @ofTheo can you explain better about retina support item?
@dimitre there is is more info here: #4789
Originally I was imagining that say you had a 2x retina scale OF would render everything twice as large into a 2x frame buffer. However fonts would also need to be loaded at 2x and then things start to get tricky as if you move the window to a 1x ( non retina window ), do you reload the fonts? Or if you start on a non retina monitor and move to a retina monitor do you reload the fonts at 2x?
There are definitely some edge cases where things get tricky.
It might be worth trying out some different approaches and see what is the simplest and most robust approach.
We can query the pixel coordinate scale and we can enable retina support via the plist so, the basic info is there.
Hope that helps! Theo
Other suggestion, older deprecated API should be removed already loadMovie -> load loadImage -> load saveImage -> save initGrabber -> setup
- https://github.com/openframeworks/openFrameworks/pull/3320
Just to add to list. it would be great to have orientation issues solved for 0.12
I saw the Linux issue "Try and get Rpi 4 working without X" in the list. Does this mean running oF headless and without windowing system? I just did something similar on a Rock Pi 4 and I basically just used the ofAppNoWindow feature.
I think this should be addressed for Linux: https://github.com/openframeworks/openFrameworks/issues/6871
Hey @StaffanMelin do you think it is an OF issue rather than GStreamer? Is Processing still shipping a previous version binary to make it work?
Good question @dimitre! :) I an play videos but not capture them. I could with previous versions of gstreamer. I can also run the pipeline with gst-launch-1.0, but when running the videoGrabberExample the program crashes. So I think it is an oF problem when gstreamer updated beyond 1.18.
As for Processing and if it bundles an old GStreamer version, I don't know. for sure. They seem to have bundled an earlier version, then removed it, then brought it back. See https://github.com/processing/processing-video/issues/195
For create openGL ES 2.0 context on a RPI 4 without X11/WAYLAND (where glfw don't work) I'm doing this:
- GBM > EGL helper functions https://github.com/patriciogonzalezvivo/vera/blob/main/src/window.cpp#L195-L314
- create actual GL context https://github.com/patriciogonzalezvivo/vera/blob/main/src/window.cpp#L516-L660
For those sections ignore everything under flags
DRIVER_BROADCOM
define flags (it's for the older RPIs with a broadcom chip)
Wow - thanks @patriciogonzalezvivo! That's super helpful. 🙏🙏🙏