b6a3139b66
define logic for running several dependent subsystems in parallel
2008-12-15 13:36:40 +01:00
cc871fcaec
comments, typos....
2008-12-15 13:36:40 +01:00
df85f2a5d9
pull up the config system in pre-init phase
2008-12-15 13:33:06 +01:00
fa9b23115c
move init plugin/interface system and global init to AppState::init()
2008-12-15 13:33:05 +01:00
3518235b57
Stub implementation of the various subsystem facades
2008-12-15 13:33:05 +01:00
2dd90e4fad
Subsystem descriptor skeleton
2008-12-15 13:33:05 +01:00
010b0d99ff
AppState implementation skeleton
2008-12-15 13:33:05 +01:00
14c1ebceb7
second try for drafting main
2008-12-15 13:33:05 +01:00
3693a5fa3d
draft outline for main()
2008-12-15 13:33:05 +01:00
98b3fcbad8
missing implementation
2008-12-15 13:33:05 +01:00
98005b10ae
factor out placeholder for a (planned) Symbol datatype
2008-12-15 13:33:05 +01:00
b14d711146
refactor Appconfig, split off lifecycle interface
2008-12-15 13:33:05 +01:00
9e0e79c55c
comments for logging config
2008-12-15 13:33:04 +01:00
3f6f1218fc
some typos
2008-12-15 13:33:04 +01:00
c567c57a58
reorganise NoBug global definitions and startup
2008-12-15 13:33:04 +01:00
2b5affa8b3
Appconfig doesn't provide Config functionality any longer.
...
This role of the Appconfig class is superseeded by the Config subsystem...
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
Christian Thaeter
6169ccaf08
refine the initialization order
...
* introduce a lumiera_preinit() which does some dirty startup work
* lumiera_init() and lumiera_shutdown() will do the desired
DesignProcess/GlobalInitilaization
* as example, initialize the config interface there
2008-12-15 13:33:04 +01:00
Christian Thaeter
d91c4ee326
build a 'liblumieracore' instead many small libs
...
This makes some cross dependency things easier, later on the parts which
get included there might be configured and selected with conditionals.
2008-12-15 13:33:04 +01:00
Christian Thaeter
aa92eab301
Provide prelimary config interface declaration and implementation
...
This exports the 'configuration' system as interface. It is not finally
settled if the filenames shall be *_interface.{c,h} and some details might
be sorted out (so far it works quite well).
This can also serve as example how to implement a slightly more complex
interface (some functions got inline wraped because we dont want to export
internal config system state).
2008-12-15 13:33:03 +01:00
Christian Thaeter
085f3ec5a7
a upper limit of 16 iterations was not enough in ppmpl,
...
lets see how long 64 suffices
2008-12-15 13:33:03 +01:00
Christian Thaeter
52a4f7743a
Passing an interface handle to plugins
...
Plugins which in turn want to open other interfaces need some way to
access the interfaces system itself. This is realized with a 'interface'
implementing the interface api and passed to the plugins initialization
routine.
A plugin which wishes to open other interfaces must
safe this in a local variable defined by LUMIERA_PLUGIN_INTERFACEHANDLE
with the LUMIERA_PLUGIN_STORE_INTERFACEHANDLE macro.
The LUMIERA_INTERFACE_OPEN and LUMIERA_INTERFACE_CLOSE macros change their
definition depending on compiled as buildin or plugin to account for that.
2008-12-15 13:33:03 +01:00
Christian Thaeter
f5da688c48
some more bits towards a lumiera main
2008-12-15 13:33:03 +01:00
Christian Thaeter
37f56a670e
Now converting the tests ..and some missing things
...
* fixed include paths
* lots of build system fixes
* initialization, shutdown, state and nobug flags are factored out into
a liblumierainit.a to simplify test builds
2008-12-15 13:33:03 +01:00
Christian Thaeter
52a9c7fb27
lumiera is alive...
...
This starts the proposed changes in
http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/ApplicationStructure
* Moving all necessary files from src/backend to src/lumiera
* create a small helloworld main app
* setup the buildsystem to build it all
* fix include paths at many places
The testsuite is not yet fixed here, that will be the next commit
2008-12-15 13:33:03 +01:00
Christian Thaeter
865398e59c
cosmetics
2008-12-15 01:17:23 +01:00
Christian Thaeter
369c644ab4
Basic resourcecollector implementation
...
Lets one register callback functions which to incrementally cleanup unused
resources.
2008-12-15 01:17:23 +01:00
Christian Thaeter
eba465998c
add some trace points to mmpcache
2008-12-15 01:17:23 +01:00
Christian Thaeter
db202e298e
mmap updates/refactoring
2008-12-15 01:17:23 +01:00
Christian Thaeter
9f497cdaa3
lumiera_file_chunksize_get() function
2008-12-15 01:17:23 +01:00
Christian Thaeter
430ec0bf8b
Fixed file initialization semantic (don't leak memory on error)
2008-12-15 01:17:23 +01:00
Christian Thaeter
80359fb155
documentation and nobug improvement for mrucache
2008-12-15 01:17:23 +01:00
Christian Thaeter
a5119f8947
cosmetics and documentation in file.h, remove lumiera_file_descriptor()
2008-12-15 01:17:23 +01:00
Christian Thaeter
bb74bfbc22
fixup handle_acquire/_release for file and filedescriptor
2008-12-15 01:17:22 +01:00
Christian Thaeter
c2e2a0e525
some pending cosmetics, comments and checks
2008-12-15 01:17:22 +01:00
Christian Thaeter
da7fd1242b
move the mmapings nobug flag to backend.c
2008-12-15 01:17:22 +01:00
Christian Thaeter
408528d1e2
factor file-mmap chunksize setting out into its own function
2008-12-15 01:17:22 +01:00
Christian Thaeter
9d0985feb7
remove the refcounter from filedescriptor and use a list to attach files
2008-12-15 01:17:22 +01:00
Christian Thaeter
e953c3003b
Refactored filehandle/filehandlecache to use a normal init function
2008-12-15 01:17:22 +01:00
Christian Thaeter
e9cca69fb1
More things for the filedescriptor destructor
...
* truncate the file to its realsize
* destroy its mmapings
2008-12-15 01:17:21 +01:00
Christian Thaeter
a0cff36066
some smaller fixes in filedescriptor
...
* change mode for created files to 0666 (TODO: from config)
* some members where not properly initialized yet
* docing fixes
2008-12-15 01:17:21 +01:00
Christian Thaeter
208f7e2d76
Refactored filehandle acquisition to filehandle.c (duh!)
...
some old ad-hoc code slipped in which did that in file.c
2008-12-15 01:17:21 +01:00
Christian Thaeter
c88a2ffa1e
move mmapcache and filehandle nobug flags into backend.c
2008-12-15 01:17:21 +01:00
Christian Thaeter
219db59d82
renamed backend config entries
...
adding one level more, more descriptive
2008-12-15 01:17:21 +01:00
Christian Thaeter
5bbe80b370
preliminary use of the config system for some settings
...
* backend.filehandles maximum filehandles used
* backend.mmap_window_size mapping window start size
* backend.as_limit address space limit
This needs to be changed to use the lumieraorg_configuration interface.
2008-12-15 01:17:21 +01:00
Christian Thaeter
2a0b5dca5e
Fix: mutex initialization, remove explicit RESOURCE_HANDLES
...
The new mutex has an implicit resource handle
2008-12-15 01:17:21 +01:00
Christian Thaeter
e938b36071
WIP: mmap management first go
...
Quite some code which was hold back in favor of the config and plugin stuff
implements:
* mmapcache: mru cache for unused memory mappings
* mmap: single mmaped areas
* mmapings: manages mmaps established for one filedescriptor
2008-12-15 01:17:21 +01:00
Simeon Voelkel
8c2b98a2e1
re-indented and moved static functions to fit Lumiera's coding standard
2008-12-15 01:17:20 +01:00
Simeon Voelkel
f89708e117
split lumiera_configitem_parse into several smaller static functions
2008-12-15 01:17:20 +01:00
eb14eaa376
temporary fix to make it compile on Etch
2008-12-15 01:08:30 +01:00
Joel Holdsworth
6cbd4282c1
Restructured model track tree, and improved child access
2008-12-13 16:58:41 +00:00
Joel Holdsworth
efa4847a61
Added to_list method for read only STL list access to the
...
observable_list
2008-12-13 16:56:02 +00:00
Joel Holdsworth
fdb75fdd2a
Corrected some problems that emerged on the build server
2008-12-13 13:57:19 +00:00
Joel Holdsworth
d61daa0b2f
Misc tidy-ups
2008-12-10 18:09:01 +00:00
Joel Holdsworth
7c1046e162
Unified Sequence and Track together as TrackBase
2008-12-10 18:04:02 +00:00
Joel Holdsworth
5eb43b7c18
Tidied observable-list.hpp somewhat
2008-12-10 17:28:50 +00:00
Joel Holdsworth
22f425a25c
Added some documentation to timeline-widget.hpp
2008-12-10 17:22:49 +00:00
Joel Holdsworth
fa16c5f137
Updated sequence test code
2008-12-10 16:54:43 +00:00
Joel Holdsworth
528d02931a
Converted timeline::Track* to boost::shared_ptr<timeline::Track>
2008-12-08 22:30:54 +00:00
Joel Holdsworth
48dd2055f5
Converted model::Project to use observable_list
2008-12-06 23:48:45 +00:00
Joel Holdsworth
bbc55e6324
Added the definition of an observable_list class
2008-12-06 23:46:01 +00:00
Joel Holdsworth
0799a4d297
Fixed problems when the notebook is empty
2008-12-06 20:05:14 +00:00
Joel Holdsworth
b27545e105
Corrected a header layout problem when adding the first timeline widget
...
to the Notebook
2008-12-06 19:58:43 +00:00
Joel Holdsworth
b8e5900067
Corrected a bug in create_timeline_tracks_from_branch
2008-12-06 19:26:46 +00:00
Joel Holdsworth
2ebd768d88
Corrected some indentation
2008-12-06 19:12:18 +00:00
Joel Holdsworth
aa9048fa68
Added more STL slickness
2008-12-06 18:15:08 +00:00
Joel Holdsworth
418bd87419
Made use of util::contains to reduce the volume of boilerplate
2008-12-06 14:52:59 +00:00
Joel Holdsworth
619c5b0769
Corrected an ENSURE condition
2008-12-06 14:48:52 +00:00
Joel Holdsworth
b2ffa116f5
Modified MAX to play nice with GLib's MAX
2008-12-06 14:47:00 +00:00
Joel Holdsworth
d75261ea23
Corrected some REQUIRE(model_track != NULL) to REQUIRE(model_track)
2008-12-06 14:36:29 +00:00
Joel Holdsworth
19c97fd52a
Replaced model::Track* with boost::shared_ptr<Track>
2008-12-06 14:08:03 +00:00
Joel Holdsworth
f54595b17e
Replace TimelineWidget* with shared_ptr<TimelineWidget>
2008-12-05 20:27:15 +00:00
Joel Holdsworth
da3d14da72
Replaced Sequence* with boost::shared_ptr<Sequence>
2008-12-05 20:17:56 +00:00
Joel Holdsworth
e3e639a2db
Corrected "New Track" to "New Sequence"
2008-12-05 18:39:23 +00:00
Joel Holdsworth
e1f752f55d
Tidied up create_timeline_tracks
2008-11-29 17:02:27 +00:00
Joel Holdsworth
7a86c08ec8
Added some documentation
2008-11-29 16:40:50 +00:00
Joel Holdsworth
ed37bed4c6
Fixed a memory leak
2008-11-29 16:33:24 +00:00
Joel Holdsworth
0ef3917553
Added an error condition for unknown track types
2008-11-29 16:30:45 +00:00
Joel Holdsworth
4f4234b62c
Made the timeline view model driven
2008-11-29 16:13:58 +00:00
Joel Holdsworth
d74a9e687f
Tidied up trailing backslashes
2008-11-25 22:16:37 +00:00
Joel Holdsworth
14df5bbb8d
Created a model for tracks
2008-11-25 22:11:58 +00:00
Joel Holdsworth
cf4898e70f
Removed a spurious timeline::
2008-11-25 21:44:33 +00:00
Joel Holdsworth
4470baf8f5
Renamed some timeline widget helper class files to avoid file name
...
collisions with the Model
2008-11-25 21:31:45 +00:00
Joel Holdsworth
b9d62c9be9
Removed spurious timeline:: in group-track
2008-11-25 21:19:30 +00:00
Joel Holdsworth
25dc64575e
Corrected some mistakes in clip-track documentation
2008-11-25 21:12:56 +00:00
Joel Holdsworth
c58bc861ff
Made some corrections in the documentation
2008-11-25 21:00:12 +00:00
Joel Holdsworth
164fff2359
Ditched some test code
2008-11-24 23:02:13 +00:00
Joel Holdsworth
16c48f69c4
Implemented a sequence name chooser dialog
2008-11-24 22:16:51 +00:00
Joel Holdsworth
a9ee81b57f
Added documentation to dialog.hpp
2008-11-24 21:43:34 +00:00
Joel Holdsworth
f2f41ee99b
Correct RENDER_H -> RENDER_HPP
2008-11-24 21:39:47 +00:00
Joel Holdsworth
f8fb24ff62
Added dialog.hpp for global layout constants
2008-11-24 21:37:46 +00:00
Joel Holdsworth
7ae08aa608
Corrected some mistakes in old dialog headers
2008-11-24 17:38:26 +00:00
Joel Holdsworth
37123f84b6
Corrected some indentation
2008-11-24 17:12:47 +00:00
Joel Holdsworth
3d35f2e535
Added add/remove of sequences
2008-11-22 19:08:12 +00:00
Joel Holdsworth
952d7b5599
Added some refinement to the notebook
2008-11-22 16:43:24 +00:00
Joel Holdsworth
9d11081ff7
Added sequences, and tabs in the timeline view to display them
2008-11-22 16:34:49 +00:00
Joel Holdsworth
10d256f833
Added dummy clip boxes
2008-11-22 13:36:46 +00:00
Joel Holdsworth
34e67cd01e
Made TrackPadding insert between tracks, rather than shortening tracks
2008-11-22 12:33:58 +00:00
Joel Holdsworth
f0ab871cb3
The other half of the previous commit
2008-11-19 22:56:46 +00:00
Joel Holdsworth
aed6b09572
Refactored timeline view window code into a helper, and added dummy
...
track drawing code
2008-11-19 22:42:38 +00:00
Joel Holdsworth
b3aac4bc90
Changed the bounding box for the expander button
2008-11-19 18:07:10 +00:00
Joel Holdsworth
7dfbd0e848
Fixed a comment
2008-11-19 17:49:06 +00:00
Joel Holdsworth
5b9c4fa42d
Fixed a headers layout bug
2008-11-19 17:44:57 +00:00
Joel Holdsworth
b2fad8d9a5
Fixed the problem with Etch support for 16x16 icons
2008-11-18 22:06:31 +00:00
Joel Holdsworth
7b52ff247e
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
2008-11-15 23:37:21 +00:00
Joel Holdsworth
bfc34f8b1c
Refactored Track to distinguish GroupTracks, and added expand/collapse
...
functionality
2008-11-15 23:36:22 +00:00
Joel Holdsworth
6c50182db1
Added support for highlighting the hovering track
2008-11-15 15:17:26 +00:00
f13f851d77
error message when plugin.c is built without defining the plugin search path
...
(and btw... thanks for the hint ;-)
2008-11-07 23:10:08 +01:00
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
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
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
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