You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the current interface, where each algorithm is a function, each call to a given algorithm involves creating an AlgorithmFactory, an instance of the algorithm, and deleting said instance at the end of the compute cycle (see here, for example).
An OO interface (class + compute method) would avoid such drawback, potentially making the library use resources more efficiently. Additionally, it would match the upstream Essentia Python bindings' interface that so many existing users are already be familiar with.
How?
This requires editing /src/python/code_generator.py to change how it generates the c++ wrapper around the upstream library's algorithms.
The text was updated successfully, but these errors were encountered:
Description
Change library's interface to object-oriented, where each algorithm consists of a class with a
.compute()
method.Why?
With the current interface, where each algorithm is a function, each call to a given algorithm involves creating an AlgorithmFactory, an instance of the algorithm, and deleting said instance at the end of the compute cycle (see here, for example).
An OO interface (class + compute method) would avoid such drawback, potentially making the library use resources more efficiently. Additionally, it would match the upstream Essentia Python bindings' interface that so many existing users are already be familiar with.
How?
This requires editing
/src/python/code_generator.py
to change how it generates the c++ wrapper around the upstream library's algorithms.The text was updated successfully, but these errors were encountered: