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