diff --git a/src/lib/par/parameter.cpp b/src/lib/par/parameter.cpp index db1636bac..bf3251845 100644 --- a/src/lib/par/parameter.cpp +++ b/src/lib/par/parameter.cpp @@ -1,8 +1,8 @@ /* - Parameter - representation of an automatable effect/plugin parameter + Parameter - generic parameter values Copyright (C) - 2008, Hermann Vosseler + 2008,2026 Hermann Vosseler   **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 @@ -15,24 +15,19 @@ /** @file parameter.cpp ** Implementation functions of the Parameter abstraction. ** - ** @todo as of 2016, we still need to work out our parameter/automation concept. + ** @todo this is a draft and placeholder, as of 2026 */ #include "lib/error.hpp" #include "lib/par/parameter.hpp" -namespace steam { -namespace mobject { +namespace lib { +namespace par { - template - VAL - Parameter::getValue () - { - UNIMPLEMENTED ("Any idea how to handle various kinds of parameter types"); - } + /** */ -}} // namespace mobject +}} // namespace lib::par diff --git a/src/lib/par/parameter.hpp b/src/lib/par/parameter.hpp index 0b0462ae4..beca8d46e 100644 --- a/src/lib/par/parameter.hpp +++ b/src/lib/par/parameter.hpp @@ -1,8 +1,8 @@ /* - PARAMETER.hpp - representation of an automatable effect/plugin parameter + PARAMETER.hpp - generic parameter values Copyright (C) - 2008, Hermann Vosseler + 2008,2026 Hermann Vosseler   **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 @@ -13,9 +13,9 @@ /** @file parameter.hpp - ** Core abstraction: parameter to be controlled and possibly automated. + ** A generic type value that can be discovered and automated. ** - ** @todo as of 2016, we still need to work out our parameter/automation concept. + ** @todo this is a draft and placeholder, as of 2026 */ @@ -25,29 +25,26 @@ -namespace steam { -namespace mobject { +namespace lib { +namespace par { - template 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. + * Descriptor and container to hold a generic parameter. + * The value can be fixed or supplied by an automation function. */ - template class Parameter { public: - VAL getValue () ; + template + VAL get(); protected: - ParamProvider* provider; }; -}} // namespace steam::mobject +}} // namespace lib::par #endif /*LIB_PAR_PARAMETER_H*/ diff --git a/tests/16parameter.tests b/tests/16parameter.tests new file mode 100644 index 000000000..dd5d84754 --- /dev/null +++ b/tests/16parameter.tests @@ -0,0 +1,7 @@ +TESTING "Library Test Suite: parameters" ./test-suite --group=param + + + +PLANNED "Parameter Values" Parameter_test < + +  **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-test.cpp + ** unit test \ref Parameter_test + */ + + +#include "test/run.hpp" +//#include "test/test-helper.hpp" +#include "lib/par/parameter.hpp" +//#include "lib/format-cout.hpp" + +//#include +//#include +//#include + +//using std::string; +//using std::vector; +//using std::swap; + + +namespace lib { +namespace par { +namespace test{ + +// using lumiera::error::LUMIERA_ERROR_LOGIC; + + namespace {//Test fixture.... + + class Thing + { }; + + template + struct Some + { + X x; + }; + + typedef Some SomeThing; + + }//(End)Test fixture + + + + + + + + + + /**************************************************************************//** + * @test cover properties of generic parameter containers. + */ + class Parameter_test : public Test + { + + virtual void + run (Arg) + { + simpleUsage(); + verify_typeMarker(); + } + + + void + simpleUsage() + { + } + + + void + verify_typeMarker() + { + } + }; + + + /** Register this test class... */ + LAUNCHER (Parameter_test, "unit lib"); + + + +}}} // namespace lib::par::test