Invocation: evaluate ways to represent control parameters
As a follow-up to the decisions regarding Render Job arguments, it should be noted that the `ProcessKey` in the `TurnoutSystem` becomes redundant; we'd need some access to ''generic Parameters'' rather
This commit is contained in:
parent
ce2c3d2c06
commit
793c9950d4
8 changed files with 102 additions and 1 deletions
|
|
@ -114,7 +114,7 @@ namespace meta{
|
||||||
* In the typical usage situation, the delegate type \a FUNC is implemented
|
* In the typical usage situation, the delegate type \a FUNC is implemented
|
||||||
* mostly with inline functions, and thus the bulk of the actual implementation
|
* mostly with inline functions, and thus the bulk of the actual implementation
|
||||||
* code will be emitted into this static delegation function. The template
|
* code will be emitted into this static delegation function. The template
|
||||||
* \ref InvokerBuilder provides the blueprint for this code generation.
|
* \ref FunInline::activate<FUNC>() provides the blueprint for this code generation.
|
||||||
*/
|
*/
|
||||||
template<class FUN>
|
template<class FUN>
|
||||||
struct Invoker
|
struct Invoker
|
||||||
|
|
|
||||||
38
src/lib/par/parameter.cpp
Normal file
38
src/lib/par/parameter.cpp
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
Parameter - representation of an automatable effect/plugin parameter
|
||||||
|
|
||||||
|
Copyright (C)
|
||||||
|
2008, Hermann Vosseler <Ichthyostega@web.de>
|
||||||
|
|
||||||
|
**Lumiera** is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
option) any later version. See the file COPYING for further details.
|
||||||
|
|
||||||
|
* *****************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/** @file parameter.cpp
|
||||||
|
** Implementation functions of the Parameter abstraction.
|
||||||
|
**
|
||||||
|
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "lib/error.hpp"
|
||||||
|
#include "lib/par/parameter.hpp"
|
||||||
|
|
||||||
|
namespace steam {
|
||||||
|
namespace mobject {
|
||||||
|
|
||||||
|
|
||||||
|
template<class VAL>
|
||||||
|
VAL
|
||||||
|
Parameter<VAL>::getValue ()
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED ("Any idea how to handle various kinds of parameter types");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}} // namespace mobject
|
||||||
53
src/lib/par/parameter.hpp
Normal file
53
src/lib/par/parameter.hpp
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
/*
|
||||||
|
PARAMETER.hpp - representation of an automatable effect/plugin parameter
|
||||||
|
|
||||||
|
Copyright (C)
|
||||||
|
2008, Hermann Vosseler <Ichthyostega@web.de>
|
||||||
|
|
||||||
|
**Lumiera** is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
option) any later version. See the file COPYING for further details.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** @file parameter.hpp
|
||||||
|
** Core abstraction: parameter to be controlled and possibly automated.
|
||||||
|
**
|
||||||
|
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LIB_PAR_PARAMETER_H
|
||||||
|
#define LIB_PAR_PARAMETER_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace steam {
|
||||||
|
namespace mobject {
|
||||||
|
|
||||||
|
template<class VAL> class ParamProvider;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Descriptor and access object for a plugin parameter.
|
||||||
|
* Parameters may be provided with values from the session,
|
||||||
|
* and this values may be automated.
|
||||||
|
*/
|
||||||
|
template<class VAL>
|
||||||
|
class Parameter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
VAL getValue () ;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
ParamProvider<VAL>* provider;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}} // namespace steam::mobject
|
||||||
|
#endif /*LIB_PAR_PARAMETER_H*/
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
** Core abstraction: automation parameter interpolator.
|
** Core abstraction: automation parameter interpolator.
|
||||||
** Each interpolator implementation has the ability to resolve intermediary
|
** Each interpolator implementation has the ability to resolve intermediary
|
||||||
** values and to provide a parameter value for _every arbitrary point in time_.
|
** values and to provide a parameter value for _every arbitrary point in time_.
|
||||||
|
** @deprecated 2026 the basic idea is valid — yet the final design will certainly be different;
|
||||||
|
** the only usage of this code is Fixture::getAutomation() ⟼ `Auto<double>*`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
** Implementation functions of the Parameter abstraction.
|
** Implementation functions of the Parameter abstraction.
|
||||||
**
|
**
|
||||||
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
||||||
|
** @deprecated 2026 the basic idea is valid — yet the final design will certainly be different;
|
||||||
|
** the only usage of this code is Fixture::getAutomation() ⟼ `Auto<double>*`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
** Core abstraction: parameter to be controlled and possibly automated.
|
** Core abstraction: parameter to be controlled and possibly automated.
|
||||||
**
|
**
|
||||||
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
||||||
|
** @deprecated 2026 the basic idea is valid — yet the final design will certainly be different;
|
||||||
|
** the only usage of this code is Fixture::getAutomation() ⟼ `Auto<double>*`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
** Implementation functions of the Parameter abstraction.
|
** Implementation functions of the Parameter abstraction.
|
||||||
**
|
**
|
||||||
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
||||||
|
** @deprecated 2026 the basic idea is valid — yet the final design will certainly be different;
|
||||||
|
** the only usage of this code is Fixture::getAutomation() ⟼ `Auto<double>*`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
** Core abstraction: an entity to expose a single parameter
|
** Core abstraction: an entity to expose a single parameter
|
||||||
**
|
**
|
||||||
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
** @todo as of 2016, we still need to work out our parameter/automation concept.
|
||||||
|
** @deprecated 2026 the basic idea is valid — yet the final design will certainly be different;
|
||||||
|
** the only usage of this code is Fixture::getAutomation() ⟼ `Auto<double>*`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue