Commit graph

1326 commits

Author SHA1 Message Date
Christian Thaeter
92271ba1c1 mpool: add an alloc_near() function which takes a explicit hint for locality 2009-06-04 18:11:44 +02:00
Christian Thaeter
0dc0d18703 mpool: ldiv() division bites the dust in favor of some bitops
before:
 1,747,160,336  PROGRAM TOTALS
after:
 1,371,806,087  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
9ed817df97 mpool: precalculate cluster size to avoid excess recalculations
Callgrind before:
 1,963,501,246  PROGRAM TOTALS
After:
 1,747,160,336  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
29a1a6a7a0 mpool: some pending cosmetics an trace points 2009-06-04 18:11:27 +02:00
Christian Thaeter
2a9d59ccd0 WIP: pooled allocator, initial version
* creating and allocating, freeing elements
 * live objects will be destructed when a mpool gets destroyed and a
   destructor was set up
2009-06-04 18:10:25 +02:00
Christian Thaeter
062dbfe82f Merge commit '99b5f8'
* commit '99b5f8':
  adapt the Sync template
  Add reccondition to threads, make its functionality complete
  fix some includes for new mutex/recmutex headers
  weed out reccondition bugs/typos
  New condition and reccondition implementation
  split mutex.h again into mutex.h and recmutex.h
  typo fix in mutex.h
  rename casing of RecMutex to Recmutex to be consistent
  store lumiera_rwlock in sectionlock
  store a lumiera_mutex in a sectionlock, looks cleaner
  add check to chained locking validating that the parent lock is held
  rwlock makeover, locksections etc...
  error code changed to LOCK_DESTROY
  fix: forgotten backcasts in mutex.h
  new mutex and recmutex implementation (breaks sync.hpp for now)
2009-06-03 20:20:41 +02:00
Christian Thaeter
8f2333a786 Merge commit '59de53b25a78cd330c0c6e0f637e8cf7618da4'
* commit '59de53b25a78cd330c0c6e0f637e8cf7618da4':
  llist: add an generic void* to the compare, sort and search functions
  let llist_init return the initialized node
2009-06-03 18:47:56 +02:00
99b5f8d44d adapt the Sync template 2009-06-03 18:22:11 +02:00
Christian Thaeter
dd9b7a174f Add reccondition to threads, make its functionality complete
With this the threads are now usable, despite still a mockup
implementation.

Some basic tests to show their use included.
2009-06-03 18:22:11 +02:00
Christian Thaeter
323724b623 fix some includes for new mutex/recmutex headers 2009-06-03 18:22:10 +02:00
Christian Thaeter
7758d76c7b weed out reccondition bugs/typos 2009-06-03 18:22:10 +02:00
Christian Thaeter
d91620a60f New condition and reccondition implementation
Should be working but not thoroughly tested still, docs not complete
2009-06-03 18:22:10 +02:00
Christian Thaeter
4f29f302b2 split mutex.h again into mutex.h and recmutex.h 2009-06-03 18:22:10 +02:00
Christian Thaeter
ec62ca073b typo fix in mutex.h 2009-06-03 18:22:09 +02:00
Christian Thaeter
30a117c1d8 rename casing of RecMutex to Recmutex to be consistent 2009-06-03 18:22:09 +02:00
Christian Thaeter
93abe657c8 store lumiera_rwlock in sectionlock 2009-06-03 18:22:09 +02:00
Christian Thaeter
5b82f3355b store a lumiera_mutex in a sectionlock, looks cleaner 2009-06-03 18:22:09 +02:00
Christian Thaeter
cafcffd4b1 add check to chained locking validating that the parent lock is held 2009-06-03 18:22:08 +02:00
Christian Thaeter
5c2ac96f35 rwlock makeover, locksections etc...
The CHAINED variant is not tested, what could go wrong anyways :)
2009-06-03 18:22:08 +02:00
Christian Thaeter
ca0250c018 error code changed to LOCK_DESTROY 2009-06-03 18:22:08 +02:00
Christian Thaeter
cf664ca970 fix: forgotten backcasts in mutex.h 2009-06-03 18:22:07 +02:00
Christian Thaeter
a115759128 new mutex and recmutex implementation (breaks sync.hpp for now)
prepares that chained sections if different kinds can be mixed
makes recmutexes typesafe
improves nobug tracking
2009-06-03 18:22:07 +02:00
Christian Thaeter
59de53b25a llist: add an generic void* to the compare, sort and search functions
This allows the user to pass some extra data along, which improves the
usefulness in certain cases.
2009-06-03 18:22:01 +02:00
Christian Thaeter
85b1297b4a let llist_init return the initialized node
This makes it possible to use the init without a temporary variable:
 llist_insert_next (llist_init (foo), llist_init (bar));
