Git Product home page Git Product logo

openfx-arena's People

Contributors

acolwell avatar devernay avatar hellocatfood avatar ichthyostega avatar johnwo avatar mrkepzie avatar olear avatar rodlie avatar yakoyakoyokuyoku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openfx-arena's Issues

Text: WYSIWYG (kOfxParamStringIsRichTextFormat)

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).

Cannot build on Ubuntu 19.10

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?

poppler >= 21.12 require c++17

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`

Possible tile node improvements

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.

Reformatting

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.

Offsets

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.

Additional tile patterns?

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?

(Bug): SRT read fails if text starts with number

Make sure to follow our issue report guidelines

  • I'm using the latest version of Natron (not required but recommended)
  • I've restarted Natron and the issue persists
  • I've run Natron via the command line and the issue persists
  • I've followed the contributing guidelines to the best of my understanding
  • My issue is not on the issue tracker or in a pull request already (go search for it and dig around a little bit!)
  • This bug is reproducible

Natron version

2.5 Snapshot

Operating system

Ubuntu 22.04

System specs

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

Did you install Natron using the official installer?

  • Yes, I used the official installer
  • No, I installed from a binary archive
  • No, I compiled Natron from sources
  • No, I installed Natron via another method

Custom installation path

No response

What were you trying to do?

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

example_subtitle.zip

What did you expect to happen? What happened instead?

The file can be read and played back, however the second subtitle doesn't display.

Peek 2022-05-25 19-20

I suspect this is because the second subtitle starts with a number

Step-by-step reproduction instructions

  1. Start Natron
  2. Add a Text node
  3. Load the above .srt file

Additional details

No response

imagemagick isnan preventing compilation

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);    }
      |               ^~~~~

The OpenCL plugins

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.

ReadPDF build error

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) {
      ^

AudioCurve node improvements

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.