Commit graph

389 commits

Author SHA1 Message Date
a4ad41a4e9 Idea how to solve the problem with cloning the UNDO functor 2009-10-11 05:57:45 +02:00
0bcbf7fee0 fix further problems uncovered by test; allow for anonymous cloning 2009-10-11 05:57:45 +02:00
17c7160f02 refactor CommandDef, get rid of the possibility of re-defining. YAGNI! 2009-10-11 05:57:45 +02:00
2ad896027b why doesn't the reverse lookup return a Symbol?
damn! I have the vague rememberance that I had a reason for
not returning a Symbol. Anyway, here it goes...
2009-10-11 05:57:44 +02:00
d2acf48587 change semantics of state predicates, as it seems less surprising this way 2009-10-11 05:57:44 +02:00
c8e049cdea Command system basic unit test pass 2009-10-11 05:57:44 +02:00
5861597d7f smash a glorious ref-to-local object bug 2009-10-11 05:57:44 +02:00
4f1c034b58 CommandRegistry: function test pass 2009-10-11 05:57:44 +02:00
07de2a767b implement equality comparison on CommandImpl level 2009-10-11 05:57:44 +02:00
eefc40acb7 command-equality-test finished for now 2009-10-11 05:57:44 +02:00
231278bafe implemented comparison on function erasure, pending test 2009-10-11 05:57:43 +02:00
5068016805 WIP draft how the equality comparison on a function erasure could work 2009-10-11 05:57:43 +02:00
6a737a5838 WIP draft the CommandEquality_test 2009-10-11 05:57:43 +02:00
96d5ce74c4 Ticket #292: outline unit test explicitly covering equality comparisions 2009-10-11 05:57:43 +02:00
4c3fc9e64d WIP getting CommandRegistry_test to run
(equality on CommandImpl is still missing)
2009-10-11 05:57:43 +02:00
39f50b548c Ticket #266: simplify and combine the bind(...) mixin templates into a single header 2009-10-11 05:57:43 +02:00
2aac4e8ea0 remove spurious AcceptArgumentBinding mixin from ArgumentHolder
it's an implementation class, after all, and doesn't need a convenience API
2009-10-11 05:57:43 +02:00
cb7c884293 handling patterns usable for now. Close #275 2009-10-11 05:57:42 +02:00
8136b0a4b8 HandlingPattern: basic unit test pass 2009-10-11 05:57:42 +02:00
8c21f21acc namespace cleanup: bring Singleton and Factory into lib:: 2009-10-11 05:57:41 +02:00
e9b95e47cf Command handling pattern? test-driven brainstorming 2009-10-11 05:57:40 +02:00
18c357eb4a start using Symbol datatype instead of a disguised char* 2009-10-11 05:57:38 +02:00
c9f3a345dc WIP towards CommandRegistry implementation 2009-10-11 05:51:31 +02:00
246c535569 Rewrite CmdClosure to actually invoke rather then to create a tr1::bind term
basically this should close Ticket #205  (some details missing)
2009-09-21 03:15:06 +02:00
fd7337f801 WIP drastically simplify command-mutation.
As we're using now a command frontend interface and
and CommandImpl frame in the Registry, most of the
functionaliry on Mutation's interface is superfluous.
Additionally, this separates Mutation and Closure.
2009-09-20 18:37:20 +02:00
6fc7aedd95 Merge NoBug-release related additions
Merge branch 'master' into builder
2009-09-05 19:16:13 +02:00
70b4b0ad41 Fix some more format warnings 2009-09-05 19:11:17 +02:00
1969adaf02 Integration of Builder/NodeFactory implementation draft. Stubbed to pass compiler 2009-09-05 18:15:58 +02:00
1430965798 WIP: implementation of a node fabrication code path 2009-09-05 04:10:51 +02:00
Christian Thaeter
f73cc47da6 Fix all things which broke compilation with NoBug 200909.1 2009-09-04 08:53:03 +02:00
391181e699 WIP some further musing about how to do a simple invocation for unit testing ProcNode 2009-09-04 01:59:44 +02:00
ddb8805a73 WIP attempt to nail down a very simple example... 2009-08-31 01:32:53 +02:00
c89726e2d8 WIP set up some new tests for brainstorming... 2009-08-31 00:49:08 +02:00
4214284d35 accessing the frameID from within the pull() call 2009-08-29 12:26:47 +02:00
06000769e2 re-read the code concerning the pull()-call, fix obvious mismatches, comment, plan... 2009-08-29 12:23:41 +02:00
563d88c955 clean up unneccessary import 2009-08-29 12:23:40 +02:00
1b4aa98cdf use the new stream type definitions to get ahead with the builder work 2009-08-29 12:19:26 +02:00
a845a4d234 unit test covering the cmd registry 2009-08-11 08:35:37 +02:00
5988b1d697 clean up command interface 2009-08-10 01:30:59 +02:00
b6246cbb10 rename the operation "closeArguments", which is more to the point 2009-08-04 02:24:47 +02:00
853aff1228 fixed and stubbed until it passes compiler again 2009-08-02 20:57:04 +02:00
327cbc822a WIP extended binding and invocation to support the convenience shortcuts 2009-08-02 20:55:43 +02:00
4236d0649a WIP: implement the basic operation of execution pattern 2009-08-02 18:00:03 +02:00
f2126c0764 WIP partially get new proc-layer command impl through the compiler 2009-08-01 23:57:12 +02:00
8971d667cf WIP more implementation... 2009-08-01 17:14:27 +02:00
3ebb8d0285 WIP and more stubbing... 2009-07-26 02:00:47 +02:00
1db718c2b3 WIP more stubbing... 2009-07-25 19:21:50 +02:00
211a2dabdd WIP stubbing undefined operations... 2009-07-24 17:50:14 +02:00
f40282b2ff WIP devised various aspects of command execution, drafted as unit test 2009-07-24 05:24:39 +02:00
a8a0e07726 test driven brainstorming 2009-07-23 03:47:57 +02:00
c5f781596e reorganise the intermediary command def context classes 2009-07-23 03:47:27 +02:00
d80f0cfb8d WIP start some drafting 2009-07-21 04:49:00 +02:00
c85d1d3cd8 ArgumentHolder finished, low-level integration test pass 2009-07-20 07:03:18 +02:00
63bad834c1 comparisons and state detection now working as expected 2009-07-20 05:09:46 +02:00
e879e0c81b implemented argument and memento comparisons (doesn't pass test yet) 2009-07-19 19:13:25 +02:00
f73c938850 ArgumentHolder reworked to use InPlaceBuffer; now passes basic tests 2009-07-19 08:32:49 +02:00
5f0c9e209e remove any use of boost::function in favour of <tr1/functional>
this resolves some long standing problems with ambiguous placeholders
closes Ticket #161
2009-07-19 05:47:36 +02:00
6510155e76 back on route: trying to get the ArgumentHolder to fly... 2009-07-18 19:36:32 +02:00
1a69026acb spelling fix 2009-07-13 01:16:40 +02:00
60cf9e8c9e trying to implement a simple iterator adapter working
(oops, didn't expect this to be so difficult...)
2009-07-13 01:16:30 +02:00
b392d6bf84 WIP design a helper for accepting the arguments to bind 2009-07-12 19:30:55 +02:00
accaba4904 WIP impl draft for ArgumentHolder 2009-07-12 18:55:33 +02:00
6ef1aca3a4 test driven brainstorming 2009-07-11 20:06:35 +02:00
9aa5ba560c finish and tidy up control::Mutation, unit test pass 2009-07-10 19:04:01 +02:00
6bd1e8e179 tidy up and finish the MementoTie + unit test 2009-07-09 20:47:21 +02:00
9e95ec8b60 MementoTie unit test pass 2009-07-09 18:35:22 +02:00
c7b6165c6c WIP resolved the simple mismatches, but still... 2009-07-08 05:36:02 +02:00
bb390f2ef1 WIP: back to the original topic, define how capturing should work 2009-07-06 03:48:45 +02:00
c48f9086b7 extract util: isSameObject (bare ptr comparison) 2009-07-04 02:43:49 +02:00
ca807205f9 cleanup/refactor simple type seq handling, fix broken Split template 2009-06-30 04:54:50 +02:00
a19892ac6a WIP some steps towards a solution of the memento binding problem 2009-06-29 06:33:42 +02:00
51712f218d still fighting to get capture fun and undo func bound together 2009-06-28 15:27:27 +02:00
e91cdd39e9 stubbed and commented out to get it to compile 2009-06-26 05:27:24 +02:00
5ab8c126e0 WIP compilation fixes and stubs; split off MementoClosure (incl. separate unit test) 2009-06-24 06:38:33 +02:00
53e882ca3e WIP should also cover the detection of empty functors 2009-06-24 06:01:14 +02:00
69d6bad1f4 WIP brainstorming about a way how the extended memento capturing closure might work 2009-06-24 05:51:02 +02:00
bc94f299e2 hey... now storing the operation is almost effortless! 2009-06-20 07:13:20 +02:00
f358f548d1 draft version of CmdClosure and Mutation interface now passing compiler 2009-06-19 19:11:33 +02:00
e951c468a7 WIP: header rename 2009-06-19 14:47:37 +02:00
0ab5a92629 WIP: test-driven brainstorming... how to capture state and params. 2009-06-19 05:57:06 +02:00
d1b425aba9 finish and tidy the extracted headers 2009-06-17 06:55:18 +02:00
ab4b4c71e6 WIP: start extacting new headers 2009-06-16 11:39:36 +02:00
df6312a581 got it through the compiler... 2009-06-15 04:57:23 +02:00
441cb6b9e2 WIP try to solve the problem of closing a function with arbitrary args 2009-06-15 03:47:05 +02:00
7741b50b91 WIP rewrote the Sub-Tuple extractor into a simplistic Tuple type 2009-06-14 19:40:35 +02:00
b937bd08ae WIP: parameter closure brainstorming 2009-06-14 05:38:35 +02:00
c87970e13b Add command explaining what's actually going on here... 2009-06-12 20:21:46 +02:00
2914f6685b actually create the chain of Definition-Objects 2009-06-12 20:10:27 +02:00
72d51077f7 change type dissection template to work rather in forward direction
allowing for the user just to specify a function without any type parameters
2009-06-12 19:49:44 +02:00
246529bae9 concpet draft of parameter type extraction and checking works (i.e. compiles) 2009-06-10 05:00:01 +02:00
e3da082016 WIP idea to allow arbitrary command parameters 2009-06-10 03:42:23 +02:00
102e96891b fixing, stubbing, and some chainsaw surgery to get half-finished code through the compiler 2009-06-09 09:05:19 +02:00
3a7de1654a WIP: create a "scrapbook" test for trying out some ideas 2009-06-08 21:29:09 +02:00
321acc7f4e WIP: add type handling and conversion test 2009-06-07 03:36:27 +02:00
f1827ea753 WIP: test support macro for exception check 2009-06-07 03:22:08 +02:00
905c0319be WIP: add lifecycle test 2009-06-07 03:12:07 +02:00
2731e34c3e WIP: test driven brainstorming: basic MObjectRef behaviour 2009-06-07 00:45:55 +02:00
56ff31df0a WIP: initial testbed for MObjectRef_test 2009-06-06 23:12:51 +02:00
ee7f2d6c0f WIP: replace direct ctor call by an embedded factory member 2009-06-06 07:12:09 +02:00
90dffdc9d2 some cleanup and renaming 2009-06-06 06:55:13 +02:00
815f8569ce WIP: accessing the default PlacementIndex (within the Session) 2009-06-06 06:18:37 +02:00
638022c07f WIP: add run-time type check API to Placement 2009-06-06 04:02:08 +02:00
8a453bd52b WIP: start drafing MObjectRef 2009-06-02 03:31:52 +02:00
78901837fc WIP: planned refinement on PlacementRefs: augmented assignment 2009-06-02 03:13:52 +02:00
1f5d94683a WIP: test driven brainstorming... 2009-06-01 04:53:45 +02:00
d49eea6e5d finished reworking Placement (hierarchy and ID) 2009-05-31 05:02:03 +02:00
20a1268683 recast the PlacementHierarchy_test to use the real Placement/MObject hierarchy 2009-05-29 23:13:56 +02:00
50a42e5104 extract dummy MObject hierarchy for unit tests 2009-05-29 22:12:12 +02:00
014b6c0b49 intend to use the time wrapper 2009-05-29 19:03:34 +02:00
0d41379dda incorporate the hash ID into the concept draft 2009-05-28 03:43:59 +02:00
2e0daaf88e concept draft featuring an alternative way to define the Placement template 2009-05-27 03:20:33 +02:00
003895b08d considering how to bring the new hash ID into Placement.
Which in turn is required for the Placement/MObject ref and the Placement index
2009-05-24 19:34:47 +02:00
020636b90a WIP extract the hash ID draft into separate header & test 2009-05-22 02:40:20 +02:00
0802d969cc WIP disentangle ID definition from target hierarchy by templating it on the base class 2009-05-22 02:15:58 +02:00
87362a4b0d WIP draft for a generic hash based and typed id, similar to asset::ID 2009-05-21 20:26:44 +02:00
35ebe966b5 add new kind of MObject (Binding) to express special scopes 2009-05-21 04:06:36 +02:00
cc66f2b0d0 preliminary placement index impl started.
Basically I need this simple framework to be able to write tests,
which enables me to flesh out the API, which in turn is a
prerequisite for defining the PlacementRef
2009-05-20 03:36:12 +02:00
cab776847d spelling and cleanup (to get it compiling) 2009-05-20 02:26:47 +02:00
9b3ca200e7 considering new facilities for referring to placements 2009-05-09 03:08:38 +02:00
3ae3e36f3f @Joel: a simple convenience wrapper for gavl_time_t 2009-04-24 21:48:38 +02:00
10597beeba mass rename: relocate basic Logging conf. from liblumieracommon to liblumiera 2009-01-25 00:24:42 +01:00
Christian Thaeter
25108f6afc WIP: deploy new logging flags in tests 2009-01-24 22:30:26 +01:00
e921b1658c error.hpp belongs to src/lib 2008-12-27 00:53:35 +01:00
cbbc298fe9 kill some warnings 2008-12-26 23:17:51 +01:00
6d66476383 move config, interfaces and pluginsystem to liblumieracommon 2008-12-18 08:54:33 +01:00
9a63ccc588 finish common->lib transition for the tests 2008-12-18 04:47:41 +01:00
c567c57a58 reorganise NoBug global definitions and startup 2008-12-15 13:33:04 +01:00
628be502e5 reordered some files to use the new include and lumiera directories 2008-12-15 13:33:04 +01:00
4746dcd233 Fix build with gcc 4.3
(Explanation: 4.3 detects when a local typedef redeclares a templated type
 from an enclosing scope. This was never legal anyway)
2008-08-20 15:45:36 +01:00
e5d75eee9b test covering the stack-wise buffer pointer table allocation 2008-07-21 03:25:06 +02:00
86162ad314 moved new code into library modules and adapted BuilderTool to use it.
BuilderTool_test now passed.
2008-05-19 08:38:13 +02:00
662678f8d1 WIP refactored in preparation of splitting into several lib modules 2008-05-18 05:08:11 +02:00
88fc2f6099 WIP reworked to replace boost::variant by a custom solution
Not a big simplification, but at least the actual codepath is shorter,
while it's not so general as boost::variant (and not threadsafe!)
2008-05-17 04:34:46 +02:00
85b0029166 WIP: how to get at the actual wrapper (here Placement) from within BuilderTool.
Nasty problem ... draft solution using boost::variant. To be reconsidered later...
2008-05-11 15:44:24 +02:00
03047e6d17 WIP maybe a solution for getting the correct wrapper within Builder Tools.
works, but problem is: you need to know the exact type of the wrapper, e.g. Placement<Clip> or shared_ptr<Media>
2008-04-26 05:38:19 +02:00
d9e6adfe02 make Placement<MObject> implement the interface Buildable.
WIP: works, but isnt what I intended. Rather need a specialisation to be able to define functions
treat (Placement<TY>) based on the concrete TY....
2008-04-23 05:48:45 +02:00
aea5ed323a refactor to use the customized lumiera::P<Type> instead of shared_ptr<Type> 2008-04-23 04:16:45 +02:00
024e3c4dbc change build to link in separate libs, also split test executable.
now building  liblumiback.a liblumiproc.a liblumi.a
build a separate test-common executable (for everything in src/common)
include a precompiled header for assets.
2008-04-12 04:55:18 +02:00
a869c71077 Defaults Manager finished for now
...passes high level test (with help by the mock 'resolution engine')    ;-)
2008-04-08 04:39:07 +02:00
ed2799b76f getting the first test of defsmanagerimpltest.cpp to run
..adding some backdoors and bashing at the mock implementation to fake the behaviour of a real resolution engine
2008-04-07 08:03:22 +02:00
b361fc9672 supplement tests for some small utils dealing with query expressions 2008-04-06 05:36:16 +02:00
24825a13f3 registry for default objects now passing test 2008-04-05 22:52:20 +02:00
dffd635482 switch asset ordering impl to utilize the new custom smart-ptr
passes compiler and test suite, finally!
TODO: also switch the derived asset kinds to use P<Media>, P<Struct>,....
maybe do the same with MObject?
2008-04-05 07:26:54 +02:00
3d2791b91e WIP some fixes; add test for a utility function 2008-04-02 04:06:08 +02:00
e9a364f7ad WIP test covering implementation of the default object registry
(doesn't yet compile)
2008-04-01 06:57:00 +02:00
6596699f6e WIP code for handling registration of defaults objects.
Missing some TODOs and test coverage
2008-03-31 03:21:28 +02:00
c4128c9816 merge Lumiera renaming
WIP doesn't pass the compiler (not due to the merge)
2008-03-10 08:38:59 +01:00
e737b9ef1b Lumiera renaming -- source code 2008-03-10 06:09:44 +01:00
0baf15ca94 Cinelerra-3 renamed to Lumiera -- copyright and documentation 2008-03-10 04:25:03 +01:00
a3d91286c8 WIP defaults manager implementation 2008-02-29 18:58:29 +01:00
4af2d47995 test-driven-brainstorming: DefsManager interface building blocks 2008-02-29 04:27:24 +01:00
4bbf3aa53f test-driven-brainstorming: how to handle query-for-default? 2008-02-20 04:05:37 +01:00
ea0416881e WIP towards a asset::Struct naming scheme 2008-02-18 04:16:53 +01:00
6346723069 Rename 'Port' to 'Pipe' II: source code 2008-02-14 04:12:30 +01:00
430f38ab2f started a mock implementation for the capability queries.
Later on, I want to embedd Prolog, but for now it is more important to get ahead with the builder...
2008-01-18 16:43:53 +01:00
061a84f2be WIP implementing Ports, add DefaultsManager... 2008-01-14 01:01:11 +01:00
b7bce2a2f7 WIP defined lots of details regarding the handling of Ports 2008-01-12 18:19:37 +01:00
d255d68d35 reflect design decisions in UML, new track-MO class, start replacing tracknumber by Port 2008-01-07 18:16:03 +01:00
8fe1a901ba use typelists to declare to visit a collection of types 2008-01-05 18:54:10 +01:00
9aa3cc11e8 new visitor implementation now running.
Veryfied the tests, cleaned up. TODO: concurrency, error checks and convienience shortcuts.
2008-01-05 14:26:28 +01:00
0bb8051fc5 WIP adjusted BuilderTool (specialisation) and tests....
compiles ok, but segfaults
2008-01-05 01:38:32 +01:00
46b200809e WIP desperately trying to work out a really usable visitor implementation 2007-12-22 08:45:09 +01:00
89c9d2f3df covered the more esoteric cases for visiting tools and made BuilderTool work 2007-11-29 07:07:14 +01:00
6d4133cefe WIP generalizing my builder tools to use the acyclic visitor.
inspired by Loki; ichthyo intends to use this pattern for typesafe visiting within the EDL too...
2007-11-27 06:40:51 +01:00
6bdf0e2cdc put my name in the copyright claim of those files I have written in the last months.
(search & replace). Please feel free to add your name to any files to which you added any contributions.
ALL SOURCECODE IS LICENCED UNDER THE TERMS AND CONDITIONS OF THE GPL (2 and above)
2007-11-27 03:19:35 +01:00
940d6de201 Asset/Clip now using the dependency relation.
DependantAssets_test now complete, finally...
2007-11-26 04:27:27 +01:00
855d0706d9 implemented enabling/disabling of dependant assets,
WIP: passes test, but code still needs some cleanup...
2007-11-24 04:18:54 +01:00
393f0944c1 DependantAssets_test now (partially) running 2007-11-23 04:37:50 +01:00
95af2d50cc worked out some important details of deleting and unlinking assets 2007-11-22 06:26:55 +01:00
66daf409d4 specify (as test) how asset dependency should work 2007-11-21 06:08:01 +01:00
49459b4bf7 Fix inheritance of asset::Unknown, fix broken test, enable MakeClip_test 2007-11-20 05:20:01 +01:00
b07d8b9687 passes the compiler again.
(using direct references instead of smart-ptrs for the 'backlink' from Clip-MO to asset::Media)
2007-11-14 10:10:52 +01:00
5c2fa504e7 WIP update test code to reflect the new placement properties.
still have to convince the compiler that i am not a terrrorist....
2007-11-10 23:09:15 +01:00
08f10c2a2e WIP trying to get the Placement stuff right,
but seemingly still having some design mismatch...
2007-10-13 05:13:28 +02:00
fc1c39dc44 WIP: sketch handling placements and mobjects (as test) 2007-10-12 04:21:36 +02:00
fadd31282f implement access to current session.
add lots of UNIMPLEMENTED stubs and finally get the sourcebase through the compiler....
2007-09-27 23:26:54 +02:00
82e9519e73 WIP specify some details of the session interface and the relation of session and EDL 2007-09-27 04:45:06 +02:00
3fdd16ff48 draft adding clips and simple editing operations
WIP: lots of tests, no implementation, doesn't compile...
2007-09-25 23:39:46 +02:00
5d54cfc89e planning next implementation steps 2007-09-20 05:36:08 +02:00
dc97acde5e added test covering Asset category tuple 2007-09-19 05:05:25 +02:00
7ef8372129 equality and ordering of assets implemented 2007-09-19 03:55:45 +02:00
14d1c5a34b basic AssetManager works now (creating, registering, querying),
including memory management. Ordering is still WIP.
2007-09-18 05:16:56 +02:00
3927f7d5d8 WIP: ordering of Assets, dump AssetManager, bugfix (partially...) 2007-09-17 05:47:22 +02:00
3a416f9e41 WIP test coverage, debugging...
still have to fix a segfault :-)
2007-09-16 17:17:54 +02:00
814f6fc734 CreateAsset_test now passes the compiler, after quite some tinkering.... 2007-09-12 06:53:12 +02:00
26374ce409 WIP: fleshed out a good deal of the AssetManager foundation.
compiles ok, singleton test pass (most of asset creation just commented out...)
2007-09-10 06:45:36 +02:00
79c88c2c87 outlined Asset and AssetManager interfaces...
urrgh. this was rather tough to get right. Main problem is avoiding switch-on-type.
2007-09-07 23:24:13 +02:00
737da9c868 continued wishful thinking in Test form 2007-09-04 05:09:08 +02:00
1cadae2d75 TDBS (test driven brain storming) :-) 2007-09-03 02:33:47 +02:00