Commit graph

721 commits

Author SHA1 Message Date
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