natrongithub / openfx-arena Goto Github PK
View Code? Open in Web Editor NEWExtra OpenFX plugins for Natron
License: Other
Extra OpenFX plugins for Natron
License: Other
Yeah, need to adapt to changes made in SupportExt since interact in TextOFX now crashes.
Will fix when I get time tomorrow.
Requested by William Young.
Support WYSIWYG.
TextFX as-is works, but I always wanted it to be a real WYSIWYG editor. This actually don't require too much work on the plugin side, but will however require some changes in Natron, I need to implement kOfxParamStringIsRichTextFormat
.
I have the Widget editor more or less done, so it shouldn't be that hard. Will try to get this working by the end of next month (-ish).
Note to self so I don't forget :)
Also note that I have started a new text project at https://github.com/rodlie/openfx-text (wip).
I have installed all of the dependencies by looking at the travis file (line 33). I ran this command make -DCMAKE_INSTALL_PREFIX=/usr/OFX/Plugins ..
and go this output:
CMake Warning (dev) at /usr/share/cmake-3.13/Modules/FindOpenGL.cmake:270 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
FindOpenGL found both a legacy GL library:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
and GLVND libraries for OpenGL and GLX:
OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
CMakeLists.txt:36 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hellocatfood/Desktop/openfx-arena/build
Nonetheless I ran make but it failed:
/home/hellocatfood/Desktop/openfx-arena/Extra/OpenRaster.cpp:30:10: fatal error: lodepng.h: No such file or directory
30 | #include "lodepng.h"
| ^~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/Arena.dir/build.make:63: CMakeFiles/Arena.dir/Extra/OpenRaster.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/Arena.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
I can't find which package lodepng is in. Also, this laptop uses intel drivers as it doesn't have a dedicated gpu. Does this usually present compilation issues?
I recently was looking to try out Natron. I run Arch Linux and simply was able to go through the AUR to obtain the natron package. I run into an error when compiling openfx-arena.
I've checked that I have all the required dependencies and was curious if there is something I'm missing or if there is an issue. Here is my output of making the file after git cloning it. Many thanks for reviewing this! (apologies on the formatting)
`git submodule update -i --recursive
Submodule 'OpenFX' (https://github.com/NatronGitHub/openfx.git) registered for path 'OpenFX'
Submodule 'OpenFX-IO' (https://github.com/NatronGitHub/openfx-io.git) registered for path 'OpenFX-IO'
Submodule 'SupportExt' (https://github.com/NatronGitHub/openfx-supportext.git) registered for path 'SupportExt'
Submodule 'lodepng' (https://github.com/lvandeve/lodepng) registered for path 'lodepng'
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX'...
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly before end of the underlying stream
error: 4760 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
fatal: clone of 'https://github.com/NatronGitHub/openfx.git' into submodule path '/home/ahpt/Documents/Git/openfx-arena/OpenFX' failed
Failed to clone 'OpenFX'. Retry scheduled
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO'...
fatal: unable to access 'https://github.com/NatronGitHub/openfx-io.git/': Failed to connect to github.com port 443 after 129284 ms: Connection timed out
fatal: clone of 'https://github.com/NatronGitHub/openfx-io.git' into submodule path '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO' failed
Failed to clone 'OpenFX-IO'. Retry scheduled
Cloning into '/home/ahpt/Documents/Git/openfx-arena/SupportExt'...
Cloning into '/home/ahpt/Documents/Git/openfx-arena/lodepng'...
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX'...
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO'...
Submodule path 'OpenFX': checked out 'd5db5d0483faab6a85c104b436f7460897a90aa8'
Submodule path 'OpenFX-IO': checked out 'c6ad47bc4e2f812ebeb9ce7c4a759d2546e2a382'
Submodule 'IOSupport/SequenceParsing' (https://github.com/NatronGitHub/SequenceParsing) registered for path 'OpenFX-IO/IOSupport/SequenceParsing'
Submodule 'SupportExt' (https://github.com/NatronGitHub/openfx-supportext.git) registered for path 'OpenFX-IO/SupportExt'
Submodule 'openfx' (https://github.com/NatronGitHub/openfx.git) registered for path 'OpenFX-IO/openfx'
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO/IOSupport/SequenceParsing'...
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO/SupportExt'...
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO/openfx'...
Submodule path 'OpenFX-IO/IOSupport/SequenceParsing': checked out '103c528347ebb2dd0ff5d79b5cee24bbcf938ce0'
Submodule 'tinydir' (https://github.com/NatronGitHub/tinydir) registered for path 'OpenFX-IO/IOSupport/SequenceParsing/tinydir'
Cloning into '/home/ahpt/Documents/Git/openfx-arena/OpenFX-IO/IOSupport/SequenceParsing/tinydir'...
Submodule path 'OpenFX-IO/IOSupport/SequenceParsing/tinydir': checked out '64fb1d4376d7580aa1013fdbacddbbeba67bb085'
Submodule path 'OpenFX-IO/SupportExt': checked out '79d8c229400d4aa76a97d689428aa96c0ccecab0'
Submodule path 'OpenFX-IO/openfx': checked out 'd5db5d0483faab6a85c104b436f7460897a90aa8'
Submodule path 'SupportExt': checked out '79d8c229400d4aa76a97d689428aa96c0ccecab0'
Submodule path 'lodepng': checked out '5601b8272a6850b7c5d693dd0c0e16da50be8d8d'
Submodule path 'OpenFX': checked out 'd5db5d0483faab6a85c104b436f7460897a90aa8'
Submodule path 'OpenFX-IO': checked out 'c6ad47bc4e2f812ebeb9ce7c4a759d2546e2a382'
openfx-arena on master via △ v3.23.2 took 2m49s
❯ make CONFIG=release
(cd Bundle && make)
make[1]: Entering directory '/home/ahpt/Documents/Git/openfx-arena/Bundle'
CXX Linux-64-release/lodepng.o
CXX Linux-64-release/RichText.o
CXX Linux-64-release/TextOFX.o
CXX Linux-64-release/ReadCDR.o
../Extra/ReadCDR.cpp: In member function ‘virtual void {anonymous}::ReadCDRPlugin::decode(const std::string&, OfxTime, int, bool, const OfxRectI&, const OfxPointD&, float*, const OfxRectI&, OFX::PixelComponentEnum, int, int)’:
../Extra/ReadCDR.cpp:155:31: warning: ‘void rsvg_handle_get_dimensions(RsvgHandle*, RsvgDimensionData*)’ is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations]
155 | rsvg_handle_get_dimensions(handle, &dimension);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from ../Extra/ReadCDR.cpp:21:
/usr/include/librsvg-2.0/librsvg/rsvg.h:706:6: note: declared here
706 | void rsvg_handle_get_dimensions (RsvgHandle handle, RsvgDimensionData dimension_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../Extra/ReadCDR.cpp:184:29: warning: ‘gboolean rsvg_handle_render_cairo(RsvgHandle, cairo_t)’ is deprecated: Use 'rsvg_handle_render_document' instead [-Wdeprecated-declarations]
184 | rsvg_handle_render_cairo(handle, cr);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/librsvg-2.0/librsvg/rsvg.h:1450:
/usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:88:10: note: declared here
88 | gboolean rsvg_handle_render_cairo (RsvgHandle handle, cairo_t cr);
| ^~~~~~~~~~~~~~~~~~~~~~~~
../Extra/ReadCDR.cpp: In member function ‘virtual bool {anonymous}::ReadCDRPlugin::getFrameBounds(const std::string&, OfxTime, int, OfxRectI, OfxRectI, double*, std::string*, int*, int*)’:
../Extra/ReadCDR.cpp:275:31: warning: ‘void rsvg_handle_get_dimensions(RsvgHandle*, RsvgDimensionData*)’ is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations]
275 | rsvg_handle_get_dimensions(handle, &dimension);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:706:6: note: declared here
706 | void rsvg_handle_get_dimensions (RsvgHandle handle, RsvgDimensionData dimension_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
CXX Linux-64-release/ReadSVG.o
../Extra/ReadSVG.cpp: In member function ‘virtual void {anonymous}::ReadSVGPlugin::decodePlane(const std::string&, OfxTime, int, bool, const OfxRectI&, const OfxPointD&, float, const OfxRectI&, OFX::PixelComponentEnum, OFX::PixelComponentEnum, int, const std::string&, int)’:
../Extra/ReadSVG.cpp:247:31: warning: ‘void rsvg_handle_get_dimensions(RsvgHandle, RsvgDimensionData*)’ is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations]
247 | rsvg_handle_get_dimensions(handle, &dimension);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from ../Extra/ReadSVG.cpp:19:
/usr/include/librsvg-2.0/librsvg/rsvg.h:706:6: note: declared here
706 | void rsvg_handle_get_dimensions (RsvgHandle handle, RsvgDimensionData dimension_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../Extra/ReadSVG.cpp:277:33: warning: ‘gboolean rsvg_handle_render_cairo(RsvgHandle, cairo_t)’ is deprecated: Use 'rsvg_handle_render_document' instead [-Wdeprecated-declarations]
277 | rsvg_handle_render_cairo(handle, cr);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/librsvg-2.0/librsvg/rsvg.h:1450:
/usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:88:10: note: declared here
88 | gboolean rsvg_handle_render_cairo (RsvgHandle handle, cairo_t cr);
| ^~~~~~~~~~~~~~~~~~~~~~~~
../Extra/ReadSVG.cpp:282:37: warning: ‘gboolean rsvg_handle_render_cairo_sub(RsvgHandle, cairo_t, const char*)’ is deprecated: Use 'rsvg_handle_render_layer' instead [-Wdeprecated-declarations]
282 | rsvg_handle_render_cairo_sub(handle, cr, layerSub.str().c_str());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:153:10: note: declared here
153 | gboolean rsvg_handle_render_cairo_sub (RsvgHandle handle, cairo_t cr, const char id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../Extra/ReadSVG.cpp: In member function ‘virtual bool {anonymous}::ReadSVGPlugin::getFrameBounds(const std::string&, OfxTime, int, OfxRectI, OfxRectI, double, std::string*, int*, int*)’:
../Extra/ReadSVG.cpp:352:31: warning: ‘void rsvg_handle_get_dimensions(RsvgHandle*, RsvgDimensionData*)’ is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations]
352 | rsvg_handle_get_dimensions(handle, &dimension);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:706:6: note: declared here
706 | void rsvg_handle_get_dimensions (RsvgHandle *handle, RsvgDimensionData *dimension_data);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
CXX Linux-64-release/ReadKrita.o
CXX Linux-64-release/OpenRaster.o
CXX Linux-64-release/AudioCurve.o
CXX Linux-64-release/ReadPDF.o
In file included from /usr/include/poppler/Error.h:35,
from /usr/include/poppler/GlobalParams.h:46,
from ../Extra/ReadPDF.cpp:20:
/usr/include/poppler/goo/GooString.h:249:33: error: ‘std::string_view’ has not been declared
249 | static bool startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
| ^~~~~~~~~~~
/usr/include/poppler/goo/GooString.h:249:55: error: ‘std::string_view’ has not been declared
249 | static bool startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
| ^~~~~~~~~~~
/usr/include/poppler/goo/GooString.h:250:31: error: ‘std::string_view’ has not been declared
250 | static bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~~~~~~~~
/usr/include/poppler/goo/GooString.h:250:53: error: ‘std::string_view’ has not been declared
250 | static bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~~~~~~~~
/usr/include/poppler/goo/GooString.h: In static member function ‘static bool GooString::startsWith(int, int)’:
/usr/include/poppler/goo/GooString.h:249:88: error: request for member ‘size’ in ‘str’, which is of non-class type ‘int’
249 | static bool startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
| ^~~~
/usr/include/poppler/goo/GooString.h:249:105: error: request for member ‘size’ in ‘prefix’, which is of non-class type ‘int’
249 | static bool startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
| ^~~~
/usr/include/poppler/goo/GooString.h:249:124: error: request for member ‘compare’ in ‘str’, which is of non-class type ‘int’
249 | static bool startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
| ^~~~~~~
/usr/include/poppler/goo/GooString.h:249:142: error: request for member ‘size’ in ‘prefix’, which is of non-class type ‘int’
249 | startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
| ^~~~
/usr/include/poppler/goo/GooString.h: In static member function ‘static bool GooString::endsWith(int, int)’:
/usr/include/poppler/goo/GooString.h:250:86: error: request for member ‘size’ in ‘str’, which is of non-class type ‘int’
250 | static bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~
/usr/include/poppler/goo/GooString.h:250:103: error: request for member ‘size’ in ‘suffix’, which is of non-class type ‘int’
250 | static bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~
/usr/include/poppler/goo/GooString.h:250:122: error: request for member ‘compare’ in ‘str’, which is of non-class type ‘int’
250 | static bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~~~~
/usr/include/poppler/goo/GooString.h:250:134: error: request for member ‘size’ in ‘str’, which is of non-class type ‘int’
250 | tic bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~
/usr/include/poppler/goo/GooString.h:250:150: error: request for member ‘size’ in ‘suffix’, which is of non-class type ‘int’
250 | h(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~
/usr/include/poppler/goo/GooString.h:250:165: error: request for member ‘size’ in ‘suffix’, which is of non-class type ‘int’
250 | iew str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
| ^~~~
make[1]: *** [../OpenFX/Support/Plugins/Makefile.master:83: Linux-64-release/ReadPDF.o] Error 1
make[1]: Leaving directory '/home/ahpt/Documents/Git/openfx-arena/Bundle'
make: *** [Makefile:13: Bundle] Error 2`
I don't usually make requests for new features but I've stumbled upon a few areas where I think the tile node could be improved. Hopefully these suggestions aren't too far beyond the scope of work being done! I don't think any of these additions would interfere with the tile node's current default operation.
Currently the tile node takes the source input and tiles it while maintaining the source input format. This results in a loss of quality of the image as it gets tiled according to how many rows and columns the user has set.
While this currently works as expected the end result isn't always desirable. An option to tile the source while maintaining its original resolution and increasing the output format size accordingly would be quite nice.
Currently the tile node does not have an option to offset the tiling. This would be nice to have for both the rows and columns.
This is possibly beyond the scope of the tile node but implementing different shapes such as hexagonal or triangular tiling (by cropping the edges of the source input) or Histogram-preserving hex-tiling (PDF) could be neat?
2.5 Snapshot
Ubuntu 22.04
RAM: 64GB
CPU: 11th Gen Intel® Core™ i9-11900H @ 2.50GHz × 16
GPU: NVIDIA Corporation GA107M [GeForce RTX 3050 Ti Mobile] / NVIDIA GeForce RTX 3050 Ti Laptop GPU/PCIe/SSE2
No response
I am trying to read a subtitle (.srt) file into the Text node. The contents of the file are:
1
00:00:00,000 --> 00:00:01,500
First item in a list
2
00:00:01,600 --> 00:00:03,100
2. Second item
3
00:00:03,200 --> 00:00:04,700
Third item
The file can be read and played back, however the second subtitle doesn't display.
I suspect this is because the second subtitle starts with a number
No response
This: ImageMagick/ImageMagick#3690
led to this: ImageMagick/ImageMagick@c322ab1
which appears to break compilation with the following error:
In file included from /usr/include/ImageMagick-7/MagickCore/MagickCore.h:78,
from /usr/include/ImageMagick-7/Magick++/Include.h:45,
from /usr/include/ImageMagick-7/Magick++.h:10,
from ../Magick/ReadPSD.cpp:22:
../OpenFX/Support/include/ofxsCore.h:193:26: error: expected unqualified-id before ‘double’
193 | inline bool IsNaN (double x) { return (std::isnan)(x); }
| ^~~~~~
/usr/include/ImageMagick-7/MagickCore/magick-type.h:192:22: note: in definition of macro ‘IsNaN’
192 | # define IsNaN(a) ((a) != (a))
| ^
../OpenFX/Support/include/ofxsCore.h:193:26: error: expected ‘)’ before ‘double’
193 | inline bool IsNaN (double x) { return (std::isnan)(x); }
| ^~~~~~
/usr/include/ImageMagick-7/MagickCore/magick-type.h:192:22: note: in definition of macro ‘IsNaN’
192 | # define IsNaN(a) ((a) != (a))
| ^
/usr/include/ImageMagick-7/MagickCore/magick-type.h:192:21: note: to match this ‘(’
192 | # define IsNaN(a) ((a) != (a))
| ^
../OpenFX/Support/include/ofxsCore.h:193:15: note: in expansion of macro ‘IsNaN’
193 | inline bool IsNaN (double x) { return (std::isnan)(x); }
| ^~~~~
../OpenFX/Support/include/ofxsCore.h:193:26: error: expected ‘)’ before ‘double’
193 | inline bool IsNaN (double x) { return (std::isnan)(x); }
| ^~~~~~
/usr/include/ImageMagick-7/MagickCore/magick-type.h:192:22: note: in definition of macro ‘IsNaN’
192 | # define IsNaN(a) ((a) != (a))
| ^
/usr/include/ImageMagick-7/MagickCore/magick-type.h:192:20: note: to match this ‘(’
192 | # define IsNaN(a) ((a) != (a))
| ^
../OpenFX/Support/include/ofxsCore.h:193:15: note: in expansion of macro ‘IsNaN’
193 | inline bool IsNaN (double x) { return (std::isnan)(x); }
| ^~~~~
I made some OpenCL (1.2) plugins while at Inria and if I remember right they worked quite well. They where never bundled with Natron since they require OpenCL and we can't provide OpenCL with the bundle (must be provided by the system or graphics driver).
The plugins consist of just some random effects and a meta node that can be used to develop OpenCL kernels and use as a base for PyPlugins. It should also be easy to add new plugins.
We should possible consider splitting them out as openfx-opencl and let travis provide binaries for people to use. Or make travis build binaries in this repo (I can get travis to also build mingw binaries).
I will of course first go through the plugins and code.
Also, ImageMagick is able to probe for libOpenCL before loading it, I should check what they do.
@rodlie do you have an idea of what's happening?
I see that in every Linux build (using the docker images)
it gives a black image on linux and macOS
It was working OK in Natron 2.2.9
It should use .reset():
globalParams.reset(new GlobalParams(popplerData.c_str()));
Error:
../Extra/ReadPDF.cpp:138:26: error: no viable overloaded '='
globalParams = new GlobalParams(popplerData.c_str());
~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/libexec/llvm-9.0/bin/../include/c++/v1/memory:2396:28: note: candidate function (the implicit copy assignment operator)
not viable: no known conversion from 'GlobalParams *' to 'const std::__1::unique_ptr<GlobalParams,
std::__1::default_delete<GlobalParams> >' for 1st argument
class _LIBCPP_TEMPLATE_VIS unique_ptr {
^
/opt/local/libexec/llvm-9.0/bin/../include/c++/v1/memory:2511:15: note: candidate function not viable: no known conversion from
'GlobalParams *' to 'std::__1::unique_ptr<GlobalParams, std::__1::default_delete<GlobalParams> >' for 1st argument
unique_ptr& operator=(unique_ptr&& __u) _NOEXCEPT {
^
/opt/local/libexec/llvm-9.0/bin/../include/c++/v1/memory:2550:15: note: candidate function not viable: no known conversion from
'GlobalParams *' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
unique_ptr& operator=(nullptr_t) _NOEXCEPT {
^
/opt/local/libexec/llvm-9.0/bin/../include/c++/v1/memory:2522:15: note: candidate template ignored: could not match
'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'GlobalParams *'
unique_ptr& operator=(unique_ptr<_Up, _Ep>&& __u) _NOEXCEPT {
^
/opt/local/libexec/llvm-9.0/bin/../include/c++/v1/memory:2534:7: note: candidate template ignored: could not match
'auto_ptr<type-parameter-0-0>' against 'GlobalParams *'
operator=(auto_ptr<_Up> __p) {
^
I have to ask.
Hi, I think AudioCurve would be a very powerful node if I could select (with parameters) a frequency and a decibel (for that frequency) to act on to insert a keyframe. Thus, it will be possible to animate each character on a specific frequency. I implemented something similar in browser JavaScript and was about to adapt it to Affter Effects. But here it is almost finished. I have been able to see the part of the code where the audio file is read. But I haven't accomplished much else, maybe with some help and documentation I could. Thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.