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