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
|
||||
* mostly with inline functions, and thus the bulk of the actual implementation
|
||||
* 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>
|
||||
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.
|
||||
** Each interpolator implementation has the ability to resolve intermediary
|
||||
** 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.
|
||||
**
|
||||
** @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.
|
||||
**
|
||||
** @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.
|
||||
**
|
||||
** @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
|
||||
**
|
||||
** @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