Commit graph

3273 commits

Author SHA1 Message Date
80e1e382f4 merge new plugin/interface system, testsuite changes, documentation 2008-11-07 01:26:31 +01:00
Christian Thaeter
aae3c8ed81 LUMIERA_PLUGIN is dead, long life LUMIERA_PLUGIN
removes the difference in compiled in and plugin interfaces.
 * All interfaces are now defined with LUMIERA_EXPORT(...)
 * The definition of LUMIERA_PLUGIN at compile time takes action to compile
   as plugin which gets automatically managed.
 * compiled in (core) interfaces need still be registered, this is
   simplified with the LUMIERA_INTERFACE_REGISTEREXPORTED and
   LUMIERA_INTERFACE_UNREGISTEREXPORTED macros which become no-ops for
   plugins.
2008-11-06 05:23:47 +01:00
f19cdc1ad6 automake fixes 2008-11-06 04:25:33 +01:00
Christian Thaeter
c04f1e77d6 set LUMIERA_PLUGIN_PATH to $pkglibdir as default 2008-11-06 04:13:13 +01:00
Christian Thaeter
d5c61c0e9d let plugin_discover() barf out when the plugin.path config cant be found 2008-11-05 11:33:49 +01:00
Christian Thaeter
fa6b6d54e9 hook the plugin refcounting in
The plugin refcounter is driven from interface opening/closing, this is
quite internal.

The 'last' time in plugin now records the last time the refcounter dropped
to 0, this is just sufficient enough to find out how long a plugin is
unused.
2008-11-05 11:33:29 +01:00
Christian Thaeter
7afce647fb few tool functions for the plugin implementation
* plugin_name() to figure out the name of the plugin
 * plugin_refinc() and plugin_refdec() to manage the refcount
2008-11-05 11:33:28 +01:00
Christian Thaeter
c26cd391b0 automatic plugin unloading at interfaceregistry_destroy()
All open plugins will be unloaded when the registry gets destroyed.
If there are still interfaces open, this will assert at ALPHA builds.
2008-11-05 11:33:28 +01:00
Christian Thaeter
240e7cb295 plugin_unload must lock the registry tree 2008-11-05 11:33:28 +01:00
Christian Thaeter
c35e5fb0f9 Plugin unloading, at least manually works 2008-11-05 11:33:28 +01:00
Christian Thaeter
2646b9035b some plugin docwork 2008-11-05 11:33:28 +01:00
Christian Thaeter
3155ae068f Loading of dynamic modules
* loads dynamic libs as module.
 * file extensions .so and .lum (LUmieraModule)
 - no unloading yet
2008-11-05 11:33:28 +01:00
Christian Thaeter
7c2415838b WIP: big plugin update
* fix configure.ac to check for dlopen, introduce $(LUMIERA_PLUGIN_LIBS)
 * Generic pluginloader finished, all plugins get loaded and registered at
   start for now, it is prepared for on-demand loading and unloading but
   not implemented because that needs the plugindb.
 - plugin unloading not yet finished, this asserts at the end
2008-11-05 11:33:28 +01:00
Christian Thaeter
c30c98bebd add a LUMIERA_INTERFACE_CLOSE macro
This is a small typesafe wrapper around the interface_close() function
and since we need INTERFACE_OPEN wraped too this makes it more orthogonal
2008-11-05 11:33:28 +01:00
Christian Thaeter
4d2fe242d0 Some more interfaces improvements
* add a lumiera_interface_version() function for runtime type and version
   checking of interfaces
 * the 'lumieraorg__plugin' interface is now private
 * add a macro to construct a interface instance name string
2008-11-05 11:33:27 +01:00
53e17e2751 merge new Plugin implementation
Merge commit 'pipapo/master'
2008-11-03 20:58:09 +01:00
Christian Thaeter
2342c3a87a New Plugin implementation
* plugin{.h,.c} are back but work in progress
 * the interfaceregistry also manages a pluginregistry, makes no much sense
   to isolate it yet, both share a mutex and are commonly used together
2008-11-03 08:07:22 +01:00
Christian Thaeter
257b310699 add an error_peek function, fix prototypes
lumiera_error_peek() lets one investigate the error state without resetting
it.
2008-11-03 08:03:48 +01:00
Christian Thaeter
48778cf3d7 WIP: new plugin.h header
This ditches the old 'proof of concept' implementation, interfaces and
plugins are internally separate now and publically only accessed over
the 'interfaces' api.

The interface registry now gets an additional 'plugin' member to
backreference plugins from interfaces.
2008-10-31 06:42:53 +01:00
Christian Thaeter
7be18d6344 Adding explicit delimiters to the config wordlist feature
This greatly simplifies the task where we want to handle colon separated
paths within the config.
2008-10-31 06:29:55 +01:00
57ccc289b0 comment, add to testsuite 2008-10-30 04:34:05 +01:00
b475fd0979 AllocationCluster passes test 2008-10-30 04:03:14 +01:00
a00edd2a84 cluster datastructure works, finally.
WIP still a bug somewhere in the pseudo-memory manager (de-allocation fails)
2008-10-28 06:07:23 +01:00
9f8f0c7c20 temp. fix to make it compile on Etch based system 2008-10-28 01:56:51 +01:00
Christian Thaeter
28a5c5257a Merge commit 'joel/gui' into master
* commit 'joel/gui':
  Correct a liblumi to liblumiera
  Added track tree support and added widgets to headers
  Corrected a selection rendering bug in TimelineBody
  Added linkage to the proc layer
  Made GtkLumiera and WindowManager boost::noncopyable
  Added the backend as a lib, and included the interface header
  Showed some love to viewer panel
  Changed the "delete" variable name to "del" to satisfy the C++ compiler
  Renamed HeaderContainer to TimelineHeaderContainer

Conflicts:

	src/gui/Makefile.am
2008-10-27 06:00:32 +01:00
Christian Thaeter
b242f3359b Fix/Wip: LUMIERA_PLUGIN definition
There where some bugs slipped in (not yet tested code)

removed the descriptor from the plugin itself, lets see if we can remove
the acquire and release functions later too.

Declare the plugin interface itself in its first experimental state
2008-10-27 05:10:24 +01:00
Christian Thaeter
ab3d3823f6 autotools fixes for the plugin system
don't link the tests with -ldl

Renamed GTK_LUMIERA_* to LUMIERA_GUI_* and include all gui relevant config
results here.

Set it explicit, don't add the results to CFLAGS or LIBS, the default
behaviour linked all LIBS in, even in plugins, that was not intended.
2008-10-27 05:10:01 +01:00
Christian Thaeter
84df018931 some cosmetics and a copy'n'paste interfacedescriptor example 2008-10-27 05:09:20 +01:00
Christian Thaeter
194e4b9fec Complete the luidgen tool
calling 'luidgen' with a list of filenames replaces the word LUIDGEN in
each of this files with a octal escaped string consisting a unique
identifier

add luid formatter help macros to luid.h

let compilation of files which contain the word 'LUIDGEN' fail with a
hopefully self-explaining error message
2008-10-27 05:08:53 +01:00
Christian Thaeter
99e3e79fe6 Complete the interface descriptor declaration
After a discussion with ichthyo and some further thinking this should be
mostly finished now. Nevertheless it is still experimental until we gain
experience with it.
2008-10-27 05:08:53 +01:00
Christian Thaeter
e61c25a34a define an 'LUIDGEN' macro as uuid containing only zeros
This *must* be replaced by a real luid with a upcoming luidgen tool ASAP,
luids starting with zeros are invalid. For the time until this luidgen tool
is not ready we just leave it this way. Later it will be changed to give a
compile error.
2008-10-27 05:08:53 +01:00
a89b7f8eba fix (to make the pseudo gtk_lumiera compile again) 2008-10-27 00:00:40 +01:00
0b521302a2 additional testsuite switches 2008-10-26 23:54:39 +01:00
6a1c33e5a1 create a lib header based on this solution 2008-10-26 22:35:01 +01:00
32637dd958 experiment: possibility to circumvent the problem
using an custom allocator for std::vector with an explicit transfer_control().
Indeed seems to solve the problem...
2008-10-26 03:21:33 +01:00
89fca1921d WIP added simple usage test ... and made it compile,
but still a fundamental problem to resolve with the use of std::vector in this scenario
2008-10-24 06:06:24 +02:00
6bd0c84355 WIP added preliminary pseudo-implementation for the raw memory manager.
Actually this beast does just per object heap allocations, .... any takers?
2008-10-23 23:08:27 +02:00
b479404288 fix logic for allocating a new memory manager 2008-10-23 19:47:08 +02:00
75cf4a97b3 ScopedHolder test passed 2008-10-23 18:33:56 +02:00
2b2654cb38 WIP test covering the ScopedHolder helpers 2008-10-23 07:15:48 +02:00
Joel Holdsworth
7dcfa84d6a Correct a liblumi to liblumiera 2008-10-23 00:38:47 +01:00
Joel Holdsworth
87ba2ab3db Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
Conflicts:

	icons/Makefile.am
	src/gui/Makefile.am
2008-10-23 00:15:46 +01:00
Joel Holdsworth
efd9ab771b Added track tree support and added widgets to headers 2008-10-22 23:11:23 +01:00
Joel Holdsworth
a3030515be Corrected a selection rendering bug in TimelineBody 2008-10-22 22:23:04 +01:00
716700a432 draft solution finished, compiles but test fails of course...
solved the problem to push the actual memory manager completely into the cpp file
2008-10-22 04:55:28 +02:00
Christian Thaeter
ca0cea1c16 no, it doesn't end ... 2008-10-22 03:50:00 +02:00
Christian Thaeter
691dc8fd4e Does this ever end? found 2 more liblumi.a 2008-10-22 03:42:15 +02:00
1e3a03b4c5 WIP dealing with object collections taking ownership 2008-10-21 09:04:59 +02:00
Christian Thaeter
a95a40613c Fix: oops some more liblumi to liblumiera renames 2008-10-21 06:48:59 +02:00
Christian Thaeter
23508f3f74 Nice, follow scons, name it liblumiera.a too 2008-10-21 06:19:52 +02:00
Christian Thaeter
0e5a13ec31 give a warning when using experimental interfaces 2008-10-21 05:22:59 +02:00
Joel Holdsworth
1e3df80288 Added linkage to the proc layer 2008-10-20 19:28:29 +01:00
Joel Holdsworth
ee6fac5914 Made GtkLumiera and WindowManager boost::noncopyable 2008-10-20 19:19:06 +01:00
Joel Holdsworth
6396323e9e Added the backend as a lib, and included the interface header 2008-10-20 18:51:46 +01:00
Joel Holdsworth
d880b341b4 Showed some love to viewer panel 2008-10-20 18:50:37 +01:00
eaa89067bb WIP test covering the AllocationCluster draft 2008-10-20 06:27:14 +02:00
74164e890e finished the outline 2008-10-20 03:13:02 +02:00
Joel Holdsworth
3a41758682 Changed the "delete" variable name to "del" to satisfy the C++ compiler 2008-10-18 12:25:18 +01:00
Joel Holdsworth
d89e979aa0 Renamed HeaderContainer to TimelineHeaderContainer 2008-10-18 11:20:02 +01:00
9ff04e6769 (fix) luidgen needs lib/luid.h 2008-10-18 05:34:33 +02:00
4286c86088 merge after landing config system 2008-10-18 05:29:35 +02:00
1b6df94aab documentation (drawing) 2008-10-18 04:15:07 +02:00
747d793121 draft framework for handling the memory allocation of render nodes 2008-10-18 04:15:06 +02:00
Joel Holdsworth
c6dcdf44da Corrected a breakage in the makefile.am caused by a directory tree
reorganisation
2008-10-18 00:23:54 +01:00
Joel Holdsworth
b653a60c17 Merge branch 'work' into gui 2008-10-18 00:15:06 +01:00
Joel Holdsworth
58e4920048 Corrected namespaces from lumiera::gui:: to gui:: 2008-10-18 00:13:27 +01:00
Joel Holdsworth
60beab4933 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui 2008-10-17 23:40:40 +01:00
Joel Holdsworth
ab609407a5 Fixed a bug exposed by make distcheck 2008-10-17 23:39:02 +01:00
Joel Holdsworth
c2d43aba2b Advanced code in the HeaderContainer 2008-10-17 23:36:37 +01:00
d64d822690 merge from backend (plugin loader)
Merge commit 'lumi/master' into proc
2008-10-16 00:35:57 +02:00
Christian Thaeter
ebcc5c7fd2 Fix: old plugin.c|.h must not be compiled and linked 2008-10-15 22:53:55 +02:00
Christian Thaeter
26c212b292 make the old plugin stuff barely compileable, disable tests, fix later 2008-10-15 22:18:17 +02:00
Christian Thaeter
9752de3102 Some prelimary TODO's for filedescriptor.c to be fixed later 2008-10-15 22:05:22 +02:00
Christian Thaeter
be9d2b189f fix lib/Makefile.am, a stale interfaces.h was left here 2008-10-15 18:01:52 +02:00
Christian Thaeter
9943dd76fd use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 17:21:22 +02:00
Christian Thaeter
f7fa5769ca Start of a 'wordlist' type for the config subsystem
wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
2008-10-15 17:19:53 +02:00
Christian Thaeter
0cf7dec793 Interfaceregistry for 'active' interfaces
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an	amalgamation of this lookup and the upcoming plugindb and
loader.
2008-10-15 17:18:03 +02:00
Christian Thaeter
29f5a0f2ab moved the remaining interface stuff from lib to backend 2008-10-15 16:05:17 +02:00
Christian Thaeter
ee7719eada tests and a first definition of a interface descriptor 2008-10-15 16:05:17 +02:00
Christian Thaeter
f05f6772f1 Interface system refactoring
* lumiera_interface are now static structures, never wrritten
 * introduced a lumiera_interfacenode which manages the dynamic data
   of interfaces. The interfaceregistry now holds this nodes.
2008-10-15 16:05:17 +02:00
Christian Thaeter
405a578c42 WIP: interface open/close handling cross dependencies 2008-10-15 16:05:17 +02:00
Christian Thaeter
a6ddb55e9b use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 16:05:15 +02:00
Christian Thaeter
4414af3751 add a 'weak' flag for interface_acquire/release()
When interfaces cross depend on each other nested acquiring from
their acquire handlers would introduce cyclic references which cant
be cleaned easily. By flagging such nested acquisitions as weak the
respective handler functions can account for this.

Example: maintain 2 ref counters one for strong and one for weak
acquisitions. At release time all acquired nested handles get closed when
the strong counter drops to zero, which causes that cross reference
releases will eventually drop the weak count to zero too. Then all
resources can be freed and the interface is properly shut down.
2008-10-15 16:04:32 +02:00
Christian Thaeter
c9ac956417 cosmetics 2008-10-15 16:04:32 +02:00
Christian Thaeter
bb9c53d32d change parameter order for _DNAME in interface.h, add a _REF macro 2008-10-15 16:04:32 +02:00
Christian Thaeter
4bfe430f38 Interfaceregistry for 'active' interfaces
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an	amalgamation of this lookup and the upcoming plugindb and
loader.
2008-10-15 16:04:28 +02:00
Christian Thaeter
66a1142079 apply the new defined nameing rules to interface.h 2008-10-15 16:01:09 +02:00
Christian Thaeter
b252807c55 functions for interface acquire/release 2008-10-15 16:01:09 +02:00
Christian Thaeter
caa5bd10a0 interface update
* remove the data member from the interface structure
 * add a psplay node used in a upcoming interface registry
 * add a INLINE function mapper
2008-10-15 16:01:08 +02:00
Christian Thaeter
feb9ba7db9 provide some example code for the 'interface' system
* test-interfaces.c is just a mockup to show how interfaces are created
 * fix some bugs introduced with a futile refactoring try at the last commit
2008-10-15 16:01:08 +02:00
Christian Thaeter
c84d10c9d5 Add a CALL macro to interface.h 2008-10-15 16:01:08 +02:00
Christian Thaeter
f114b04509 Documentation for the interface system and small refactorings on the fly 2008-10-15 16:01:08 +02:00
Christian Thaeter
de44b83fcd New interface header
Provides structures used for managing interfaces, macros for declaring
and defining interfaces. Convinience macros to bundle buildin and plugin
interfaces.
2008-10-15 16:01:08 +02:00
Christian Thaeter
fdbab22ce4 some cosmetics for the config subsystem 2008-10-15 16:01:08 +02:00
Christian Thaeter
2ae274ea51 add wordlist_add function to add a word to a wordlist 2008-10-15 16:01:08 +02:00
Christian Thaeter
211b470e85 docing existing wordlist funcs 2008-10-15 16:01:07 +02:00
Christian Thaeter
b0e60e23e0 change config rwlock to mutex
This was overseen with the splay tree transistion. lookups mutate the
structure, thus it needs to be locked completely.
2008-10-15 16:01:07 +02:00
Christian Thaeter
2041efe5b6 more on config_wordlist
* universal replace function
 * tests
 * missing declarations
2008-10-15 16:01:07 +02:00
Christian Thaeter
f754e1521f Start of a 'wordlist' type for the config subsystem
wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
2008-10-15 16:01:06 +02:00
Christian Thaeter
dd9e5051ba use nobug's new RESOURCE_HANDLE_COMMA_INITIALIZER and some cosmetics along 2008-10-15 15:51:48 +02:00
Christian Thaeter
38f2a9c6c9 add a lumiera_realloc() function to the safeclib 2008-10-15 15:51:48 +02:00
Christian Thaeter
0346e113e5 use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 15:51:29 +02:00
Christian Thaeter
ed246ab222 Adding recursive mutexes, fix chained mutex to take only one parameter
Recursive mutex can be locked multiple times by a single thread they
are initialitzed by lumiera_recmutex_init() and used by LUMIERA_RECMUTEX_*
macros.

Chained mutex use the mutexacquirer from the outer scope now. Maybe its
later needed to pass acquirers explicit, we will see.
2008-10-15 15:49:35 +02:00
Christian Thaeter
9cdfd02e9b makefile update for library 2008-10-15 15:49:35 +02:00
Christian Thaeter
2a723bc5ba add 'STRINGIFY' to ppmpl.h 2008-10-15 15:49:35 +02:00
Christian Thaeter
a7f75b3f6f preprocessor concat implementation which evaluates its arguments 2008-10-15 15:49:35 +02:00
Christian Thaeter
bfdcbfcb7f add a static initializer to psplay.h 2008-10-15 15:49:35 +02:00
Nicholas Sinnott-Armstrong
7d86367909 Added preliminary support for chained mutex calls. 2008-10-15 15:49:35 +02:00
Christian Thaeter
16d2fcf2e9 macro for initializing a uchar[16] from a string literal in C++ 2008-10-15 15:49:34 +02:00
Christian Thaeter
4d65f0394d Add FOREACH variants for nesting to ppmpl
Three levels of nesting are enough for anyone!
2008-10-15 15:49:34 +02:00
Christian Thaeter
973348fdb8 preprocessor metaprogramming ftw
Added a header for generalized preprocessor idioms.
This will grow over time, as needed things will be added.
2008-10-15 15:49:34 +02:00
Christian Thaeter
14a9e95492 moved plugin code from lib to backend
Plugin management will become stateful. This qualifies it to become a
backend subsystem.
2008-10-15 15:49:34 +02:00
8834e4e306 merge current gui work
Merge branch 'master' into proc
2008-10-11 03:04:48 +02:00
Joel Holdsworth
5e60921e14 Corrected some problems in the stylesheet 2008-10-10 11:18:38 +01:00
Joel Holdsworth
13b2b4f7a2 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui 2008-10-10 10:59:13 +01:00
Joel Holdsworth
6195a7f655 Added wildcard support, and some documentation to the icon loading code 2008-10-10 10:56:07 +01:00
Joel Holdsworth
65568980ec Corrected incorrect IconSize code, and made Tool icons borders darker 2008-10-07 23:02:27 +01:00
Joel Holdsworth
094ce0654d Added playback support in the timeline 2008-10-07 21:17:29 +01:00
1bce7d4c38 define the next steps by test 2008-10-06 07:26:43 +02:00
1724e019ea related it to the ConManager and the wiring requests 2008-10-06 06:17:40 +02:00
873910f0b8 WIP considerations about querying 2008-09-28 04:05:10 +02:00
feb64fac01 outline: use of the raw type info for fetching a ImplFacade 2008-09-26 04:57:20 +02:00
f80d0a49bd provide for the GAVL impl facade to be registered as basic media type.
WIP actual implementation missing...
2008-09-24 06:36:35 +02:00
83b574bdea stream type registry lifecycle 2008-09-24 05:46:26 +02:00
14023d3024 interface brainstorming 2008-09-23 05:09:56 +02:00
578178a937 brainstorming (continued). MediaImplLib
considering how to snap in the actual implementation
2008-09-22 06:42:10 +02:00
2885b41895 fix a link problem 2008-09-22 04:03:37 +02:00
a6a19ef609 WIP start drafting how to bootstrap a stream type... 2008-09-17 03:46:38 +02:00
8754555492 further mulling over the problems related to stream type handling 2008-09-15 05:40:13 +02:00
7ed7f05ffb further analyzing the problem (stream type handling) 2008-09-13 06:00:22 +02:00
d4e3405f09 some namespace rearrangements 2008-09-13 03:59:36 +02:00
f9452f654c start media stream type classification framework 2008-09-13 01:57:59 +02:00
4d72bc23b0 merge in Config-System (first version)
Merge commit 'ichthyo/proc'
2008-09-13 01:27:18 +02:00
Joel Holdsworth
e815bd4fd2 Moved buttons to the timeline 2008-09-12 20:55:54 +01:00
Christian Thaeter
7c992c000d config setters for number and word, thats it for now 2008-09-10 15:19:50 +02:00
Christian Thaeter
4b2973de27 some cosmetics, removed the CONFIG_DEFAULT error which is not used anymore 2008-09-10 15:19:50 +02:00
Christian Thaeter
e8cc26efa4 First highlevel setter, small api change
* setters return LumieraConfigitem (or NULL) instead int
 * the config_string_set works now
2008-09-10 15:19:50 +02:00
Christian Thaeter
928847a193 little more verbose logging, dump some values at TRACE points 2008-09-10 15:19:50 +02:00
Christian Thaeter
056bb87f30 config api change, return pointers as truth value
NULL indicates some failure,
anything else success (with some usable value)
2008-09-10 15:19:50 +02:00
Christian Thaeter
d26a92b67f add configitem_set_value to modify the delim/value of a existing item 2008-09-10 15:19:50 +02:00
a4f4496481 placed DefsRegistry into an impl namespace 2008-09-10 04:42:09 +02:00
d651ce4762 clean up the mess with the inclusion of defsregistry.hpp,
caused by the definition of DefsRegistry not being visible for DefsManager's dtor.
2008-09-09 06:16:42 +02:00
126e552f1b oops... forgot to add the luidgen tool 2008-09-08 05:22:31 +02:00
998da8a221 migrated TODOs from the TiddlyWiki to the lumiera-work Mailinglist 2008-09-08 01:02:14 +02:00
Michael Ploujnikov
f5387d8bf3 Merge branch 'master' of git://git.lumiera.org/LUMIERA
Conflicts:

	tests/Makefile.am
2008-09-06 20:15:05 -04:00
Christian Thaeter
c4e6cd3c51 Merge branch 'configloader_devel' of git://git.lumiera.org/lumiera/simeon into backend_devel
* 'configloader_devel' of git://git.lumiera.org/lumiera/simeon: (24 commits)
  Added directive-parser and tests for a content-check of a parsed configitem
  Fixed configitem_move, first parsing tests pass now
  FIX: Remove llist_move again and put a note to list_relocate, add test
  WIP: add config_lookup skeleton
  filedescriptor fixup for new copy func in cuckoo
  add a custom copy function to the cuckoo hash
  fixes after the cuckoo update in filedescriptor.c
  Cuckoo hash update
  Added two very simple tests for configitem
  Typo fix
  Fix for section-parser
  added section part to parser
  parser improvements, compiles now
  added CONFIG_SYNTAX errors
  typo fix and redundant comment removal
  add configitem and configentry to the build system
  give the charsets for config keys some constants
  fix to make parser mockup compileable, little simplified
  WIP: started low-level parser
  more functional mockup of the configitem bootstrap
  ...

Conflicts:

	src/backend/config.c
	src/backend/config.h
	src/backend/config_lookup.c
	src/backend/config_lookup.h
	src/backend/configitem.c
	src/backend/configitem.h
	src/backend/filedescriptor.c
	src/lib/cuckoo.c
	src/lib/cuckoo.h
	tests/22config_highlevel.tests
	tests/backend/test-config.c
2008-09-06 13:18:29 +02:00
Christian Thaeter
477ecd3974 Remove the 'path' member from the config and bootstrap the config system
* the path parameter given to config_init becomes a registered default
   value for 'config.path' itself thus the config system finds its data
   path on itself.
 * the printf formatting string for representing values are also
   bootstrapped as default entries in the config system. This is just a
   prelimary example and will be refined later
2008-09-06 12:41:23 +02:00
Christian Thaeter
b94e615291 just psplay_remove leaked, do psplay_delete_node 2008-09-06 12:41:23 +02:00
Christian Thaeter
a95ae05ddb some cosmetics 2008-09-06 12:41:22 +02:00
Christian Thaeter
fa54fb9bc2 add a diagnostic config dump function 2008-09-06 12:41:22 +02:00
Christian Thaeter
21db988e18 remove the default return in case an illegal config entry was found
Fallback to a default in case of a already pending error is not needed.
This would only obtruse error handling. If the default entry would be
erroneous it would be silently ignored and make the thing worse.
2008-09-06 12:41:22 +02:00
Christian Thaeter
b6e3650f62 use psplay trees instead cuckoo hashes in config_lookup 2008-09-06 12:41:22 +02:00
Christian Thaeter
a1bd3ee1f5 use psplay trees for the filedescriptor registry 2008-09-06 12:41:03 +02:00
Christian Thaeter
c3e2941eb8 some machinery for registering and retrieving defaults
* let config_setdefault() take a complete configline instead key:value pair
2008-09-06 12:40:32 +02:00
Christian Thaeter
a0105eec42 Documentation and error handling for config_lookup 2008-09-06 12:40:32 +02:00
Christian Thaeter
1dca87271f ConfigLookup working (for now)
added the missing unimplemented function, fixed some prototypes,
some cosmetics. Barely tested, no documentation yet.
2008-09-06 12:40:20 +02:00
Christian Thaeter
a55c122cc3 Fixed configitem_move, first parsing tests pass now 2008-09-06 12:40:19 +02:00
Christian Thaeter
d9f2b6d6fa WIP: add config_lookup skeleton 2008-09-06 12:40:19 +02:00
Simeon Voelkel
a52b08bfc5 added section part to parser 2008-09-06 12:40:10 +02:00
Simeon Voelkel
36375ce0f6 parser improvements, compiles now 2008-09-06 12:38:57 +02:00
Simeon Voelkel
1a66b58fcb added CONFIG_SYNTAX errors 2008-09-06 12:38:57 +02:00
Christian Thaeter
a51f61683f add configitem and configentry to the build system 2008-09-06 12:38:48 +02:00
Christian Thaeter
1f8906a2d8 More mockup of the configitem bootstrap
* started low-level parser
 * give the charsets for config keys some constants
2008-09-06 12:38:03 +02:00
Christian Thaeter
0d0b9fa34e Merge branch 'library' into backend
* library: (78 commits)
  Doxyfile update
  small note annd cosmetics for safeclib
  test.h cosmetic, add a 'tests' nobug flag, give diagnostics
  add psplay_delete_node and psplay_delete_key functions
  Probabilistic Splay Tree implementation
  Probabilistic Splay Tree implementation
  WIP: Cuckoo hash update, leave it at a insane state
  Add lumiera_tmpbuf_strcat3 for concating up to three strings to safeclib
  FIX: put a note to list_relocate, add test
  Move the resource announce/forget into the rwlock init/destroy
  fix some warnings
  fix name of 'doc' target, remove the OPENGL flag for now
  improved the architecture overview (drawing)
  Fixed hyperactive scroll wheel zoom
  Fixed a bug with body redrawing and added some documentation
  Added some documentation to body and ruler
  Added support for audacity style playback period, and added some
  Added time indication
  improved the scons build to report all missing dependencies instead of stopping at the first one
  add my favorite lumiera logo to the TiddlyWiki page
  ...
2008-09-06 12:27:56 +02:00
Christian Thaeter
79fee29519 small note annd cosmetics for safeclib 2008-09-06 12:24:36 +02:00
Christian Thaeter
dc34ea994c add psplay_delete_node and psplay_delete_key functions
Both delete a entry from a splay tree by calling the registered delete
handler.
2008-09-06 12:24:06 +02:00
Christian Thaeter
86deb4e72d Probabilistic Splay Tree implementation
Generalized an older implementation I already had, the splay formulas need
some improvements. Documentation comes next.
2008-09-06 12:23:58 +02:00
Christian Thaeter
bc055ab803 Probabilistic Splay Tree implementation
Generalized an older implementation I already had, the splay formulas need
some improvements. Documentation comes next.
2008-09-06 12:22:43 +02:00
Christian Thaeter
9471e47cdf WIP: Cuckoo hash update, leave it at a insane state
* add a destructor function for elements
 * rename cuckoo_free to cuckoo_delete to be consistent with the rest
 * add a custom copy function to the cuckoo hash
 * Cuckoo hash update, use a vtable to pass functions to the constructor
 * make the source of a move non-const, just in case something needs
   to be cleaned up there.
 * let cuckoo_insert return the hash table entry directly
2008-09-06 12:08:23 +02:00
Christian Thaeter
cfcb9ce34c Add lumiera_tmpbuf_strcat3 for concating up to three strings to safeclib 2008-09-06 12:08:22 +02:00
Christian Thaeter
e2b7561c76 FIX: put a note to list_relocate, add test
There was a fatal thinko, llist_relocate NUST NOT be called on a empty
list, the pointers will just point to invaildated memory. This cant be
handled by the llist code. The programmer is responsible to take proper
actions.
2008-09-06 12:07:38 +02:00
Christian Thaeter
0debd27d89 Merge branch 'master' of git://git.lumiera.org/LUMIERA into library
* 'master' of git://git.lumiera.org/LUMIERA: (80 commits)
  fix some warnings
  fix name of 'doc' target, remove the OPENGL flag for now
  improved the architecture overview (drawing)
  Fixed hyperactive scroll wheel zoom
  Fixed a bug with body redrawing and added some documentation
  Added some documentation to body and ruler
  Added support for audacity style playback period, and added some
  Added time indication
  improved the scons build to report all missing dependencies instead of stopping at the first one
  add my favorite lumiera logo to the TiddlyWiki page
  scons: use Doxygen builder
  makefile typo fix
  disable precompiled headers for now.
  replace the homebrew GCH-builder by a lib solution
  yet more make fixes
  make build work again with SCons 0.96
  preliminary fix for the SCons build for Debian/testing
  automatically set DEBUG when using the (current) NoBug default ALPHA
  Fix build with gcc 4.3
  integrated SVG Icon rendering into the SCons build
  ...
2008-09-06 11:53:16 +02:00
43291cb9cc fix some warnings 2008-09-05 17:01:24 +02:00
84052f1fab add placeholder gui main to make the compile work 2008-09-05 07:06:46 +02:00
f2c9e67fbc merge generating icons from SVG source 2008-09-05 05:54:14 +02:00
d94f1b9305 merge doc fixes
Merge commit '163ba179ed93c49c6d331c16afe9e54e97ad1876'
2008-09-04 15:28:39 +02:00
Michael Ploujnikov
06504c7b04 Merge branch 'master' of git://git.lumiera.org/LUMIERA 2008-09-03 18:55:19 -04:00
Joel Holdsworth
4faf561019 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
Conflicts:

	src/gui/panels/timeline-panel.cpp