2009-06-03 18:19:56 +02:00
Anton Yakovlev
87e528bd58 Cyclic L1-list. Implements almost the same set of operations as for L2-list
(except those, which reverse enumeration of elements).
2009-06-03 18:12:35 +04:00
608c532df7 Fix: wrong wiring of subsystem descriptor for the Session 2009-06-02 03:32:48 +02:00
8a453bd52b WIP: start drafing MObjectRef 2009-06-02 03:31:52 +02:00
1f4676e7b6 cleanup old ID definiton now superseeded by hash-ID 2009-05-31 05:14:23 +02:00
d49eea6e5d finished reworking Placement (hierarchy and ID) 2009-05-31 05:02:03 +02:00
e8c25fca0a supply test definition 2009-05-31 02:41:00 +02:00
e0ad992f30 spinn-off: collecting some frequently used bits to support unit testing 2009-05-30 23:49:02 +02:00
20a1268683 recast the PlacementHierarchy_test to use the real Placement/MObject hierarchy 2009-05-29 23:13:56 +02:00
50a42e5104 extract dummy MObject hierarchy for unit tests 2009-05-29 22:12:12 +02:00
014b6c0b49 intend to use the time wrapper 2009-05-29 19:03:34 +02:00
940d63a9fa time wrapper minimal test coverage 2009-05-29 18:36:37 +02:00
dedb70aac9 @Joel: a simple convenience wrapper for gavl_time_t 2009-05-29 18:36:37 +02:00
efa7b4717c rework placement to contain a LUID, and to deal with inheritance according to the concept draft 2009-05-29 07:10:54 +02:00
003895b08d considering how to bring the new hash ID into Placement.
Which in turn is required for the Placement/MObject ref and the Placement index
2009-05-24 19:34:47 +02:00
85a9c99e52 hash ID: add trivial implementation + impl based on LUID 2009-05-24 05:14:11 +02:00
3b8a851722 add equality 2009-05-24 01:46:00 +02:00
2bb64a23fa augment test, rework access to the hashID, template on hash impl 2009-05-23 05:13:51 +02:00
e5d2042190 WIP rename and reorganise hash ID, now focussing on the Mixin 2009-05-23 03:43:39 +02:00
bac5da777b WIP document the concept of the hash ID, get rid of the uggly cast 2009-05-22 03:41:58 +02:00
020636b90a WIP extract the hash ID draft into separate header & test 2009-05-22 02:40:20 +02:00
0802d969cc WIP disentangle ID definition from target hierarchy by templating it on the base class 2009-05-22 02:15:58 +02:00
87362a4b0d WIP draft for a generic hash based and typed id, similar to asset::ID 2009-05-21 20:26:44 +02:00
35ebe966b5 add new kind of MObject (Binding) to express special scopes 2009-05-21 04:06:36 +02:00
cc66f2b0d0 preliminary placement index impl started.
Basically I need this simple framework to be able to write tests,
which enables me to flesh out the API, which in turn is a
prerequisite for defining the PlacementRef
2009-05-20 03:36:12 +02:00
cab776847d spelling and cleanup (to get it compiling) 2009-05-20 02:26:47 +02:00
7abada72fd a bit of API brainstorming 2009-05-13 03:46:08 +02:00
8f8831c8b3 planning index structure.. 2009-05-09 17:32:29 +02:00
9b3ca200e7 considering new facilities for referring to placements 2009-05-09 03:08:38 +02:00
0e4df5611a time wrapper minimal test coverage 2009-04-24 21:48:38 +02:00
3ae3e36f3f @Joel: a simple convenience wrapper for gavl_time_t 2009-04-24 21:48:38 +02:00
Joel Holdsworth
2fbf1930dc Merge branch 'ichthyo-proc' into gui 2009-04-20 16:18:17 +01:00
730d2c0233 Fix: we should include gdl headers in accordance to pkg-config
The pkg-config of GDL advises to include the GDL subdir,
which in turn contains a directory "gdl" with the headers.
This is fine, because it makes this name switch work
painless. Thus, please just #include <gdl/gdl-whatever.h>
2009-04-20 03:05:28 +02:00
Joel Holdsworth
5359f0df6c Added some placeholder actions 2009-04-18 22:31:38 +01:00
Joel Holdsworth
ebc6993a5f Tidied NameChooser 2009-04-17 11:15:06 +01:00
Joel Holdsworth
647ea9797e Bugfix: Fix window size being too thin 2009-04-16 18:33:27 +01:00
Joel Holdsworth
b6263971cf Added PanelBar border padding support 2009-04-16 18:28:49 +01:00
Joel Holdsworth
e753463802 Added PanelBar and ButtonBar RTL support 2009-04-16 17:58:28 +01:00
Joel Holdsworth
937f1f6298 Arrange PanelBar widgets with varying heights 2009-04-16 17:16:08 +01:00
Joel Holdsworth
3a6ac0425c Bugfix for negative PanelBar areas 2009-04-16 16:02:58 +01:00
Joel Holdsworth
8cd3d64679 Added custom layouts for better PanelBar overflow 2009-04-16 15:44:40 +01:00
Joel Holdsworth
5eed949e27 Bugfix: Panel popping out when shown because it's already visible 2009-04-16 10:08:35 +01:00
Joel Holdsworth
8baca7edc6 Made Panel more Gtk friendly 2009-04-16 10:03:51 +01:00
Joel Holdsworth
0fbfd169df Replaced shared_ptrs with normal pointers in PanelManager 2009-04-16 10:02:53 +01:00
Joel Holdsworth
303a6f2ce4 Modify Panel hiding for PanelManager compatibility 2009-04-15 20:12:06 +01:00
Joel Holdsworth
08fd135a98 Allowed show_panel to lift a panel to view if it's hidden 2009-04-15 18:27:07 +01:00
Joel Holdsworth
4165474900 Added show panel commands 2009-04-15 18:14:16 +01:00
Joel Holdsworth
12ecb634b6 Tidied PanelManager 2009-04-15 18:05:45 +01:00
Joel Holdsworth
a4fbcfec49 Added panel splitting 2009-04-15 12:24:34 +01:00
Joel Holdsworth
592d94fadb Updated switch_panel documentation 2009-04-15 11:13:27 +01:00
Joel Holdsworth
55176fb70f Fixed a bug in panel locking 2009-04-14 23:43:17 +01:00
Joel Holdsworth
1ce8a626eb Resolved some Gtk container warnings 2009-04-14 21:40:58 +01:00
Joel Holdsworth
8f201b76b7 Added Hide command 2009-04-14 19:39:58 +01:00
Joel Holdsworth
fbbebc9ab7 Documented PanelBar 2009-04-14 19:37:46 +01:00
Joel Holdsworth
a40642fd0e Tidied up some loose ends on panel switching 2009-04-13 16:50:42 +01:00
Joel Holdsworth
8b3b6a263f Fixed destruction bug 2009-04-13 16:42:58 +01:00
Joel Holdsworth
653f820c7e Improved switching implementation 2009-04-13 16:11:50 +01:00
Joel Holdsworth
53f987e63d Did some tidying 2009-04-13 12:45:14 +01:00
Joel Holdsworth
1814669301 Added nieve PanelManager::switch_panel 2009-04-06 23:08:51 +01:00
Joel Holdsworth
fb20cb5e07 Remove debugging code 2009-04-06 23:08:50 +01:00
Joel Holdsworth
fff605e6d8 Added the panel choice list 2009-04-06 23:08:50 +01:00
Joel Holdsworth
bb38e5fb76 Documented PanelManager 2009-04-06 23:08:50 +01:00
Joel Holdsworth
6151415029 Implemented initial PanelManager implementation 2009-04-06 23:08:50 +01:00
Joel Holdsworth
775ef6d809 Fixes for MenuButton including stay depressed while menu is shown 2009-04-06 23:04:33 +01:00
Joel Holdsworth
21da356818 Bugfix: TimelineState not being stored correctly 2009-03-28 20:21:07 +00:00
Joel Holdsworth
f90b575e16 Fixed rulers not being correctly updated 2009-03-28 19:25:58 +00:00
Joel Holdsworth
7693e36642 Add a 1 pixel border around PanelBar 2009-03-28 19:16:56 +00:00
Joel Holdsworth
390354ea8a Added support for no-state mode to TimelineWidget 2009-03-28 18:24:53 +00:00
Joel Holdsworth
7766a223eb Finished TimelineState work 2009-03-28 18:24:53 +00:00
Joel Holdsworth
2933deaa20 Bugfix: TimelineWidget is never thawed 2009-03-28 18:24:52 +00:00
Joel Holdsworth
16793fc2d4 Added show_all so that child widgets are shown 2009-03-28 18:24:52 +00:00
Joel Holdsworth
8e81f31a04 WIP: Added Sequence Chooser 2009-03-28 18:24:52 +00:00
Joel Holdsworth
890d24fe04 Add hide item to the menu 2009-03-23 22:23:41 +00:00
Joel Holdsworth
c47c08650d Put a window under the panel bar widgets to set the cursor to be an
arrow
2009-03-23 22:23:41 +00:00
Joel Holdsworth
ee50f55fa6 Moved panel handles into GDL 2009-03-23 22:23:41 +00:00
Joel Holdsworth
457a930f47 Added panel grip handles 2009-03-23 22:23:40 +00:00
Joel Holdsworth
46d30306cb Removed PanelBar::internal_setup - a redundant function 2009-03-23 22:23:40 +00:00
Joel Holdsworth
192a3dfae8 Tidied up and documented PanelBar 2009-03-23 22:23:40 +00:00
Joel Holdsworth
cb5c4a682e Remove redundant include 2009-03-23 22:23:40 +00:00
Joel Holdsworth
d42d1722be Documented and tidied menu-button.hpp 2009-03-23 22:23:40 +00:00
Joel Holdsworth
2a7cc40a19 Reinstated the time indicator 2009-03-23 22:23:40 +00:00
Joel Holdsworth
46a310ad8c Relocated Timeline Toolbar into the grip 2009-03-23 22:23:40 +00:00
Joel Holdsworth
6ce9aff38b Put ButtonBar into grip 2009-03-23 22:23:39 +00:00
Joel Holdsworth
0599428045 Added initial PanelBar implementation 2009-03-23 22:23:39 +00:00
Joel Holdsworth
d3d703e200 Modified ButtonBar::append to be universal for all widgets 2009-03-23 22:23:39 +00:00
Joel Holdsworth
3769719f7e Reworked MiniButton as a template class 2009-03-23 22:23:39 +00:00
Joel Holdsworth
babb46a4ad Improved ButtonBar documentation 2009-03-23 22:23:38 +00:00
Joel Holdsworth
d15264fd67 Added MiniButton::set_stock_id 2009-03-23 22:23:38 +00:00
Joel Holdsworth
94242b779a Added append with event to ButtonBar 2009-03-23 22:23:38 +00:00
Joel Holdsworth
2f2bb6b75a Added support for ButtonBar seperators 2009-03-23 22:23:38 +00:00
Joel Holdsworth
ec01a51302 Misc fixes, and added default icon size to MiniButton 2009-03-23 22:23:38 +00:00
Joel Holdsworth
2a66789773 Divorced ButtonBar from Toolbar 2009-03-23 22:23:38 +00:00
Joel Holdsworth
77022b3bcb Added initial ButtonBar implementation 2009-03-23 22:23:37 +00:00
Joel Holdsworth
249380fed0 Factored the state out of the timeline widget 2009-03-23 22:22:14 +00:00
Joel Holdsworth
caea5b9236 Implemented util::rects_overlap and documented util 2009-03-16 22:14:22 +00:00
Joel Holdsworth
6f7fa0613e Set titleMenuButton so that it can't be focussed 2009-03-14 09:19:31 +00:00
Joel Holdsworth
b4e4f6c4b7 Correction to a comment 2009-03-06 11:55:29 +00:00
Joel Holdsworth
1eec9df897 Correction to menu-button.hpp documentation 2009-03-06 11:55:29 +00:00
Joel Holdsworth
7e46bc504f Removed spurious add_events call 2009-03-06 11:55:29 +00:00
Christian Thaeter
9d1054f838 FIX: prototype and call of init_exts_globs was wrong 2009-02-20 00:38:21 +01:00
Christian Thaeter
b8d3e841d0 forgot new llist.h 2009-02-15 19:29:10 +01:00
0e5314e0cf keep the display handles within a separate header 2009-02-09 05:43:55 +01:00
ebf625acae cleanup and comment 2009-02-09 02:40:57 +01:00
379ec7a126 refactor the dummy player facade to be in namespace lumiera 2009-02-09 01:42:28 +01:00
268f8cbc4c refactor interfaceproxy.cpp to rather include the definitions
this allows to put the proxy definitions alongside with the
actually implementing service, which makes much more sense
than having all in one huge interfaceproxy.cpp file
2009-02-09 01:21:01 +01:00
da2519ac34 fixed linking dependencies 2009-02-08 20:13:19 +01:00
218a8e7a2a join dummy player with latest GUI work 2009-02-08 04:21:12 +01:00
b0e6468293 some testing and debugging 2009-02-08 04:10:37 +01:00
73f29f3a6a Set up gui::DisplayService as one of the facade interfaces provided by the GUI 2009-02-08 02:02:03 +01:00
32c2c85abc add the impl. of the periodic playback function, now pushing output up to GUI 2009-02-08 02:00:55 +01:00
4524c23832 replace ptr_vector by lib:ScopedPtrVect. passes compiler. 2009-02-08 01:35:45 +01:00
e435822de6 Ouch.. boost::ptr_vector depends on boost-serialisation. Write a simple replacement... 2009-02-08 01:31:01 +01:00
e1dd3cac74 WIP allocating and using a display slot (impl of Display facade interface) 2009-02-06 22:52:06 +01:00
8e5097cbe0 cleanup, fixes, comments... 2009-02-06 22:51:39 +01:00
Joel Holdsworth
a0cb947880 Bugfix: Fixed File>Exit 2009-02-04 17:14:57 +00:00
Joel Holdsworth
2d8a1d7d59 Retired lumigui from scons and removed GUI main 2009-02-04 17:06:07 +00:00
6fb86a2caf WIP setUp of an output slot, connecting playback_controller 2009-02-04 05:23:43 +01:00
Joel Holdsworth
4683b120c5 Ion Fixes: Corrected the timeline header dragging cursors 2009-02-03 23:33:26 +00:00
Joel Holdsworth
981ff21530 Removed lumigui, and fixed broken lumiera build in autotools 2009-02-03 22:35:11 +00:00
7de661f4c9 WIP factor out all signal dispatching from playback-controller into DisplayService and DisplayerSlot
DisplayService is intended to implement the Display facade and additionally
manage N display output sinks (DisplayerSlot). Now the playback-controller
contains just the bare controller logic, all services like tick generation
or signal dispatching have been factored out...  makes me feel better :-)
2009-02-02 05:25:49 +01:00
Joel Holdsworth
fa40a67b77 Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui 2009-02-01 22:56:58 +00:00
06272c2e4b join dummy player with latest GUI work 2009-02-01 20:45:18 +01:00
ec2f362c3a During alpha: build .libs into the LUMIERA_PLUGIN_PATH to ease developent 2009-02-01 20:43:23 +01:00
2cae8d8ccc fix to circumvent a problem with Iconinfo::operator bool() not being const
seemingly this has been fixed in recent gtkmm, but is still present on lenny (and etch)
2009-02-01 19:56:49 +01:00
Joel Holdsworth
0edd7ceda3 Moved the New Window command into the new Window menu 2009-02-01 17:12:44 +00:00
Joel Holdsworth
dc99cc5841 Fixed a typo in a comment 2009-02-01 17:06:27 +00:00
c2bcb9f199 WIP remove all locking and thread handling from PlaybackController.
Yay! as expected, just by refactoring orthogonally, the controller
gets much simpler, without adding much complexities to ProcessImpl
2009-02-01 01:39:52 +01:00