2008-09-02 22:58:22 +01:00
Joel Holdsworth
430ef04bc5 Fixed hyperactive scroll wheel zoom 2008-09-02 22:42:10 +01:00
Joel Holdsworth
708aea87bd Fixed a bug with body redrawing and added some documentation 2008-09-02 22:39:53 +01:00
Joel Holdsworth
b0b436cb92 Added some documentation to body and ruler 2008-08-30 23:10:00 +01:00
Joel Holdsworth
49f87b28bb Added support for audacity style playback period, and added some
documentation
2008-08-30 22:34:26 +01:00
Michael Ploujnikov
387ba8c321 find and configure NoBug by using pkg-config 2008-08-30 13:28:24 -04:00
Michael Ploujnikov
8bdab41ea0 factor out -I$(top_srcdir)/src/ to a top-level AM_CPPFLAGS
also remove a related unnecesary comment in src/gui/Makefile.am
2008-08-30 12:05:21 -04:00
Michael Ploujnikov
8bbcc57f48 set per-target CPPFLAGS for lumigui instead of global AM_CPPFLAGS
this prevents strange (_CPPFLAGS) dependencies such as the one that was identified and fixed in admin/Makefile.am
Also, make sure to include the global $(AM_CPPFLAGS) flags in the per-target ones
2008-08-30 11:49:31 -04:00
Joel Holdsworth
885704f0f8 Added time indication 2008-08-30 14:00:47 +01:00
Simeon Voelkel
700a7e9645 Added directive-parser and tests for a content-check of a parsed configitem 2008-08-27 11:00:10 +02:00
Michael Ploujnikov
bbab414f66 replace INCLUDES with AM_CPPFLAGS
INCLUDES is deprecated (http://www.gnu.org/software/automake/manual/automake.html#Program-variables)
2008-08-25 21:37:06 -04: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
19156f3a34 buildfix 2008-08-19 03:58:22 +02:00
c5778f1540 Merge from proc (draft imp of pull() call) 2008-08-17 18:35:49 +02:00
749f7a41c6 Landing draft implementation of pull() call 2008-08-17 04:22:46 +02:00
Joel Holdsworth
4e5e298bbb Added a time indicator widget 2008-08-16 22:06:46 +01:00
Joel Holdsworth
574bb5a2fd Added some documentation 2008-08-16 20:04:05 +01:00
Joel Holdsworth
071e332f04 Added a 2008-08-16 20:02:46 +01:00
Joel Holdsworth
51161f1e56 Small modifications to the documentation so that the lumiera namespace
is correctly annotated
2008-08-16 17:58:39 +01:00
Joel Holdsworth
40781e8221 Corrected a small dependancy issue in panel.hpp 2008-08-16 17:43:59 +01:00
Joel Holdsworth
a845b625b4 Added more documentation 2008-08-16 17:41:57 +01:00
Joel Holdsworth
02cf47de72 Corrected some stupid indentation in Panel 2008-08-16 17:12:12 +01:00
Joel Holdsworth
1532bc40e0 Added and corrected documentation 2008-08-16 16:44:52 +01:00
Joel Holdsworth
57aed7b40d Added resizing of selection area, and some documentation 2008-08-16 16:02:12 +01:00
Joel Holdsworth
39bd8aac74 Rerouted some dependancies on gtk-mm 2008-08-16 12:38:35 +01:00
Joel Holdsworth
9760b0fff0 Further tidied up tools and added some documentation 2008-08-16 12:32:26 +01:00
Joel Holdsworth
94cd88a92a Tidied up IBeam tool code 2008-08-16 12:17:28 +01:00
Joel Holdsworth
a186b7e507 Added out of bounds scrolling during I-Beam dragging 2008-08-15 22:40:57 +01:00
Joel Holdsworth
9dfd4ca4ed Fixed the broken view menu, corrected some tabs, and removed some left
over debug code
2008-08-14 23:15:47 +01:00
Joel Holdsworth
1b89b61370 Made the selection marquee stylable 2008-08-13 23:47:47 +01:00
Joel Holdsworth
833404c27b Made icon loading more robust, and tidied up some code 2008-08-13 19:15:13 +01:00
Joel Holdsworth
f0b30ff3f9 Removed superfluous tabs in actions.hpp 2008-08-13 17:41:41 +01:00
Christian Thaeter
1dc836fc3d Fixed configitem_move, first parsing tests pass now 2008-08-13 10:50:27 +02:00
Christian Thaeter
2f776858ee FIX: Remove llist_move again and put a note to list_relocate, add test
There was a fatal thinko, llist_relocate NUST NOT be called on a empty
list, the pointers will just point to invaildated memory. This cant be
handled by the llist code. The programmer is responsible to take proper
actions.
2008-08-13 09:21:33 +02:00
Christian Thaeter
238218f776 WIP: add config_lookup skeleton 2008-08-13 09:21:33 +02:00
Christian Thaeter
0fe3d6a059 filedescriptor fixup for new copy func in cuckoo 2008-08-13 09:21:33 +02:00
Christian Thaeter
76a72a6b68 add a custom copy function to the cuckoo hash 2008-08-13 09:21:33 +02:00
Christian Thaeter
e78908bc7d fixes after the cuckoo update in filedescriptor.c 2008-08-13 09:21:32 +02:00
Christian Thaeter
975150fe0a Cuckoo hash update
* add a destructor function for elements
 * rename cuckoo_free to cuckoo_delete to be consistent with the rest
2008-08-13 09:21:32 +02:00
Simeon Voelkel
b5dafbcd53 Fix for section-parser 2008-08-13 08:33:49 +02:00
Simeon Voelkel
19c2af0c69 added section part to parser 2008-08-12 12:39:48 +02:00
Simeon Voelkel
e86ef0ba75 parser improvements, compiles now 2008-08-12 10:57:46 +02:00
Simeon Voelkel
ca58edf39c added CONFIG_SYNTAX errors 2008-08-12 10:29:05 +02:00
Simeon Voelkel
0f5c5e218a typo fix and redundant comment removal 2008-08-12 10:03:38 +02:00
Christian Thaeter
8e5b734f03 add configitem and configentry to the build system 2008-08-12 08:13:15 +02:00
Christian Thaeter
20d38b0b5c give the charsets for config keys some constants 2008-08-12 08:12:08 +02:00
Christian Thaeter
9c7cedbf75 fix to make parser mockup compileable, little simplified 2008-08-12 07:13:45 +02:00
Simeon Voelkel
fd563a0284 WIP: started low-level parser 2008-08-11 22:08:17 +02:00
Christian Thaeter
c958aa29fb more functional mockup of the configitem bootstrap
includes some comments for simav about how to write parsers
2008-08-11 17:22:15 +02:00
Christian Thaeter
c7af270e42 config item bootstraping Mockup for review 2008-08-11 12:17:03 +02:00
Christian Thaeter
ea97119fa6 add a function to move llist nodes around 2008-08-11 10:12:05 +02:00
Christian Thaeter
f0cf49d753 WIP configitem brainstorming 2008-08-11 09:20:49 +02:00
Christian Thaeter
7b3fcfdcb3 Configitem brainstorm 2008-08-10 19:38:31 +02:00
Christian Thaeter
3dff3f70fc remove const from the filename in struct file, some gcc version barfs on it 2008-08-10 17:23:52 +02:00
Christian Thaeter
746c03fb04 Merge commit 'LUMIERA/master' into backend
* commit 'LUMIERA/master':
  Corrected some tabs, missing dependancies in src/gui/Makefile.am
  Initial implementation of I-Beam tool. Needs more work
  Reinstated a small efficiency
  Tidied and simplified video display widget, and added cursor support to
  Added a separator between tool groups
  Temporarily bodged the icon source directory
  Added code to render icons as part of the build process
  Added basic support for multiple tools in the timeline view
  Implemented new icon workflow
  Fixed scroll layout loop bug.
  Set the page size of the horizontal timeline scroll bar
  Retired VideoTrack - all tracks are the same
2008-08-10 14:17:04 +02:00
Christian Thaeter
cf3c601a77 Config type for 'words' and some tests 2008-08-10 12:28:02 +02:00
Christian Thaeter
cd8b523550 cosmetics, remove some traces in string config parsing, little doc 2008-08-10 12:28:02 +02:00
Christian Thaeter
830482c46d ooops, typo in the character list for config keys, missed 'wW' 2008-08-10 12:28:02 +02:00
Christian Thaeter
ff35734991 Fixup config to new rwlock SECTION macros 2008-08-10 12:28:02 +02:00
Christian Thaeter
c3c5a3b65c Fixup filedescriptors and filehandlecache for the new mutex handling 2008-08-10 12:28:02 +02:00
Christian Thaeter
8b901567ed getting strings from the config
a string can be either quoted (single or doublequoted), then the text
between this quotes is returned, quotes are escaped by doubling themself,
no chopping at either end is done,

or not quoted then the the tabs and spaces are chopped from the value
at either end.
2008-08-10 12:26:19 +02:00
Christian Thaeter
3be0d38d73 report syntax error in value instead type error 2008-08-10 12:26:19 +02:00
Christian Thaeter
87c7fea4ac allow only lowercase characters, digits, '_' and '.' in keys 2008-08-10 12:26:19 +02:00
Christian Thaeter
bb9f81c08d fixed code to do whats specified, but needs refactoring
even in case of an configuration error the returned value is primed
with the default. The error condition needs still be cleared!

Broken defaults would be unnoticed in case of a double error!
2008-08-10 12:26:19 +02:00
Christian Thaeter
962bceec72 high level getter for 'number' type
WIP: doesn't register the default yet, no configfiles yet

just returning env overrides or defaults
2008-08-10 12:26:19 +02:00
Christian Thaeter
418231219a cosmetics 2008-08-10 12:26:18 +02:00
Christian Thaeter
9a329e0340 basic config value retrieval, just env override, no configfiles yet 2008-08-10 12:26:18 +02:00
Christian Thaeter
116c0e8125 more nobug flags for config, add a rwlock for the config, init/destroy 2008-08-10 12:26:18 +02:00
Christian Thaeter
1ff0583e4c add 'config_typed.c' for the typed high level config interface 2008-08-10 12:26:18 +02:00
Christian Thaeter
b691a9d7bb Simple config init/destroy, beginning of a config-testsuite 2008-08-10 12:26:18 +02:00
Christian Thaeter
c8210708fa skeleton for the config struct 2008-08-10 12:26:18 +02:00
Christian Thaeter
9444fb0267 use 'int' as return values rather than lumiera_err 2008-08-10 12:26:18 +02:00
Christian Thaeter
85e789742f first skeleton for the config loader 2008-08-10 12:26:15 +02:00
Christian Thaeter
0bd886249b throw away the 'references' implementation, we probably don't need it
(could be reincarnated someday later when we find out that we need it)
2008-08-10 12:19:50 +02:00
Christian Thaeter
dde54ec7b0 Adapt the condition implementation to the macro SECTION based approach 2008-08-10 12:19:50 +02:00
Christian Thaeter
d8f59fb722 Simplyfiy resource management
Move the resource announce/forget into the rwlock init/destroy
Move resource announcement/forget into the mutex init/destroy
2008-08-10 12:19:09 +02:00
Christian Thaeter
c11915a4c4 new locking section macros for RWLocks, old acquirer bites the dust 2008-08-10 12:19:09 +02:00
Christian Thaeter
d0b6919eea locking.h bites the dust 2008-08-10 12:19:09 +02:00
Christian Thaeter
b2b205f6db remove unnecessary volatile (forgotten for a test) 2008-08-10 12:19:09 +02:00
Christian Thaeter
07f06d0d88 big mutex update, dropped old acquirer
Acquiring mutexes is now wraped in a easy to use MUTEX_SECTION macro.
This scheme will be extended for chained lock propagation soon.

Notes:
 * NoBug resourcemanagement is now part of the lower layer,
   RESOURCE_ENTER/RESOUCE_LEAVE are maintained automatically
 * one must still call RESOURCE_ANNOUNCE/RESOURCE_FORGET, because we want
   to maintain high level information about resources.
 * MUTEX_SECTIONS must not be left with any kind of jump
2008-08-10 12:19:09 +02:00
Christian Thaeter
47b5a2667c add LOCKED_SECTION macros to rwlock, fix bug in rwlockacquirer 2008-08-10 12:19:08 +02:00
Christian Thaeter
12feb6e7b8 add 'lumiera_free' as replacement for 'free'
lumiera_free() is for now just a static inline wraper around free()
Later this makes it easier to hook in some resource managing functions
or a Garbage Collector in.

Replaced all current uses of free()
2008-08-10 12:19:08 +02:00
Christian Thaeter
f5df65b0a1 add a translation function to tmpbuf
tmpbuf_tr takes an input string and 2 sets of characters plus a
default character. It produces a output string with all
characters from the first set translated to the correspondending
character in the 2nd set, similar to the shell 'tr' util.
2008-08-10 12:19:08 +02:00
Christian Thaeter
93e126f5ab add a 'lumiera_err' typedef 2008-08-10 12:19:08 +02:00
Christian Thaeter
9826fd180d renamed the uuid to luid
uuid's are somewhat standardized, we use our uid's slightly differently,
so change the name not to be confused with standards.
 * Small fix for luid generation
 * build a 'luidgen' tool which will be used by the interface gen later
 * add emacs vars
 * include the luidgen tool in automake
2008-08-10 12:18:20 +02:00
Joel Holdsworth
c12e134981 Corrected some tabs, missing dependancies in src/gui/Makefile.am 2008-08-09 22:26:36 +01:00
Joel Holdsworth
2082f0843b Initial implementation of I-Beam tool. Needs more work 2008-08-07 20:27:41 +01:00
07975e520f change ConfigSelector to accept arbitrary factory function signatures 2008-08-05 03:46:06 +02:00
Joel Holdsworth
45ca590c38 Reinstated a small efficiency 2008-08-04 16:40:38 +01:00
Joel Holdsworth
2ee6f6be62 Tidied and simplified video display widget, and added cursor support to
the ibeam and arrow tool
2008-08-04 16:39:36 +01:00
Joel Holdsworth
fdab62a5d8 Added a separator between tool groups 2008-08-04 12:20:13 +01:00
Joel Holdsworth
744b28502e Temporarily bodged the icon source directory 2008-08-04 12:15:42 +01:00
Joel Holdsworth
04320ae794 Added code to render icons as part of the build process 2008-08-04 12:06:24 +01:00
29e33e4eb4 generating (wiring) configs now considered final 2008-08-04 05:42:55 +02:00
cf7bd178de WIP further refactorings.
Put nodeoperation.hpp and ConfigSelector in a sub namespace engine::config
2008-08-03 16:47:38 +02:00
847cc9c267 WIP rearranged some headers 2008-07-30 03:56:13 +02:00
Joel Holdsworth
17d0883d09 Added basic support for multiple tools in the timeline view 2008-07-30 00:12:37 +01:00
276ac8e082 test building a table of factories dealing with the possible configs 2008-07-29 18:03:37 +02:00
Joel Holdsworth
ecf392968b Implemented new icon workflow 2008-07-28 23:45:20 +01:00
0dec8de6a3 test covering ennumeration of possible configs 2008-07-28 04:33:10 +02:00
06cc4c93fd test the combination generator 2008-07-24 06:38:21 +02:00
Joel Holdsworth
9bad04751f Fixed scroll layout loop bug. 2008-07-23 23:23:48 +01:00
86f805f803 more testing 2008-07-22 08:19:03 +02:00
e5d75eee9b test covering the stack-wise buffer pointer table allocation 2008-07-21 03:25:06 +02:00
9a34d234ae WIP pass compiler, after filling in some more stubs 2008-07-20 20:08:08 +02:00
Mano Stienen
163ba179ed moved documentation from error.c to .h 2008-07-20 16:11:08 +02:00
3ec69c539c WIP resolved remaining inconsistencies 2008-07-20 15:00:39 +02:00
Joel Holdsworth
4907b19cce Set the page size of the horizontal timeline scroll bar 2008-07-19 16:35:56 +01:00
Mano Stienen
14b9847a69 moved documentation from plugin.c to .h
and
cleaned documentation from safelib.c that already existed in .h
2008-07-19 14:47:03 +02:00
Mano Stienen
a605f15ecd Merge branch 'gui' of git://git.lumiera.org/LUMIERA into doxygen_fixes 2008-07-18 22:16:57 +02:00
cb8ac94dcf WIP finally got the design straight? 2008-07-18 21:21:46 +02:00
Joel Holdsworth
e3d6026d0b Retired VideoTrack - all tracks are the same 2008-07-17 19:35:49 +01:00
Joel Holdsworth
8689d0dced Refactored widget mouse movement handling, removed some Glib::RefPtrs, and tidied a few things 2008-07-17 19:07:38 +01:00
48780bef74 WIP draft the handling of buffer pointer tables 2008-07-17 16:17:43 +02:00
Mano Stienen
4184dcf253 Merge branch 'gui' of git://git.lumiera.org/LUMIERA into doxygen_fixes 2008-07-17 00:38:20 +02:00
Joel Holdsworth
063a22fcd5 Added zoom toolbar buttons and middle click view shifting to the
timeline
2008-07-16 22:33:42 +01:00
63d5684c12 WIP continued with refactoring the Invocation 2008-07-16 05:09:04 +02:00
Joel Holdsworth
c20fb922bb Fixed order of creation so icons show on the panels 2008-07-15 20:52:24 +01:00
Joel Holdsworth
a9a592fe45 WIP: Added a dummy toolbar 2008-07-15 19:00:24 +01:00
Joel Holdsworth
b2df771149 Converted mouse chevron to use pixels not time values 2008-07-15 18:36:43 +01:00
Joel Holdsworth
6e0abf0e44 Added code to keep the mouse chevron in synch as the timeline view window changes 2008-07-15 18:25:21 +01:00
Mano Stienen
1cabeff7bf Merge branch 'HEAD' of git://git.lumiera.org/LUMIERA into doxygen_fixes 2008-07-14 22:42:59 +02:00
Joel Holdsworth
ec6c20149c Fixed broken timeline scrollwheel, added a const 2008-07-14 20:16:11 +01:00
cb5d1fd03b WIP further refactored the nodeoperation 2008-07-14 03:34:18 +02:00
2dab8cfe6e WIP adapt the nodeoperation to this (possible) solution 2008-07-11 19:40:11 +02:00
Mano Stienen
6838dbe12a documentation from condition.c and reference.c moved to .h 2008-07-11 08:15:08 +02:00
Mano Stienen
1d8bc98429 moved documentation from mutex.c to .h 2008-07-11 06:32:56 +02:00
95632785a8 Merge SCons buildsystem improvements from master 2008-07-11 06:15:35 +02:00
7a6b987a50 merge after integrating the GUI draft; now using multiple build environments and check via pkg-config 2008-07-11 05:35:48 +02:00
Mano Stienen
7f1987666f moved documentation from rwlock.c to .h 2008-07-11 05:02:47 +02:00
bfa4b2bc70 (irrelevant) adjustments to make the SCons build of the nonexistant source happen 2008-07-11 05:01:56 +02:00
e04c7d54cb merge after finishing DefaultsManager; build split in several static libs 2008-07-11 04:39:29 +02:00
a46bfd2bf6 integrate the GTK-Gui (draft) in the SCons build 2008-07-11 03:51:37 +02:00
ce90f1763b add some convenience shortcuts to the SCons build system 2008-07-10 19:02:47 +02:00
012944a461 fix compilation problem with Boost 1.35 2008-07-09 05:25:55 +02:00
7c56c71d00 Documentation Update, including info about ongoing builder work 2008-07-07 23:56:34 +02:00
39d321a4a5 WIP this approach is more likely to work actually... 2008-07-07 05:40:53 +02:00
98a542f920 WIP drafting how to build all possible operation configs 2008-07-05 18:50:54 +02:00
9389ce2d68 WIP possible solution how the operation chunks could be assembled 2008-07-01 04:53:23 +02:00
1d37bf88d8 WIP preliminary draft of node operation
(cant work, now needs to be decomposed)
2008-06-29 15:32:19 +02:00
Joel Holdsworth
8d63d7adb4 Added a mouse chevron to the ruler 2008-06-25 20:23:53 +01:00
da49742826 WIP sorting out some details of the node network impl 2008-06-24 05:19:11 +02:00
Joel Holdsworth
7752130d99 Added my name to copyright in configure.ac, and corrected some
indentation
2008-06-23 21:21:29 +01:00
Joel Holdsworth
3a5482a141 Tidied styles. Made min_division_width stylable 2008-06-23 21:18:20 +01:00
Joel Holdsworth
01b59b6c69 Corrected the styling of scroll bars 2008-06-23 21:06:07 +01:00
Joel Holdsworth
56291f6c40 Made ruler more stylable, and added minor ticks 2008-06-23 21:01:29 +01:00
Joel Holdsworth
38a9a1c892 Added minor tick-marks 2008-06-23 17:48:48 +01:00
Joel Holdsworth
a7aff05dd3 Styled timeline text 2008-06-23 17:07:57 +01:00
Joel Holdsworth
8e940b879d Added auto selection of major tick values to timeline ruler 2008-06-23 15:42:14 +01:00
Joel Holdsworth
4275c7cf8c Added zooming of the timeline with Ctrl+Scroll 2008-06-23 11:17:19 +01:00
Joel Holdsworth
6e944c1412 Added scroll wheel scrolling to the timeline. Corrected some indentation 2008-06-23 10:54:37 +01:00
Joel Holdsworth
e18b0a1d5f Added scrolling and major timeline-ruler ticks 2008-06-19 23:35:53 +01:00
Joel Holdsworth
25f28ee586 Corrected some indentation 2008-06-19 21:57:53 +01:00
Joel Holdsworth
f8a2291118 Corrected some indentation 2008-06-19 21:37:36 +01:00
Joel Holdsworth
3cc0f72389 Trivial timeline now works - more work coming 2008-06-18 23:57:47 +01:00
eeb2d04dee WIP trying to translate some of the planned pull() process into code... 2008-06-14 04:19:58 +02:00
Joel Holdsworth
3b9d05a67d Made use of boost and nobug, added some documentation, and tidied code 2008-06-07 13:53:17 +01:00
Joel Holdsworth
8dc26f9bd9 Merge branch 'master' of git://git.lumiera.org/LUMIERA into timelinework 2008-06-07 12:10:52 +01:00
Joel Holdsworth
98df76e919 Added some documentation, and made a minor code correction in
layout_headers
2008-06-07 12:09:22 +01:00
Joel Holdsworth
e12f72abe0 Merge commit 'HEAD'; branch 'timelinework' into gui 2008-06-06 00:30:53 +01:00
Joel Holdsworth
3952e27a8f Removed RefPtrs to make code more elegant 2008-06-06 00:30:31 +01:00
Joel Holdsworth
214eea574a Merge commit 'HEAD'; branch 'timelinework' into gui 2008-06-06 00:00:41 +01:00
Joel Holdsworth
85730b889e Fixed to assertion failures, and move the frame ownership to
HeaderContainer
2008-06-05 23:57:04 +01:00
Joel Holdsworth
9598b92d7e Merge commit 'HEAD'; branch 'timelinework' into gui 2008-06-05 21:00:42 +01:00
Joel Holdsworth
0ac09411bc Basic timeline with scrolling headers now works + Tidying work 2008-06-05 20:27:53 +01:00
Joel Holdsworth
e9747b360c Track backgrounds are now painted from the style 2008-05-31 18:21:05 +01:00
Joel Holdsworth
71b45acf54 Styles for custom widgets now load 2008-05-31 17:44:44 +01:00
Joel Holdsworth
7e2092825e Simple scrolling and drawing added 2008-05-31 13:22:15 +01:00
8daec32733 first draft plans for the render process, as far as needed for defining the builder 2008-05-30 06:23:13 +02:00
5d5119631b first outline regarding the wiring of nodes within the builder 2008-05-27 07:22:27 +02:00
2e58b02b8a write down implementation specs and further planned details 2008-05-26 07:28:10 +02:00
Joel Holdsworth
ea32ce0337 Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui 2008-05-22 19:31:55 +01:00
Joel Holdsworth
fe975a701d Added some scroll bars 2008-05-22 19:19:04 +01:00
6310e9789b Merge ct/devel to see if there are any problems... 2008-05-20 04:58:16 +02:00
Christian Thaeter
f58be32a05 Fixes after rebase
* remove _GNU_SOURCE from tests
 * re-enable C source building in backend
2008-05-19 16:37:50 +02:00
Christian Thaeter
64e549dc81 headers for the memory mapping backend (WIP) 2008-05-19 16:27:30 +02:00
Christian Thaeter
9ad62d0edc Fix: one must not return from a mutex section 2008-05-19 16:27:30 +02:00
Christian Thaeter
241327bcd4 rename 'fhcache' global var to 'lumiera_fhcache' 2008-05-19 16:27:30 +02:00
Christian Thaeter
444b142d85 Correct File flag masking
The hash lookup needs to ignore O_EXCL|O_TRUNC|O_CREAT as well as file
reopening must not use this flags.
2008-05-19 16:27:29 +02:00
Christian Thaeter
c4816c39fd Proper flag and stat handling for files
Filedescriptors create files at construction, each later access becomes
a reopen on the now existing file.

file_handle_acquire() reopens the file to gain a handle when required
and checks that the file is really the one we expected (ino and dev num)
2008-05-19 16:27:29 +02:00
Christian Thaeter
00b9dff106 Doxygen config update
* set EXPORT_ALL=NO to leave out undcoumented entities.
* Fix a lot @file directives
2008-05-19 16:27:29 +02:00
Christian Thaeter
8311316a92 Doxydocing for the filehandling stuff 2008-05-19 16:27:28 +02:00
Christian Thaeter
dd63a0e190 filedescriptor cleanup and fixes
basically working now, flag masking is not complete yet.
2008-05-19 16:27:28 +02:00
Christian Thaeter
232afe77e9 Filehandling
* add 'backend' for backend global initialization/destruction
  and common functions.
* WIP: 'file' acts as interface to named files, provides posix
  filehandles with and acquire/release function pair.
* 'filehandle' manages posix filehandles internally, refcounted.
* WIP: 'filehandlecache' keeps unused filehandles in a MRU cache

* WIP: test for filehandle management
* improved filedescriptor test
2008-05-19 16:27:28 +02:00
Christian Thaeter
b11ff40fbe Filedescriptor updates
* make registry initialization singleton, no parameters.
 * remove registry init from all functions, has to be called explicitly.
 * some nobug improvements
2008-05-19 16:27:28 +02:00
Christian Thaeter
bb98bb434b add nobug resource tracking to filedescriptors 2008-05-19 16:27:28 +02:00
Christian Thaeter
5286838886 filedescriptor handling basics working, including some tests
It is now possible to acquire/release filedescriptors for existing files
and files to be created.

Filedescriptors are managed in a registry by refcounts, they get
automatically destructed when the last user releases them.
2008-05-19 16:27:28 +02:00
Christian Thaeter
791f42c104 WIP: Low level file management
We have 'File' which associates a name with a file and will be used to
offer an interface for the application.

Posix 'Filehandles' which are managed in a 'Filehandlecache' to utilize
a limited number of fd's at optimum.

Internally we use 'Filedescriptor's which manage files, mapping and all
kinds of metadata. Filedescriptors weak referenced by a registry and freed
when the last user vanishes.
2008-05-19 16:27:27 +02:00
Christian Thaeter
94e075d2c2 fix: mrucache_drop() must call the element destructor 2008-05-19 16:23:16 +02:00
Christian Thaeter
03ed87051d fix missing declaration of lumiera_calloc() in safeclib.h 2008-05-19 16:23:16 +02:00
Christian Thaeter
63c07d1274 doxydocing mrucache 2008-05-19 16:23:15 +02:00
Christian Thaeter
dc0cbf0ad8 Fix: off by one allocation error in tmpbuf_snprintf() 2008-05-19 16:23:15 +02:00
Christian Thaeter
ff6ce603a4 tmpbuf_sprintf renamed to tmpbuf_snprintf 2008-05-19 16:23:15 +02:00
Christian Thaeter
0996c386bb Mrucache update
* Fix: unlinking at destroy
* rename add/remove to checkin/checkout
* add a drop function which moves a node to the end for fast reuse
2008-05-19 16:23:15 +02:00
Christian Thaeter
b909c2247d add a cuckoo_nelements function
Query the number of elements stored in a hash, useful for debugging.
2008-05-19 16:23:15 +02:00
Christian Thaeter
293b872b5d extend the MUTEX_SECTION macro with NoBug resource tracking
LUMIERA_MUTEX_SECTION takes now a nobug flag as first argument and
a nobug resource-handle as second argument.

This change works forward for the NoBug resource tracker and
deadlock detector.
2008-05-19 16:23:15 +02:00
Christian Thaeter
b4183ed444 safeclib improvements
* add lumiera_calloc()
 * improve cleanup functions for tmpbuf
2008-05-19 16:23:15 +02:00
6b1be6b7e7 Refactorings regarding use of smart-ptr, Placement and BuilderTool 2008-05-19 08:46:19 +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
Christian Thaeter
8ba3df3b31 missing slash 2008-05-19 01:54:40 +02:00
Christian Thaeter
5ae909e2a0 add C++ parts to lib build 2008-05-19 01:51:34 +02:00
Christian Thaeter
3b6713b23c build common and (re-)enable backend build (C++ part)
- not (yet) merged backend C parts are commented out for now
2008-05-19 01:50:53 +02:00
Christian Thaeter
b6bd181ca8 correct pasting glitch and copyright header date 2008-05-19 01:48:02 +02:00
Christian Thaeter
e8164062a2 integrate proc into automake
* all files in src/proc are build into libs
 * TODO: -Werror still missing
 * TODO: Tests are not yet compiled
2008-05-18 00:01:51 +02:00
Christian Thaeter
249c6d5eda Remove _GNU_SOURCE from certain files
GNU_SOURCE is globally activated in configure.ac
2008-05-17 23:33:21 +02:00
Christian Thaeter
2cbfeda4df correct return types in condition.h 2008-05-17 23:25:50 +02:00
Joel Holdsworth
5f8c9a2a12 Corrected 3 build errors 2008-05-17 18:12:07 +01:00
Joel Holdsworth
df5c40fd63 Panels can now be show and hidden
More documentation added to Panel
2008-05-17 11:20:49 +01: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
Joel Holdsworth
8437450767 More work on icons 2008-05-16 19:23:12 +01:00
Joel Holdsworth
a51d91d7b5 Corrected the makefile 2008-05-16 18:53:45 +01:00
Joel Holdsworth
fdbdfe2493 Added an icon for the timeline 2008-05-16 18:49:32 +01:00
Joel Holdsworth
41d5ff9610 Added an icon to the viewer panel 2008-05-15 00:04:10 +01:00
Joel Holdsworth
1d89341fa4 Removed a couple of redundant files 2008-05-14 22:50:53 +01:00
Joel Holdsworth
0b70cf132a Copying lumiera_gui.rc now works 2008-05-14 22:29:05 +01:00
Joel Holdsworth
4c9eea2c73 Modified Makefile.am to test lumiera_gui.rc copying failure 2008-05-14 22:02:02 +01:00
Joel Holdsworth
ae2c74ff42 Tied gui into main lumiera build 2008-05-14 00:26:00 +01:00
Joel Holdsworth
f030798844 Merge branch 'devel' of git://git.lumiera.org/lumiera/ct into work 2008-05-13 22:10:22 +01:00
Christian Thaeter
a9cf2c719d Fix: uuid includes 2008-05-13 21:42:51 +02:00
Christian Thaeter
380c1d2c47 dropped the pre-gavl framerate sources out of lib 2008-05-13 21:31:30 +02:00
Joel Holdsworth
05055fa795 Added POTFILES.in 2008-05-13 20:07:21 +01:00
Christian Thaeter
b41115d1b2 Add cuckoo hashing to the library
This implementation of cuckoo hashing gives guaranteed O(1)
lookup complexity and amortized O(1) insert and remove complexity.
Hash tables by default grow and shrink automatically.
It is posible to preallocate entries and turn automatic shrinking off,
taking out the memory management factors for insert and remove operations.
2008-05-13 20:57:20 +02:00
Christian Thaeter
3a8b3feb96 add string creating functions to tmpbuf
* lumiera_tmpbuf_strndup() duplicates a string
 * lumiera_tmpbuf_sprintf() creates a formatted string
2008-05-13 20:57:20 +02:00
Christian Thaeter
d32c74361b Fix: typo in mrucache_age() 2008-05-13 20:57:19 +02:00
Christian Thaeter
69ba3b389c LUMIERA_MUTEX_SECTION(mutex) macro for sections of mutex protected code 2008-05-13 20:57:19 +02:00
Christian Thaeter
eab6b64f6d let mrucache age return how much elements it couldn't purge 2008-05-13 20:57:19 +02:00
Christian Thaeter
328127980a a small most-recent-used cache implementation 2008-05-13 20:57:19 +02:00
Christian Thaeter
7686a2ec56 Renamed the temporary 'buffer' functions to 'tmpbuf' 2008-05-13 20:57:18 +02:00
Christian Thaeter
0b8b5bf507 uuid functions 2008-05-13 20:54:05 +02:00
Christian Thaeter
27ca8a7362 let LUMIERA_DIE take an error identifier as parameter 2008-05-13 20:54:05 +02:00
Christian Thaeter
8b162cada4 llist update 2008-05-13 20:54:04 +02:00
Christian Thaeter
19ee8afa08 safeclib wraps some common c library functions and adds some tools
* lumiera_malloc which succeeds or dies
 * some safe string functions
 * Thread local round robin buffers for temporary data
2008-05-13 20:54:04 +02:00
Joel Holdsworth
ed2146dae0 Added the icon which will be used for the video viewer panel's caption 2008-05-13 17:33:18 +01:00
Joel Holdsworth
f72dab3257 Added support for video via a GDK fallback 2008-05-12 13:02:14 +01:00
Joel Holdsworth
67413c7c17 Made a temporary fix for the crash-on-undock bug 2008-05-08 23:34:28 +01:00
Joel Holdsworth
b8c94df12a Further XVideo tidy ups 2008-05-08 23:09:04 +01:00
Joel Holdsworth
f1fdfdf94a Added XVideo code 2008-05-08 20:56:55 +01:00
Joel Holdsworth
130da1ec77 Layed the foundation of a 2008-05-05 22:21:58 +01:00
Joel Holdsworth
03bc0cd276 Relocated gui into the src folder 2008-05-02 17:26:50 +01: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
3e8996005e start using the new lifecycle hooks. remove global nobugcfg.h
Now using proc/lumiera.hpp and proc/nobugcfg.hpp (i.e. only for the proc-Layer). Using ON_BASIC_INIT to
pull up NoBug automatically and for installing the unknown-exception handler. Add calls for
ON_GLOBAL_INIT and ON_GLOBAL_SHUTDOWN hooks to main() and to the testrunner
2008-04-14 05:15:16 +02:00
85189d3f4c extend Appconfig class to provide Lifecycle callback hooks
esp. for automatic triggering the initialisation of very basic struff (like NoBug...)
2008-04-13 23:54:39 +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
f7bfe50bc9 Merge branch 'builder' 2008-04-12 02:12:41 +02:00
a03e3c5e73 Merge from backend: wikis, admin-scrits, test.sh
(dont merge any srcfiles)
2008-04-12 02:07:16 +02:00
Christian Thaeter
15bab21da8 Merged the timestuff removal, done by simeon
(cherry picked from commit bc5a301d01ac323bafcc434e33f6043678749f14)
2008-04-12 01:12:18 +02:00
97821a0fa2 Design: clarified various details regarding Track handling 2008-04-11 06:24:27 +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
0b5b9b593e DefsManagerImpl_test now running 2008-04-08 03:21:24 +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
b86a8605e7 now complete and passing the compiler 2008-04-07 03:19:24 +02:00
3ed3813be3 WIP work out how some special cases of config queries can be handled.
Including some tricky recursive calls. Even if this is currently a mock implementation it helps me find out
how the real implementation (in Prolog) could handle these cases.
Doesnt pass the compiler yet (some stubs missing)
2008-04-06 20:11:34 +02:00
b53d8655fd yet another helper function: remove matching term from query string 2008-04-06 08:56:18 +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
2b529e3fac customized smart-ptr based on std::shared_ptr
hopefully resolves long standing problems with odering and type relations
of objects handled via smart ptr
2008-04-05 05:57:54 +02:00
162976a4cf WIP reorganize the ordering relation on assets
(should simplify handling of comparisons at various places)
2008-04-03 03:50:28 +02:00
3d2791b91e WIP some fixes; add test for a utility function 2008-04-02 04:06:08 +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
dc10c78a83 merge Lumiera renaming 2008-03-10 09:28:58 +01: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
fbacb4cdb1 Lumiera renaming -- build system 2008-03-10 05:07:21 +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
919a57ed9a doc comment fix 2008-02-22 04:58:37 +01:00
c4d8c8ffdc merge scons (small improvement) 2008-02-18 04:28:54 +01:00
ea0416881e WIP towards a asset::Struct naming scheme 2008-02-18 04:16:53 +01:00
34b14a226e defer creation of the empty default sesison,
avoids running complex code in static initialisation
2008-02-16 02:47:01 +01:00
113678ff93 some refacturing of the (preliminary) struct asset impl... 2008-02-15 02:56:25 +01:00
71c7bd6a82 don't build testsuite for default target 'build'
> (use 'scons testcode' or 'scons check' for this)
2008-02-14 16:14:12 +01:00
93abddaa57 Merge cumulated changes to the SCONS build system 2008-02-14 15:57:24 +01:00
7884a69eb1 this will become a branch tracking the scons build system in isolation 2008-02-14 15:21:34 +01:00
6346723069 Rename 'Port' to 'Pipe' II: source code 2008-02-14 04:12:30 +01:00
c77e245f54 make the MockConfigQuery reentrant.
Basic asset::Struct factory now running (utilizing the MockConfigQuery).
basicporttest.cpp not yet running, but get some lines ahead :-P
2008-02-13 04:41:58 +01:00
d33242b8cb filled in lots of daunting details regarding structural assets.
StructFactury still very preliminary. Now able to fill the table with mock queries.
TODO: fix assertion failure...
2008-02-10 17:23:16 +01:00
531d432f02 continue with the mock impl for ConfigRules.
probably using a table of pre stored boost::any records
2008-02-06 05:34:19 +01:00
0d50639d70 Fix problem with static initialisation order 2008-02-02 14:52:23 +01:00
edbf5fd733 ConfigRules dependency problems solved by using the new SingletonSubclassFactory 2008-02-01 15:35:33 +01:00
e2ee8f081b augment the singleton factory to create a subclass.
Helps avoiding dependency problems, because client code is no longer coupled to the implementation class
2008-02-01 03:48:09 +01:00
250954bb5f oops... causes the exception type to be upcasted (from Fatal to Error) 2008-02-01 03:38:29 +01:00
706589d422 WIP yet more stubs to make it link... 2008-01-29 05:39:32 +01:00
1614769664 WIP start implementing the DefaultsManager by the (Mock)ConfigRules.
pass compiler, but loooots of undefined linker refs....
2008-01-28 06:05:46 +01:00
000538f6ef add stubs to make it link, add some typelist utils 2008-01-27 23:40:45 +01:00
c3b1048fc4 merge buildsystem improvements 2008-01-27 03:58:24 +01:00
43f8faabd1 small cleanup 2008-01-27 03:11:39 +01:00
1dd9989516 some tweeks to the (scons) build system, using precompiled header 2008-01-27 02:39:13 +01:00
398bed8d72 WIP some more details on the (planned) Prolog interface --
basically I know enough to provide a mock implementation now.
Compiles OK but fails to link because of missing StructFactory implementation
2008-01-21 02:57:09 +01:00
b0be36c8fb early draft how the Prolog interface /could/ be...
(need to draft it in order to provide a mock implementation)
2008-01-19 14:24:24 +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
9e6459cc47 new visitor implementation now ready for use 2008-01-05 19:42:43 +01:00
8fe1a901ba use typelists to declare to visit a collection of types 2008-01-05 18:54:10 +01:00
bf93301211 add an type-list facility inspired by Loki 2008-01-05 17:23:38 +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
2bd931b6da WIP replaced former implementation with my new visitor concept.
The former implementation was more closely based on Loki's Acyclic Visitor. Swapped in the working new
concept and adapted the policies and tests. Doesn't compile yet
2008-01-04 15:10:18 +01:00
809301a60e proof-of-concept visitor implementation now working 2008-01-04 01:44:40 +01:00
46b200809e WIP desperately trying to work out a really usable visitor implementation 2007-12-22 08:45:09 +01:00
b61b34af81 design considerations, how to organize the EDL as far as placing and building is concerned 2007-11-30 05:06:27 +01:00
89c9d2f3df covered the more esoteric cases for visiting tools and made BuilderTool work 2007-11-29 07:07:14 +01:00
78a4bf8e6b introcuded a catch-all hook when applying visiting tools to a hierarchy 2007-11-28 04:19:21 +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
47eeaaaf43 Merge from branch 'ichthyo/builder': Basic Placement handling, create Clip
Merge branch 'builder'
2007-11-27 00:55:25 +01:00
7aca8cdf86 fix test-references 2007-11-27 00:52:26 +01:00
4593c0c6ff bring along changes from Cehteh and Velmont
Merge commit 'pipapo/master'
2007-11-26 23:28:25 +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
5dcb9cf343 WIP implemented basic asset dependencies,
> todo: actually setup dependencies in the various ctors, fix the broken test!
2007-11-19 04:58:18 +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
ce51909ef7 WIP reworked approach for clip-to-clipAsset relation.
(compiler errors spotted a design problem)
2007-11-13 03:37:58 +01:00
89e4fa9db7 WIP getting the placement part through the compiler,
still having to solve problems with the asset-to-MObject relation
2007-11-12 02:05:39 +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
38236e607d some further cleanup 2007-11-10 21:50:55 +01:00
242640c4fd some fixes 2007-11-10 02:27:16 +01:00
c58fd16edb WIP implement some Placement implementation 2007-10-22 05:15:08 +02:00
Christian Thaeter
4af35786d7 Merge branch 'velmont' of git://git.pipapo.org/cinelerra3/mob 2007-10-20 18:21:14 +02:00
Odin Omdal Hørthe
c2f5665e56 More doxygen documenting in src/lib/. Some name fixes, some new docs. 2007-10-20 18:10:35 +02:00
Odin Omdal Hørthe
9952aa33a4 Updated function docs to use the actual variables and cut textwidth at 105 2007-10-20 17:50:42 +02:00
Odin Omdal Hørthe
8afd4e1b8d Documented cinelerra_plugin_lookup in plugin.c 2007-10-20 17:38:03 +02:00
Odin Omdal Hørthe
74a7bf4493 Made a @file-skeleton for doxygen for the files in src/lib/ 2007-10-20 17:27:27 +02:00
Odin Omdal Hørthe
d9c9b4e15e Moved function doc from rwlock.h to rwlock.c 2007-10-20 17:08:12 +02:00
Odin Omdal Hørthe
e628110d45 Moved function doc from plugin.h to plugin.c 2007-10-20 17:03:59 +02:00
Christian Thaeter
b67af669ee removed check for list=!NULL which barfs on gcc 4.2 2007-10-20 17:00:53 +02:00
Odin Omdal Hørthe
9bf36e1eb4 Moved function doc from mutex.h to mutex.c 2007-10-20 16:57:39 +02:00
Odin Omdal Hørthe
6eea8a60e0 Moved function doc from error.h to error.c 2007-10-20 16:52:59 +02:00
Odin Omdal Hørthe
4b406b2a99 Moved function doc from condition.h to condition.c 2007-10-20 16:31:24 +02:00
dee1bab28b WIP implement the missing create-Clip-from-Asset mechanics 2007-10-19 22:34:07 +02:00
d7e7d3d613 WIP implementing Placement and MObject factory functions 2007-10-19 06:39:52 +02:00
a089e5ff15 WIP maybe nailed down the design problem regarding placements now.... 2007-10-18 17:29:01 +02: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
0ad1a295b5 Merge from Builder-Branch: Assets (cont...), current Session,
proposed interface to backend for querying channel infos

Merge branch 'builder'
2007-09-28 14:06:07 +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
38b47b7f93 proposal for the MediaAccessFacade (interface to bakend), incl. Mock test 2007-09-24 16:20:41 +02:00
1d462845dd oops... class TargetObject defined twice 2007-09-24 02:35:12 +02:00
eef591f873 WIP injecting a test-mock instead of a singleton 2007-09-23 16:50:05 +02:00
7585c5c358 WIP reorganize singleton factory 2007-09-23 13:31:33 +02:00
02b1926840 WIP: start implementing the new entities 2007-09-22 16:44:50 +02:00
cc3d3397a7 documented the new design in more detail 2007-09-22 16:00:36 +02:00
22b33a0d58 merge basic Assetmanager (builder branch)
Merge branch 'builder'
2007-09-20 03:48:55 +02:00
Christian Thaeter
9bccc7b29e Merge branch 'master' of git://git.pipapo.org/cinelerra3/ichthyo into library 2007-09-19 09:39:16 +02:00
Christian Thaeter
d5fe116941 add 'references' to lib 2007-09-19 08:44:58 +02:00
Christian Thaeter
ba716dbda4 better smart references, still raw meat 2007-09-19 07:01:12 +02:00
Christian Thaeter
96b9f65e6f some unmmerged changes? 2007-09-19 06:58:54 +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
c81ef3bb3c Merge branch 'builder' 2007-09-18 05:24:22 +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
5da016aa5a WIP integration of Asset types and AssetManager 2007-09-16 03:02:05 +02:00
c746629312 util for sanitizing a string, making it usable as identifier 2007-09-14 19:18:11 +02:00
Christian Thaeter
aa60abd55e Merge branch 'master' into library 2007-09-14 03:45:19 +02:00
Christian Thaeter
38ce0afec4 smartref.h WIP 2007-09-13 20:24:18 +02:00
2a8503fe5a merge builder-branch, basic AssetManager implementation
Merge branch 'builder'
2007-09-12 07:16:26 +02:00
0950616b21 sync with new backend code
Merge commit 'pipapo/library'
2007-09-12 07:15:20 +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
45ed4b4264 extracted Singleton pattern into a separate Template.
I prefer this approach, so I can ignore threadsafety for the moment and add it later just by switching policy
2007-09-06 22:13:26 +02:00
Christian Thaeter
2aaad10bbd fixed typos and added some basic tests for the llist.h 2007-09-05 07:07:52 +02:00
Christian Thaeter
3ce5d3cedd revived, beefed up and documented a old linked list implementation, UNTESTED 2007-09-05 02:44:23 +02:00
737da9c868 continued wishful thinking in Test form 2007-09-04 05:09:08 +02:00
Christian Thaeter
3dcd7c625a Merge branch 'library' 2007-09-03 18:31:07 +02:00
Christian Thaeter
f1aba12af8 renamed *lock to *acquirer 2007-09-03 06:40:44 +02:00
Christian Thaeter
d508f7cb7a rwlock first implementation 2007-09-03 06:35:13 +02:00
Christian Thaeter
04f9424ad8 forgotten to commit the Makefile.am with the last commit 2007-09-02 23:25:38 +02:00
d7d3cfe876 Sync with cehteh's code
Merge commit 'd50ab9fe2125f985eb4ae9a610f4944cddc425bd'
2007-09-02 23:19:56 +02:00
2e390f1b05 initial code generation/formatting for Asset subsystem 2007-09-02 18:48:22 +02:00
Christian Thaeter
0a31c7d2db mutex implementation 2007-09-02 17:52:30 +02:00
Christian Thaeter
d50ab9fe21 cosmetic fixes 2007-09-02 17:51:55 +02:00
Christian Thaeter
7445c1798d generic locking.h for shared declarations 2007-09-02 16:19:50 +02:00
Christian Thaeter
0d1097315c renamed locking.* to condition.* 2007-09-02 13:56:33 +02:00
Christian Thaeter
754b9cc24e C wraper for condition variables 2007-09-02 00:52:40 +02:00
c0dcccebd9 Factory impl now complete (hopfully).
Added Tests/Examples for the more advanced use cases
* using custom allocation (e.g. C-style malloc)
* using placement new
* creating Objects via private ctor
* example for the 'PImpl' pattern
2007-08-31 20:32:26 +02:00
b1ea774ef1 removed all custom allocator / deleter stuff (it's the wrong aproach) 2007-08-31 16:53:23 +02:00
b11ac46b76 added possibility to pass a custom deleter function down to shared_ptr.
Note: actually all of this seems against the spirit of C++ (and OO in general). This is a do-it-yourself aproach
which adds far to much complexity (accidental, not fundamental complexity). So I checked it in for the record,
but will abandon this aproach and rely on overloading of operator new / delete if necessary (and when we really need it)
2007-08-31 16:25:04 +02:00
2b0ea4650b reworked factory to get better separation of concerns. But custom allocation can't be done as I intended 2007-08-31 14:57:49 +02:00
Christian Thaeter
194d7810f4 add a cinelerra error which can be used to forward standard C errors from errno 2007-08-31 01:21:44 +02:00
Christian Thaeter
5832cfeae2 Merge branch 'master' of git://git.pipapo.org/cinelerra3/ichthyo 2007-08-30 01:42:06 +02:00
Christian Thaeter
98d3716fcb Merge branch 'library' 2007-08-30 00:33:38 +02:00
Christian Thaeter
e438ad6e8f add documentation and error handling to framerate functions 2007-08-29 17:41:10 +02:00
307945b629 wrote test: object smart pointer creation factory 2007-08-29 05:03:21 +02:00
Christian Thaeter
e41059497f refined and corrected framerate caclulation 2007-08-28 19:28:41 +02:00
d54b600382 implemented C++ error handling system 2007-08-26 19:14:39 +02:00
Christian Thaeter
c2898d26f2 put framerate caclulation in a single file 2007-08-25 03:46:07 +02:00
fee63d8f06 added C++ plugin to SCons build; added test for common/appconfig.hpp 2007-08-25 02:07:04 +02:00
8c7a2055e8 integrate Doxygen into SCons build. some doc fixes 2007-08-24 16:41:16 +02:00
Christian Thaeter
2976b2ab29 time handling ok so far 2007-08-24 06:02:29 +02:00
6d9ce217bd played a bit with doxygen and tried some small tweeks... 2007-08-24 02:58:13 +02:00
5575a7679d wrapper for cmdline parsing, finished testsuite-runner, solved shutdown-memoryleak 2007-08-23 17:52:33 +02:00
Christian Thaeter
bf32b80521 added error handling, removed timebase from framerate 2007-08-23 11:15:01 +02:00
Christian Thaeter
1b85206c85 time.h for initial! review 2007-08-23 06:57:08 +02:00
Christian Thaeter
e2ffd09f4b doxycomment errorhandling, small macro improvement 2007-08-23 05:30:29 +02:00
cb13b09360 WIP: started augmenting my test-runner class to be configurable via cmdline
Added dependency to boost::program_options. Still trying to get into pace with the testing thing ;-)
2007-08-19 21:57:19 +02:00
Christian Thaeter
0283653026 Merge branch 'master' of git://git.pipapo.org/cinelerra3/ichthyo
Conflicts:

	tests/plugin/Makefile.am
	tests/plugin/plugin_main.c
2007-08-18 05:41:10 +02:00
Christian Thaeter
9507fae565 reverted CINELERRA_DIE(msg) to CINELERRA_DIE 2007-08-18 05:12:14 +02:00
Christian Thaeter
db4ee5b8ad plugin fixes 2007-08-18 05:05:38 +02:00
Christian Thaeter
7627271ce3 convinience macro CINELERRA_ERROR_SET(flag, err) 2007-08-18 05:05:11 +02:00
06efcf0f77 merge together work done for the Testsuite.
- to make it similar to Cehteh's tests, moved my testcode to tests/components
- made scons build the errortest and plugin-example as well
- scons check will run the suite

please note, my implementation work is quite incomplete (warnings, app shuttdown
not yet implemented); I hadn't success running the plugintest.
2007-08-17 11:06:49 +02:00
5bde4020cf merged cehteh's work for the testsuite, automake and plugins 2007-08-17 05:52:48 +02:00
db1a35ca94 augmented (static) App initialsation, reorganized NoBug includes... 2007-08-17 00:36:07 +02:00
358b9050e9 static Application init, NoBug integration, started a basic Exception hierarchy. 2007-08-14 08:14:21 +02:00
Christian Thaeter
e07dc59e78 use new errorhandling scheme 2007-08-14 04:56:55 +02:00
Christian Thaeter
d36a38a56e errorhandling finished for now, as proposed 2007-08-14 04:40:13 +02:00
Christian Thaeter
441e192c81 Merge branch 'master' into errorhandling 2007-08-14 04:02:54 +02:00
45c2167700 wrote a very simple Test-Suite runner and provided a Tests source tree 2007-08-13 09:55:32 +02:00
Christian Thaeter
60c033a102 Merge branch 'master' into automake 2007-08-12 04:15:25 +02:00
Christian Thaeter
aaaa31b58f Merge branch 'master' into errorhandling 2007-08-12 04:12:57 +02:00
8f35701ca8 initial design for a factory encapsulating creation of smart-pointers 2007-08-12 01:04:55 +02:00
91bddede45 better organization of global imports and namespaces
avoid spurious quasi-global namespace cinelerra and use namespace hierarchies only where necessary.
document my intended use of namespaces/interfaces in the renderengine-wiki.
2007-08-09 18:51:47 +02:00
ebb4da6cc7 ** Start Coding ** Renderengine sources generated, reformatted and made compilable. 2007-08-08 04:50:02 +02:00
8cf5532da1 bring along cumulated model changes from my prototype work last month 2007-08-04 19:15:33 +02:00
Christian Thaeter
fdb691398d compiles example, segfaults by intention (disabled error handling, no plugin yet) 2007-07-19 06:15:55 +02:00
Christian Thaeter
5946d6961d some small fixes to make it compile (first try) 2007-07-19 05:49:02 +02:00
Christian Thaeter
e1a072a6d3 config update, small problem with NoBug which shows a warning when valgrind is enabled, dont use valgrind support until this is fixed 2007-07-19 05:48:23 +02:00
Christian Thaeter
471148b7db basic automake setup 2007-07-19 05:10:14 +02:00
Christian Thaeter
af7bfd6fa7 just a scratch 2007-07-19 04:31:06 +02:00
Christian Thaeter
4fe6cd6f8b Merge commit 'ichthyo/scons' 2007-07-18 00:13:32 +02:00
Christian Thaeter
ba4a14e183 added a temporary CINELERRA_DIE macro here, all allocation failures are now a CINELERRA_DIE 2007-07-17 16:06:00 +02:00
Christian Thaeter
9d0a2af8c6 plugin lookup 2007-07-17 04:40:07 +02:00
Christian Thaeter
7d669d9abf add error handling to existing functions 2007-07-15 20:06:20 +02:00
Christian Thaeter
6e9e34caa3 implemented error functions 2007-07-15 17:46:23 +02:00
Christian Thaeter
260e7c0276 license headers 2007-07-15 17:08:45 +02:00
Christian Thaeter
b083e8918c preparation for next things, TLD, locking, errors... 2007-07-15 16:56:21 +02:00
Christian Thaeter
a06edceb2c little docing and 3 error messages so far 2007-07-15 02:46:44 +02:00
Christian Thaeter
a313ea87a5 Work in progress, just for review 2007-07-15 02:23:37 +02:00
Christian Thaeter
05721f504e add few DIR_INFO's in src 2007-07-14 21:28:47 +02:00
0a9c2599dd some cleanup. Set Version=3+alpha.01, add a helloworld-main to make it compile 2007-07-03 00:13:12 +02:00
c79d3c906a implemented additional functions like creating a tarball 2007-07-02 23:11:49 +02:00
7719c710ae finished basic implementation of SCons build system 2007-07-02 23:10:26 +02:00
Christian Thaeter
74b8f74f3c add dirs with DIR_INFO files describing intended content 2007-06-18 02:02:16 +02:00