83ea56e3ec
hook automatic element-tracking into Sequence asset
2010-10-19 04:29:05 +02:00
b35c4b4871
hook automatic element-tracking into Timeline asset
2010-10-19 04:19:38 +02:00
fc0cefcadc
review the asset dependency handling in AssetManager
2010-10-19 03:53:36 +02:00
3e9c337ac0
review and verify lib::ElementTracker
2010-10-18 05:33:46 +02:00
884e3600bd
experimental: allow implicit converisons to/from Placement-ID
2010-10-17 06:30:56 +02:00
120973311a
Session ElementQuery unit test pass ( closes #639 )
2010-10-17 05:54:21 +02:00
da994cf9fd
draft a test to cover ElementQuery (Session API)
...
trying to get #639 closed...
discovered, that I had already implemented this
filtering query in 6/2010
2010-10-17 05:08:47 +02:00
d8c06fac1e
add diagnostic self display to QueryFocus
2010-10-16 02:21:20 +02:00
c772359440
add diagnostic self display to ScopePath
2010-10-16 02:21:20 +02:00
e48a9fb811
add diagnostic self display to placement-Scope
2010-10-16 02:21:20 +02:00
48605827a6
Add test to cover the very basic MObject interface
2010-10-16 02:21:20 +02:00
b9e99a2be2
add ability to generate a short-ID to MObject hierarchy
2010-10-16 02:21:20 +02:00
b15a1c2d3c
changed wording of the error message
2010-10-16 02:21:20 +02:00
73a1adcdf5
QueryFocus_test working now (still without diagnostic output)
2010-10-16 02:21:19 +02:00
a0234ecc38
get QueryFocus_test to compile with the (now existing) implementation
2010-10-16 02:21:19 +02:00
64f017da43
QueryFocusStack_test pass
2010-10-16 02:21:19 +02:00
46597009f9
get the basic ScopePath_test to pass
2010-10-16 02:21:19 +02:00
5c28b5d46e
re-read, verify and finish off the Scope, ScopeLocator and QueryFocus implementation
2010-10-16 02:21:19 +02:00
119f7be36c
define copy operations explicitly ( closes #662 )
...
ScopePath and Scope implementation should be roughly complete
2010-10-16 02:21:19 +02:00
bba9ce2570
code up the remaining Scope operations. Closes #430
2010-10-16 02:21:18 +02:00
6dd18f96c6
extend the session services API to support scope discovery
...
This allows the implementation of the Scope class to access
the current Session / PlacementIndex behind the scenes
2010-10-16 02:21:18 +02:00
99f29f9795
now able to build a IterSource based opaque const Scope iterator
...
for this to work, scope-path.hpp injects an explicit specialisation,
causing the RangeIter defined in ScopePath to yield const Scope
2010-10-16 02:21:18 +02:00
02d6d6a65c
extract iter::TypeBinding into separate header to allow explicit specialisation
2010-10-16 02:21:18 +02:00
fdfb946d63
preparation to allow explicit type bindings for iter-adapter
2010-10-16 02:21:18 +02:00
e5de12fc7a
(draft) maybe solved the problem defining a scope iterator
...
actually that would require to extract the IterTraits
from iter-adapter.hpp to allow for such dedicate specialisations
2010-10-16 02:21:18 +02:00
2c58e595c0
augment IterSource adapters by definition through classical iterator range
2010-10-16 02:21:18 +02:00
9593d388cc
back out that caching query, it's nonsense
...
defeating the whole purpose of that interface
2010-10-16 02:21:18 +02:00
001a45f64a
WIP implementation idea how to get both iterations unified
2010-10-16 02:21:18 +02:00
e14aba833e
remove the parent-iteration capability from Scope
...
its not needed yet, and would be surprisingly tricky
to implement, so lets get rid of it!
Use QueryFocus or ScopeLocator instead
2010-10-16 02:21:17 +02:00
d5cdd39f52
WIP trying to code up the public query function for scope paths
...
problem is how to get an iterator compatible with ScopeQuery...
2010-10-16 02:21:17 +02:00
088922a790
remove obsolete helper
...
seems to be a leftover, obsoleted by the simplifications done this june
in c80b1894e6 Ticket #641
2010-10-16 02:21:17 +02:00
58757281b0
rearrange the query functions to suit the changed ScopePath internals
2010-10-16 02:21:17 +02:00
1fe76e33a2
WIP: move the (planned) logic for virtual paths to ScopePath::navigate()
2010-10-16 02:21:17 +02:00
d1d7f3bc58
decided on an extension point to add virtual/effective paths
...
we need that later to get full meta-clip functionality
2010-10-16 02:21:17 +02:00
8078357e3c
revisiting the binding scope problem
2010-10-16 02:21:17 +02:00
a29591c299
SCons: several small improvements, e.g. valgrind-suppressionfile
2010-07-26 03:24:15 +02:00
Christian Thaeter
c66b71deb2
extend fileheader with some flags and endianess mark
2010-07-21 06:13:59 +02:00
Christian Thaeter
c908cf4807
Start of 'fileheader' implementation
...
Lumiera will create and use some files on its own (caches, indices). This
lies the foundation for identifying this files.
2010-07-21 06:13:59 +02:00
Christian Thaeter
51e5b8a90c
FIX: missing stdint.h include in tmpbuf.c for SIZE_MAX
2010-07-21 06:13:07 +02:00
Christian Thaeter
25c3b04ec8
FIX: tmpbuf.h include for tools
2010-07-21 05:05:33 +02:00
Christian Thaeter
c34e6d547e
FIX: tmpbuf.h for lib/time
2010-07-21 05:05:33 +02:00
Christian Thaeter
3c338d1b19
FIX: tmpbuf.h include for common/plugin
2010-07-21 05:05:33 +02:00
Christian Thaeter
2f92a958a8
FIX: tmpbuf.h includes in common/config
2010-07-21 05:05:33 +02:00
Christian Thaeter
f967f9427b
FIX: tmpbuf.h includes in backend
2010-07-21 05:05:32 +02:00
Christian Thaeter
0158c1b88d
WIP: factor tmpbuf out of safeclib
...
* tmpbuf got its own implementation files
* Some optimizations on the tmpbuf implementation, handling tiny,
small and huge allocations better.
* tiny allocation smaller than sizeof(void*) are not aligned
* Reduced the ring sizes to 16 (configureable in tmpbuf.h)
This is only the tmpbuf refactoring, fixes following on the next
commits.
2010-07-21 05:05:26 +02:00
Christian Thaeter
bc989dab7a
put 'VCALL' into its own lib header
...
There will be some use for it at other places too (config system)
2010-07-21 04:50:04 +02:00
Christian Thaeter
81da2ebc5d
Small fix in nobug assertions for mmap_address()
2010-07-21 04:50:04 +02:00
Christian Thaeter
677f8712ee
FIX: glitch in filehandle cache refcounters
2010-07-21 04:50:03 +02:00
Christian Thaeter
da23204bf3
Exclusive file locking
...
This adds global exclusive advisory file locks on a per-thread basis.
Only exclusive locking for a whole file is supported to setup headers etc.
Finer grained locking will be handled somewhere else.
2010-07-21 04:49:51 +02:00
Christian Thaeter
2dfef6cac4
add nobug flag to FILE_MMAP_SECTION() macro
2010-07-21 04:49:50 +02:00
Christian Thaeter
a8339fb5d0
add mmaping of exact blocks
...
namely file headers needs to be accessed unaligned and exactly as given,
this adds mmap functions to create mmap objects to do this.
2010-07-21 04:49:50 +02:00
Christian Thaeter
c4cbde9853
add a 'bias' to offset mmaped clusters
...
We will need cluster/page aligned access for certain files (indices),
this files will contain an initial header describing the contents. A bias
is used to step over this header and align the following data.
2010-07-21 04:49:40 +02:00
Christian Thaeter
84ec2b6a77
FIX: small refcounter glitch on mmap
...
freshly created mmaps have a refcounter set to 1 now, acquire a new
mmap only increments the refcounter when its checked out from cache.
2010-07-21 04:49:40 +02:00
Christian Thaeter
cd0cd341c0
Remove 'self' parameter from mmapcache calls, make it proper singleton
2010-07-21 04:49:40 +02:00
Christian Thaeter
3201ae5d8c
remove acquirer list for mmap regions in use, refcount is enough
2010-07-21 04:28:42 +02:00
Christian Thaeter
e0939e9469
improve the mmap handling
...
* add frontend interfaces to file to get a mmaping
* SECTION macro to encapsulate mmap access
* mmap_address() translating an actual offset to address
* add some tests
* some test cosmetics
2010-07-21 04:28:42 +02:00
Christian Thaeter
f887ee81ff
fix a small memory leak
...
forgot to delete the filedescriptorregistry tree, destroyed it only.
2010-07-21 04:28:42 +02:00
788e5646af
Testsuite: throw if Test-ID is unknown (Ticket #649 )
2010-07-17 01:07:23 +02:00
Christian Thaeter
99d5d3765f
FIX: Add remaining tests to the Makefiles, sort Makefiles
2010-07-16 21:44:44 +02:00
Christian Thaeter
d6a18ed9a7
post-merge autotools fixup
2010-07-16 05:39:01 +02:00
adba17472e
Merge recent small GUI fixes by S.Kangas
...
Merge commit 'skangas/minor-fixes'
2010-07-14 04:46:51 +02:00
e16ca49894
Merge in new (experimental) 'advice' concept
2010-07-14 04:33:42 +02:00
Stefan Kangas
a0804920bd
Fix several minor typos
2010-07-11 19:59:08 +02:00
Stefan Kangas
fe87453441
Add tooltips to timeline panel buttons
2010-07-07 04:07:39 +02:00
Stefan Kangas
204f3c7ee9
add http:// to website, making link in about window clickable
2010-07-05 05:01:06 +02:00
5c6a6c150f
clean up any remaining use of wstring
...
I consider wstring a deprecated technology
UTF-8 is all we need
2010-06-27 03:48:00 +02:00
562e571624
Purge Track-Asset from codebase (Ticket #581 )
...
From now on EntryID<mobject::session::Track> will play this role
2010-06-21 03:43:25 +02:00
b7353c6368
indentation
2010-06-20 05:23:08 +02:00
1089b339d0
code up querying for specific track, as used in the StructFactory
2010-06-20 05:19:47 +02:00
edbb2410a0
factor out a new session API sub-module for the global query functions
2010-06-20 04:30:42 +02:00
daba3f2a09
fix some namespace doxygen descriptions
2010-06-20 01:53:21 +02:00
5e104b633a
querying for specific objects (automatically pick target type)
2010-06-19 08:47:28 +02:00
c1cb5320e0
factor the specific query into separate header
2010-06-19 05:37:39 +02:00
c80b1894e6
Clean up design of ScopeQuery, throw out Iterator mixin ( closes #641 )
2010-06-19 05:20:34 +02:00
4f6fa69f2b
investigate the design problems (issuing scope exploartion queries)
2010-06-19 03:36:46 +02:00
8f0dd93308
try to reorganise confusing API arrangement. leads to discovering Bug #641
2010-06-18 03:12:59 +02:00
fab1c699ea
draft test to verify behaviour
...
but doesn't work; somehow the filterfunciton of the baseclass
gets installed
2010-06-16 06:45:38 +02:00
a8dcd9f494
idea how to implement searching for objects with specific properties
2010-06-16 05:56:44 +02:00
a1f3ad835b
investigating the problem of finding an object with given conditions
2010-06-15 05:24:05 +02:00
c6c7214826
try to break the design deadlock with sequence / track creation
2010-06-14 02:08:45 +02:00
fc3e43bb19
re-reading my design and plannings from March, identiyfying next steps to take
2010-06-13 03:34:12 +02:00
e574fdf702
fix a regression regarding struct-asset naming scheme
2010-06-13 00:31:41 +02:00
68aefe5074
implement a simple singleton holder for NIL/default objects
2010-06-12 19:45:01 +02:00
2debae62e0
add locking to protect the advice index table mutations
...
clearly, this locking is quite global, and this couldb be
improved by using a more elaborate index structure
2010-06-12 19:32:25 +02:00
e020601ebd
refactor AdviceSystem access
2010-06-12 19:06:56 +02:00
7b8f02ef20
change index/solution interface into protected
...
not to be used by client code, only by the index
2010-06-12 17:51:55 +02:00
a93d8a42e4
use killer-stash to resolve the AdviceSystem memory leak
2010-06-12 03:33:40 +02:00
cb838ba5b6
extend killer-stash to allow registration of custom deleter functions
2010-06-12 03:12:02 +02:00
59145e0f14
Refactor storing of advice to prepare for actually managing the storage
2010-06-11 04:12:11 +02:00
4fb884669b
ooops... didn't invoke the dtor when releasing an Advice holer
2010-06-08 04:26:28 +02:00
eb19f59ba0
deleter memorising component passes unit test ( #629 )
2010-06-07 03:32:41 +02:00
9aca348870
code up implementation of this killer-stash
2010-06-07 02:14:10 +02:00
6b90767468
draft a component to manage deleter functions
2010-06-06 04:26:23 +02:00
dee4c33c55
change the index-interface from free to member functions
...
part of Ticket #628
2010-06-06 02:11:40 +02:00
2360f9b4c0
Advice colaboration: implemented and passes basic unit test
2010-06-05 05:09:42 +02:00
7d93dae8ea
fix some simple problems (but doesn't pass tests yet)
...
looks like a logic error: new advice::Request got solution
2010-06-04 20:10:46 +02:00
203b955a33
add preliminary buffer memory management by heap allocation
...
TODO: use the lumiera pool allocator, prevent leak of any
advice data not explicitly retracted!
2010-06-04 19:33:42 +02:00
5a615ee4f8
consider advice::Index exception safety
2010-06-04 18:39:39 +02:00
7895ce5f49
solve the problem with re-binding and advice::Request
2010-06-04 17:25:33 +02:00
666d57f6ef
code up the obvious part of the AdviceSystem implementation
2010-06-04 04:35:40 +02:00
d0e7f9b77d
use the NullValue holder to solve the problem with default advice solutions
...
Implementation is simple, but the implications might be tricky
2010-06-03 04:40:38 +02:00
72c01e12c9
implement a simple singleton holder for NIL/default objects
2010-06-03 04:40:38 +02:00
91c2763fa4
WIP considering how to manage default / fallback advice
2010-06-03 04:40:38 +02:00
a9595d0a7f
refactor link to the advice system into separate baseclass
2010-06-03 04:40:38 +02:00
74e12dd17a
factor advice holding buffer into separate Class
2010-06-03 04:40:37 +02:00
d5ebe14d73
add (protected) calls to the AdviceSystem
2010-06-03 04:40:37 +02:00
69af735070
reconsider advice implementation. Investigate some tricky implementation decisions
2010-06-03 04:40:37 +02:00
7dcdff3287
advice-basics: stubbed and fixed to pass compiler
2010-06-03 04:40:37 +02:00
83b5c8c2c2
WIP code up external advice API
2010-06-03 04:40:37 +02:00
c9437b3bff
binding index unit test pass
2010-06-03 04:40:37 +02:00
0c123e4af3
Bugfix
2010-06-03 04:40:36 +02:00
ca93b11010
provide self-verification. Advice index impl. now complete
...
but not yet tested...
2010-06-03 04:40:36 +02:00
d00d42b58c
code up the core solution finding logic
2010-06-03 04:40:36 +02:00
e0cfa6798f
implement the diagnostic operations
2010-06-03 04:40:36 +02:00
f1be9886fa
fix problem with comparisions / containment check
2010-06-03 04:40:36 +02:00
d4433fb3f3
WIP code high-level index functionality
2010-06-03 04:40:36 +02:00
bf02d6d03f
adapter interface for the test-entry
2010-06-03 04:40:36 +02:00
3c35e2a95f
WIP code up index functionality...
2010-06-03 04:40:36 +02:00
530940254e
stubbed advice binding index implementation
2010-06-03 04:40:36 +02:00
c8ac2b0447
planning the advice binding index implementation
2010-06-03 04:40:35 +02:00
5b48b9f864
fix a regression regarding struct-asset naming scheme
2010-06-03 04:40:35 +02:00
0514c24487
Advice binding pattern finished, passing unit test
...
now detecting a lot of syntax errors
2010-06-03 04:40:35 +02:00
1e28c7f1ab
get the advice binding unit test to pass thus far
2010-06-03 04:40:35 +02:00
85f8035f92
Implement parsing of Advice binding pattern spec
2010-06-03 04:40:35 +02:00
f2269b7e78
Implement Advice binding pattern
2010-06-03 04:40:35 +02:00
f27024172f
Implementation skeleton for advice binding match
2010-06-03 04:40:34 +02:00
e3c963378f
outline some implementation details regarding the Bindings to match
2010-06-03 04:40:34 +02:00
3e2b78b670
fill in the basic definitions to make the draft test compile
2010-06-03 04:40:34 +02:00
abe8d876dd
Start planning the Advice implementation: skeleton of unit tests
2010-06-03 04:40:34 +02:00
560612d467
check out how to use the GDB Python pretty-printers
...
Yes, it works with GDB 7.1 from Debian/Squeeze
2010-06-03 04:37:22 +02:00
b998935d6f
fix linking problem with the asset::Struct naming scheme
2010-06-03 04:37:22 +02:00
1f988e17cd
unfinished code commented out
2010-06-03 04:37:22 +02:00
0f6c2e84d2
test-driven brainstorming: TypedID usage
2010-06-03 04:37:22 +02:00
a78845507a
cleanup
2010-06-03 04:37:20 +02:00
e61eb01942
experimental fix for #307
2010-06-03 04:37:20 +02:00
debba6f769
Fix PlacementIndex corruption while deleting recursively
2010-06-03 04:37:20 +02:00
82d8d26308
extend the map iterator adapter to work on STL ranges
2010-06-03 04:37:20 +02:00
939270063e
helper: take snapshot of a given Lumiera or STL iterator
2010-06-03 04:37:20 +02:00
81f87ba852
similar low-level iterator adapter for multimap value groups
2010-06-03 04:37:20 +02:00
c5e4725dcb
implement another wrapper to filter duplicates
2010-06-03 04:37:19 +02:00
a87889cbad
implement convenience helper to pick key/value from a map iterator
2010-06-03 04:37:19 +02:00
73a2aea50c
draft a low-level adapter to get all keys/vals of a stl::map
...
intention is just to use a thin wrapper, without
abstracting the implementation type (as IterSource does)
2010-06-03 04:37:19 +02:00
fc44e522e0
improve PlacementIndex self-verification
2010-06-03 04:37:19 +02:00
57a9b1a270
Iterator adapter to ennumerate all values to a multimap key ( closes #492 )
2010-06-03 04:37:19 +02:00
c9bf26d8c4
EntryID finished and passes unit test
2010-06-03 04:37:19 +02:00
c691213003
EntryID: fix symbol generation and improve ordering
2010-06-03 04:37:19 +02:00
b21db07aff
implement generic object attach-to-model and purge
2010-06-03 04:37:18 +02:00
c43040985c
more stubbing and compilation fixes
2010-06-03 04:37:18 +02:00
8a2515c0b0
stubbing and compilation fixes
2010-06-03 04:37:18 +02:00
474b1af82a
add catch-all defaults for asset::struct naming
2010-06-03 04:37:18 +02:00
e4f015d622
WIP remaining parts of the EntryID implementation, untested
2010-06-03 04:37:18 +02:00
07146ad373
WIP parts of the EntryID implementation, refactor struct asset name generation
2010-06-03 04:37:18 +02:00
2131488afb
test-driven brainstorming: simplified asset-like ID
2010-06-03 04:37:17 +02:00
39355713fd
cleanup
2010-06-03 04:37:17 +02:00
1119b917a9
planning general refactoring to allow intended binding/sequence handling
2010-06-03 04:37:17 +02:00
4bf9a36f2e
Start working on timeline-sequence binding.
2010-06-03 04:37:16 +02:00
c93dfc4f29
partially refactor into library
2010-06-03 04:37:16 +02:00
479bbbb6c7
clarify how deregistration works
2010-06-03 04:37:16 +02:00
dd3d22f950
implement registry for element-tracking. passes unit test
2010-06-03 04:37:16 +02:00
9ec865c3ab
Stubbing and definitions to get element-tracking to compile
2010-06-03 04:37:16 +02:00
cdaff1566f
Template instantiations for the new asset types Timeline and Sequence
2010-06-03 04:37:15 +02:00
55df5205a4
draft a mixin for adding element-tracking functionality
2010-06-03 04:37:15 +02:00
bdb21c4aa8
draft required functionality for the element-tracker
2010-06-03 04:37:15 +02:00
c7a9b04fba
refactor SessionImpl to support nested interface modules on the API
2010-06-03 04:37:15 +02:00
fa0482fab4
WIP add sub-interfaces to the session API
2010-06-03 04:37:15 +02:00
bfc18dfb94
consider using RefArray for the Session API
2010-06-03 04:37:14 +02:00
ea538d962f
test-driven brainstorming: adding and removing session parts
2010-06-03 04:37:14 +02:00
baff536731
placement and pointee equivalence tests
2010-06-03 04:37:14 +02:00
11c5d55b73
draft: run self-check on MObject creation
2010-06-03 04:37:14 +02:00
8f34129f60
planning: structural assets and the track-ID
2010-06-03 04:37:14 +02:00
8eb0a16134
cast the new spec regarding timeline/session into unit test code
2010-06-03 04:37:14 +02:00
4594ddde3a
WIP: test driven brainstorming regarding sequence/timeline handling
2010-06-03 04:37:13 +02:00
c2cbe4c9e8
change Timeline and Sequence to be structural assets
2010-06-03 04:37:13 +02:00
092ea07b76
kill "the EDL"
2010-06-03 04:37:12 +02:00
f0aed2c2cc
fix dummy compilation/tests
2010-05-21 03:50:41 +02:00
86bc30a10a
Merge Ubuntu/Lucid adjustments. Drop pre 1.0 compatibility
2010-05-21 03:43:09 +02:00
Odin Hørthe Omdal
792a595041
Fix for old GAVL versions (missing uint64_t)
2010-05-15 02:20:07 +02:00
Christian Thaeter
9d99300841
FIX : #619 , New Nobug required! version 201005.1
...
add the 'extra' argument to mpool dumps.
Solves Linking problems on some distros.
2010-05-12 00:46:39 +02:00
5b9aa5deb2
landing the new threadpool implementation
2010-02-15 00:48:52 +01:00
1c63a02e23
augment and round up the C++ thread wrapper
2010-02-14 23:39:15 +01:00
90d311dc1d
Error integration: error::Flag as subclass of State. Wrapped throw
2010-02-13 20:56:41 +01:00
acd0671390
clarify some comments regarding GUI start
2010-02-13 17:41:16 +01:00
dc991ca563
valgrind suppression: add some more cases to be filtered
2010-02-13 06:00:38 +01:00
b41bd20de4
push accessing the DiagnosticContext down one layer
...
accessing the DiagnosticContext now inline when
providing the paramters for calling the C-functions.
No change in functionality, but saves us a lot of
syntactic noise.
2010-02-13 05:33:08 +01:00
3466793976
repackage as a more general facility (DiagnosticContext)
...
implementation unaltered (just managing the NoBug handle)
2010-02-13 04:54:59 +01:00
4dfd7266b9
draft solution to factor out management of the resource handle
...
based on the idea of a diagnostic context stack
2010-02-13 04:03:27 +01:00
763f86fe0e
back out changes I do not want in lib/sync.hpp
...
especially, I do not want to pass a resource handle
through all locking function APIs; the memory
management of the resource tracker should better
be kept separate and not mixed with the monitor.
Also, I am rather reluctand regarding any extended
functionality for the monitor, like timed locks
or trylocks or read/write monitors. I think, the
monitor pattern is only beneficial when it is kept
fairly simple, advanced thread programming should
be pushed out into lib functions in the backend.
2010-02-12 05:22:17 +01:00
52a7d6993d
SCons: remove GThreads from linking (except for the GUI)
2010-02-11 03:19:42 +01:00
dfd70c6069
replace GThreads by the Lumiera thread wrapper
2010-02-11 03:06:42 +01:00
Christian Thaeter
80e2db4800
hook the resourcecollector into safeclib on backend startup
2010-02-08 17:47:26 +01:00
Christian Thaeter
d103346482
hook mpool into the resourcecollector and using safeclib allocations
2010-02-08 14:28:54 +01:00
Christian Thaeter
9feb01e4fe
add hooks for malloc/free to mpool, add (no-op) purge function
...
We will need this to hook the resourcecollector in
2010-02-07 20:53:51 +01:00
Christian Thaeter
b60d8aa907
FIX: error.c memory leak when destroying threads
...
the error context is dynamically allocated and must be freed, forgotten
this as errors originated from static strings initially.
2010-02-07 20:25:09 +01:00
Christian Thaeter
33a0591689
Make resourcecollector initialization explicit
...
instead automatic initialization, the resourcecollector is pulled up as
backend service.
2010-02-05 09:20:52 +01:00
Christian Thaeter
d350a250fa
Move the resourcecollector to the backend, closes #521
2010-02-05 08:58:19 +01:00
Christian Thaeter
d45b2eef91
factor the filedescriptorregistry out, closes #395
...
also introduces a new mutex for lookup/creating files to prevent races
2010-02-04 22:52:21 +01:00
Christian Thaeter
40d1bb50bb
fix double-free bug in mmap.c
2010-02-04 21:56:49 +01:00
Christian Thaeter
97d5b1c727
remove the 'once' hack from mmap_init()
2010-02-04 20:43:27 +01:00
Christian Thaeter
c1c97228a5
Set error condition when chunksize for a non mmaped file is queried
2010-02-04 20:41:49 +01:00
Christian Thaeter
4821e7eb3f
add file_delete_unlink() which removes a file from disk when closed
...
For temporary file, only removes the name under which it was opened
2010-02-04 20:40:54 +01:00
Christian Thaeter
31a2f454d8
remove lumiera_fhcache as parameter, closes #396
2010-02-04 10:21:20 +01:00
Christian Thaeter
711af29605
Merge remote branch 'plouj/second-tp-attempt' into backend_devel
...
* plouj/second-tp-attempt:
added two sync tests
show the state name string
it is more proper to use cond_sync flags for *CONDITION_SECTIONs
add a threads/threadpool NOBUG flag hierarchy
replace an old test with a compile-only one which spawns way too many threads
increase the delay in threads to 10ms
wrap prime test in usleep() to make the thread likely to be re-scheduled
2010-02-03 10:51:03 +01:00
Christian Thaeter
01839d4e48
update for nobug-201002.1
2010-02-03 10:38:12 +01:00
Michael Ploujnikov
6d053d3f84
show the state name string
2010-02-01 16:51:27 -05:00
Michael Ploujnikov
8588fa2b9c
it is more proper to use cond_sync flags for *CONDITION_SECTIONs
2010-02-01 07:25:49 -05:00
Michael Ploujnikov
b799321dff
add a threads/threadpool NOBUG flag hierarchy
...
and remove redundant/errorneous flag initializations as a result
also use the test flag from logging.h
2010-02-01 07:25:06 -05:00
Christian Thaeter
014c83ff5a
PTHREAD_ONCE_INIT can be a macro, fast init trick doesn't work then
2010-01-30 08:40:38 +01:00
Christian Thaeter
32d9a9f9ad
FIX: thread-wrapper proxy the catched error up to the joiner
2010-01-30 07:20:09 +01:00
Christian Thaeter
87465ff69b
little test-helper cosmetics
2010-01-30 07:20:09 +01:00
Christian Thaeter
dc5ae73626
Log the error passing when joining threads
2010-01-30 07:20:09 +01:00
Christian Thaeter
812f7112af
FIX: small race in acquire_thread, catching threads out of the void
2010-01-30 02:56:50 +01:00
Christian Thaeter
f57d637b59
Merge commit 'dc87e78590ea86615d3ebe90d23af4548445b941' into backend_devel
...
* commit 'dc87e78590ea86615d3ebe90d23af4548445b941':
add a two-thread acquire test
show the state of the thread in question
minor fixes: remove an old comment and change another
fix the prime test algorithm
use unsigned long for even more digits!
2010-01-30 00:48:04 +01:00
ede06e63d5
automatically start the threadpool on demand, similar to NoBug
...
but the difference is: threadpool comes up application init i.e. at the begin of main(),
while NoBug comes up in static init already.
2010-01-24 15:48:48 +01:00
93af4ed017
refactor the C++ thread-wrapper, remove JoinHandle
2010-01-24 14:05:32 +01:00
82967191b3
PlacementIndexQueryResolver passes unit test
2010-01-23 15:50:46 +01:00
a9a6bb3951
better store the scope-ID within a query
2010-01-23 15:50:46 +01:00
018801895b
Add some test-dummy MObjects *temporarily* to core tree (Ticket #532 )
2010-01-23 15:50:46 +01:00
f6cf3195cf
* MObjectRef_test pass *
...
This is the integration of some months of work
2010-01-23 15:50:46 +01:00
0f9fc7e3dd
PlacementRef works! that's a milestone. Closes #78
2010-01-23 15:50:46 +01:00
9a6f9b2ba5
PlacementIndex: possibly retaining type information on insert
2010-01-23 15:50:46 +01:00
26972376de
MobjectRef_test passes compiler as a whole
2010-01-23 15:50:45 +01:00
71428ccf6f
activating an MObject ref implemented, passes compiler
2010-01-23 15:50:45 +01:00
e9d641babd
nail down all the MObjectRef equality comparison cases
2010-01-23 15:50:45 +01:00
e04672936a
getting MObjectRef_test partially through the compiler
2010-01-23 15:50:45 +01:00
b32a48f410
Finish definition/documentation of PlacementRef and PlacementIndex
2010-01-23 15:50:45 +01:00
Christian Thaeter
8607a4006a
update the thread-wrapper to use the new threading API
...
This removes the explicit Sync things from the thread wraper since
the functionality is almost exactly provided by the backend.
Thread encapsulates a lumiera thread handle now, but this is strictly
optional and might be dropped on the floor (using a temporary as thread).
Thread has a sync() function which allows user controlled syncronous
startup:
Thread("foo", myoperation).sync();
will startup myoperation and only return from the ctor after myoperation
called a matching lumiera_thread_sync().
The related tests need to initialize/destroy the threadpool accordingly
2010-01-23 06:57:14 +01:00
Christian Thaeter
9fc68c9d32
Merge remote branch 'public/nobug201001.2' into backend_devel
...
* public/nobug201001.2:
integrating nobug context passing
updates for nobug 201001.2
Conflicts:
configure.ac
src/lib/condition.h
src/lib/reccondition.h
tests/backend/test-threads.c
2010-01-23 06:56:39 +01:00
Christian Thaeter
c15f2247d7
integrating nobug context passing
...
Somewhat more intrusive than the previous patch,
adds contexts everywhere except for sync.hpp where only default ctors
are used.
2010-01-23 01:40:27 +01:00
Christian Thaeter
8254b3fbda
updates for nobug 201001.2
...
dumping got a new api, surprisingly everything else works...
2010-01-22 23:21:48 +01:00
Michael Ploujnikov
fc15a2ac2c
Merge commit '6f07e4eedc6b624b1f9ae1004ad3e6a77027e028' into second-tp-attempt
...
Conflicts:
src/backend/threads.c
2010-01-20 21:41:14 -05:00
Michael Ploujnikov
a22bb5e54f
show the state of the thread in question
2010-01-20 17:09:37 -05:00
Michael Ploujnikov
571c265ccd
minor fixes: remove an old comment and change another
2010-01-20 07:58:22 -05:00
Christian Thaeter
751a8b415c
few trace points
2010-01-20 01:04:35 +01:00
Christian Thaeter
6f07e4eedc
one more signal/wait for syncing
2010-01-20 01:04:12 +01:00
Christian Thaeter
95fed7fd0e
remove thread counters (for now)
...
counting the threads had a race when creating threads, with moving
threads only between idle and working list we don't need the counters for
operation anyways. Maybe later when we find out that we need them we can
re-add them in a sane way
2010-01-20 01:03:41 +01:00
Christian Thaeter
12968bb784
thread kind and flag handling
...
* 256 states are enough for anyone (else fix the source)
* add proper masking and handling of flags
2010-01-20 00:43:11 +01:00
Christian Thaeter
32217debe8
Fix threadloop
...
* joining must be done inside the loop, doh
* a thread must release itself first in the loop, new threads
have to go idle when created
2010-01-20 00:33:08 +01:00
Christian Thaeter
995d813709
add threadpool init/destroy to the global backend init/destroy
2010-01-19 18:46:02 +01:00
Christian Thaeter
66a0e6e0ca
Experiment: remove custom states, syncs are 2-thread barriers
2010-01-18 19:58:31 +01:00
Christian Thaeter
e2c5aceec4
FIX: off by one error in time normalization
...
"The value of the nanoseconds field must be in the range 0 to 999999999."
2010-01-18 18:45:02 +01:00
Christian Thaeter
020908d623
Make threadpool_destroy wait until all threads are finished
...
adds a state to each threadpool which can be only offline or online.
One can not acquire new threads when the pool is offline.
no need for waits in the teststuite anymore.
2010-01-18 17:53:33 +01:00
Christian Thaeter
7371db8a2c
thread deadlines, first implementation
2010-01-18 16:24:45 +01:00
Christian Thaeter
cc4dc25f4a
while loop is little more solid than do..while
2010-01-18 16:23:28 +01:00
Christian Thaeter
87918c657c
check wait condition before loop body
2010-01-18 14:23:23 +01:00
Christian Thaeter
e55e648f29
Thread syncronization and joining
...
add a custom defined range for states
provide functions for barrier like syncing between 2 threads
provide joinable threads and a thread_join() function
2010-01-18 00:34:53 +01:00
Christian Thaeter
72d9cbe91c
Merge remote branch 'plouj/second-tp-attempt' into backend_devel
...
* plouj/second-tp-attempt: (68 commits)
partially fix a pkg-config problem with scons on Fedora12
fix comilation by using an existing TEST macro
more formatting fixes to put spaces before function/macro call opening brackets
add a stronger REQUIRE check
ignore RESOURCE_ANNOUNCE in tests
fix the code by re-merging some of cehteh's changes
remove redundant info from TRACE
match the filename in the header comment
add a thread state check and remove an old comment
python-2.6 fix: loading the icon_rener.py script (Ticket #222 )
Use a fully qualified name for PlacementMO in PlacementIndex
fix compilation errors
die regardless of what type of failure pthread_create() encounters
mark thread as worker
remote unnecessary calls to llist_unlink() insert is enough
continuation of working_list introduction
begin adding a second list to store working threads
merge ECHO with TRACE
don't expect any more output from the basic test
fix compilation
...
Conflicts:
src/tool/Makefile.am
tests/Makefile.am
2010-01-17 17:32:43 +01:00
Christian Thaeter
b8336879f7
autoconf/automake cleanup
...
* refactor configure.ac to have distinct sections to configure each
subsystem.
* Dedicated LUMIERA_<subsys>_CFLAGS|_LIBS vars
* Fix Makefile.am's to use them, remove unnecessary dependencies
Stray dependencies to be refacored:
* tests/Makefile.am has dependencies on proc and backend
- should be moved to tests/library/Makefile.am etc anyways
* tests/lib/Makefile.am has dependency on GUI left
* src/tool/Makefile.am links GUI stuff generally, thats ok
* one threading test is broken, we don't care, merging new threadpool in
next.
2010-01-17 15:48:30 +01:00
Michael Ploujnikov
c78571be55
more formatting fixes to put spaces before function/macro call opening brackets
2010-01-16 13:53:42 -05:00
Michael Ploujnikov
fa85a01818
add a stronger REQUIRE check
2010-01-16 13:13:02 -05:00
Michael Ploujnikov
02c9ee33c7
fix the code by re-merging some of cehteh's changes
...
test still fails
2010-01-16 11:48:48 -05:00
Michael Ploujnikov
217d17107d
Use a fully qualified name for PlacementMO in PlacementIndex
...
This seems to satisfy g++ 4.4.2, which otherwise complains like this:
In file included from ../src/proc/mobject/session/session-impl.hpp:53,
from ../src/proc/mobject/session/sess-manager-impl.hpp:28,
from ../src/proc/mobject/session/sess-manager-impl.cpp:41:
../src/proc/mobject/session/placement-index.hpp:163: error:
declaration of ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::session::PlacementIndex::PlacementMO’
../src/proc/mobject/placement.hpp:244: error: changes meaning of
‘PlacementMO’ from ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::PlacementMO’
2010-01-16 17:04:13 +01:00
Michael Ploujnikov
e60c10a01d
remove redundant info from TRACE
...
and add spaces for formatting
2010-01-16 10:39:45 -05:00
Michael Ploujnikov
e9ae8c8601
add a thread state check and remove an old comment
2010-01-15 07:35:28 -05:00
Michael Ploujnikov
e0d6f1ce66
Merge branch 'master' into second-tp-attempt
...
Conflicts:
src/proc/mobject/session/placement-index.cpp
src/proc/mobject/session/placement-index.hpp
2010-01-14 21:06:14 -05:00
Michael Ploujnikov
2f27c7d71b
Use a fully qualified name for PlacementMO in PlacementIndex
...
This seems to satisfy g++ 4.4.2, which otherwise complains like this:
In file included from ../src/proc/mobject/session/session-impl.hpp:53,
from ../src/proc/mobject/session/sess-manager-impl.hpp:28,
from ../src/proc/mobject/session/sess-manager-impl.cpp:41:
../src/proc/mobject/session/placement-index.hpp:163: error:
declaration of ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::session::PlacementIndex::PlacementMO’
../src/proc/mobject/placement.hpp:244: error: changes meaning of
‘PlacementMO’ from ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::PlacementMO’
2010-01-14 20:57:45 -05:00
Michael Ploujnikov
9d4494aa90
Merge branch 'master' into second-tp-attempt
2010-01-14 19:32:07 -05:00
Michael Ploujnikov
151b0793ab
Merge remote branch 'origin/master'
2010-01-14 19:31:42 -05:00
Michael Ploujnikov
f62513dea8
fix compilation errors
2010-01-14 16:46:27 -05:00
Christian Thaeter
aea546554b
reworked sync.hpp using libraries locking functions
2010-01-14 21:15:13 +01:00
Christian Thaeter
dbb3b2e2e7
FIX: uhm .. forgotten to fix some stuff
2010-01-14 13:22:19 +01:00
Michael Ploujnikov
523e898fbe
Merge branch 'master' into second-tp-attempt
...
Conflicts:
src/lib/condition.h
src/lib/reccondition.h
2010-01-13 19:17:24 -05:00
Michael Ploujnikov
a045479c63
Merge branch 'master' of git://git.lumiera.org/LUMIERA
2010-01-13 19:12:15 -05:00
Christian Thaeter
3e8d8590e9
C lumiera_error to C++ exception bridge
...
* error::Runtime exception class which transports the C error code
* lumiera::throwOnError() which throws when there is a pending
lumiera error, otherwise it does nothing
2010-01-13 20:30:10 +01:00
Christian Thaeter
c29ea07138
lumiera_error_expect() lets one easily handle expected errors
...
This is a convenience function which clears the error state when some
expected error occurred and lets one branch on this.
2010-01-13 17:41:26 +01:00
Christian Thaeter
f0483b1d8b
FIX: few glitches using nobug flags
2010-01-13 14:22:08 +01:00
Christian Thaeter
a287b13481
remove the LUMIERA_RESTRICT macro
...
all functions using restrict are inline and can be properly optimized by
the compiler, no restrcit necessary
2010-01-13 13:00:13 +01:00
Christian Thaeter
63346c7dff
Fix remaining test, forgot to link tests in
2010-01-13 10:25:33 +01:00
Christian Thaeter
f78ec3b0ef
undo -Werror which slipped into the CXXFLAGS for the lib
2010-01-13 09:23:19 +01:00
Christian Thaeter
9c9161ef65
reccondition refactoring
2010-01-13 00:19:20 +01:00
Christian Thaeter
f1cf5aee60
condition var refactoring
2010-01-13 00:19:00 +01:00
Christian Thaeter
6816766182
rwlock refactoring
2010-01-13 00:18:48 +01:00
Christian Thaeter
059f086b4f
recmutex refactoring
2010-01-13 00:18:32 +01:00
Christian Thaeter
e7e9394f9b
refactor locking macros to functions, simpler macros
2010-01-13 00:16:43 +01:00
Christian Thaeter
b232a4f9f0
errors for locking
...
* add a 'unknown' error to the error system as fallback
* lockerror.c|h define all errors which can happen due locking
* lumiera_lockerror_set() translates posix errors to lumiera errors
* remove stale errors from sectionlock.h
2010-01-13 00:10:33 +01:00
Michael Ploujnikov
564e6c94a0
Merge remote branch 'origin/master'
...
Conflicts:
tests/test.sh
2010-01-12 08:05:12 -05:00
Michael Ploujnikov
09fd15d5f8
die regardless of what type of failure pthread_create() encounters
2010-01-12 08:01:54 -05:00
Michael Ploujnikov
b49a5abff2
mark thread as worker
2010-01-12 07:47:28 -05:00
Michael Ploujnikov
ecbcfdefd7
remote unnecessary calls to llist_unlink() insert is enough
2010-01-12 07:39:12 -05:00
Michael Ploujnikov
49da609e80
Merge branch 'master' of git://git.lumiera.org/LUMIERA into second-tp-attempt
...
Conflicts:
src/lib/condition.h
src/lib/mutex.h
src/lib/reccondition.h
src/lib/rwlock.h
tests/test.sh
2010-01-11 16:47:45 -05:00
Michael Ploujnikov
f890b35a03
continuation of working_list introduction
2010-01-11 15:04:52 -05:00
Christian Thaeter
7b014012e8
WIP: refactor locks once again, new nobug, little simpler
2010-01-10 10:36:24 +01:00
Christian Thaeter
7fea4f79be
Sectionlock needs a 'user' handle with new nobug
2010-01-10 10:36:24 +01:00
Christian Thaeter
799fe34980
Fix: race conditions with the nobug resource tracker
...
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
for unknown reason, temporary disabled
2010-01-10 10:36:24 +01:00
Michael Ploujnikov
925442b3d9
begin adding a second list to store working threads
2010-01-09 21:36:20 -05:00
81c920c0ed
Fix: static initialisation problem (due to placeholder code) #518
2010-01-10 00:04:58 +01:00
Christian Thaeter
4e7d656b71
WIP: autotools fixup for ichthyo
2010-01-09 22:17:34 +01:00
14c7f7fc62
PlacementIndex implemented, unit test pass
2010-01-09 05:10:32 +01:00
96f19c656d
add call for placement equivalence check
...
actual functionality to be added later
2010-01-09 04:46:17 +01:00
Michael Ploujnikov
fd4504c9de
merge ECHO with TRACE
2010-01-08 16:38:35 -05:00
36cd34e9b1
Placement: correct handling of ID generation on copy construction
2010-01-08 04:00:14 +01:00
92ad5d1994
change to lib::BoolCheckable for the self-valididty check
2010-01-08 03:59:30 +01:00
836f533a2f
add equality comparison and identity handling
2010-01-08 03:59:01 +01:00
8c7894943c
add equality comparison to the HashIndexed (mixin base)
2010-01-08 03:56:21 +01:00
Michael Ploujnikov
56cf53adb3
fix compilation
2010-01-07 18:36:51 -05:00
Michael Ploujnikov
4708326b77
Merge branch 'minor-fixes' into second-tp-attempt
...
Conflicts:
src/backend/threadpool.c
src/backend/threads.c
2010-01-07 18:27:09 -05:00
Michael Ploujnikov
30a46a6255
Merge remote branch 'public/minor-fixes' into minor-fixes
...
Conflicts:
src/backend/threadpool.c
src/backend/threadpool.h
src/backend/threads.c
2010-01-07 18:24:25 -05:00
Michael Ploujnikov
d78a826d39
Merge branch 'minor-fixes' into second-tp-attempt
2010-01-07 07:18:59 -05:00
Michael Ploujnikov
d989babc8a
Merge remote branch 'ct/for_plouj2' into second-tp-attempt
...
Conflicts:
src/backend/thread-wrapper.hpp
src/backend/threadpool.c
src/backend/threadpool.h
src/backend/threads.c
2010-01-07 07:18:23 -05:00
a56e107fe0
PlacementIndex self-verification implemented and passes compiler
2010-01-07 08:29:27 +01:00
2fd7a2f6f9
patch temporary re-entrance problems on session creation (maybe #495 )
2010-01-07 08:28:54 +01:00
5cc3af3009
document the changed/new behaviour by unit test
2010-01-07 04:40:10 +01:00
3525b77126
somewhat tricky modification of for-each, allowing inline calls
2010-01-07 03:10:02 +01:00
Michael Ploujnikov
0b961b9784
Merge remote branch 'ct/for_plouj' into second-tp-attempt
2010-01-06 17:30:16 -05:00
Michael Ploujnikov
d8234db7b3
Merge remote branch 'ct/for_plouj2' into second-tp-attempt
2010-01-06 07:48:36 -05:00
Michael Ploujnikov
c707f94929
update c++ wrapper to match the C API
2010-01-06 07:42:42 -05:00
226ed37e30
now able to compile PlacementIndex self-check code!
2010-01-06 07:49:25 +01:00
665bd19f8a
use this to get the distinct keys of a multimap
2010-01-06 06:53:29 +01:00
ff2113e61f
implement an duplicate-value filtering iterator
2010-01-06 06:19:30 +01:00
0081b36793
Itertools: add caching to FilterIter
...
filter predicate is now evaluated at most once
2010-01-06 06:16:30 +01:00
2ad85dbb07
bugfix and test coverage
2010-01-06 04:14:16 +01:00
2a5b080dd7
implement IterSource adapter for STL map and hashmap
2010-01-06 03:38:02 +01:00
030a7d3813
basic IterSource implementation passes unit test ( #490 )
2010-01-05 05:21:13 +01:00
16962ae714
IterSource implementation draft
2010-01-05 04:10:23 +01:00
ea5668c5e3
WIP define expected usage of IterSouce
2010-01-05 02:53:20 +01:00
73613c1e7d
WIP: draft better arrangement of the PlacementIndex validation code
...
but still need yet another iterator related lib module
2010-01-05 01:31:22 +01:00
Michael Ploujnikov
223e79cc4a
replace mutex with condition variable in threadpool
...
use TRACE instead of ECHO
(based on cehteh's suggested code)
2010-01-04 17:03:47 -05:00
330eb2c243
extended for-each looping helpers. Closes #479
2010-01-04 14:48:00 +01:00
cd3a77649e
use the (new) iterable classification to mask for_each overloads
2010-01-04 11:19:01 +01:00
7d913dc558
start moving some metaprogramming helpers to lib::meta
2010-01-04 10:08:14 +01:00
64cedb6345
implemented compile-time detection of STL or Lumiera iterator
...
closes #482
2010-01-03 05:43:33 +01:00
e838d46336
Fix: operator++ needs to return the actual target type
...
see Ticket #486
2010-01-03 05:42:35 +01:00
e27d03c501
simple duck detecor components pass unit test
2010-01-02 09:07:10 +01:00
8777aa585a
duck detector (lib helpers): initial implementation draft
2010-01-02 08:09:40 +01:00
f517cfb19a
Yess we can! Invented a statical duck-detector!
2010-01-02 06:26:56 +01:00
Michael Ploujnikov
7a507a0cee
don't put threads in a detached state
2009-12-31 15:09:22 -05:00
Michael Ploujnikov
03fe6dd658
properly initialize and de-initialize the thread condition variable
2009-12-31 07:37:28 -05:00
Michael Ploujnikov
c4e1fdaf9a
document lumiera_thread_destroy() and lumiera_thread_delete()
2009-12-31 07:32:55 -05:00
Michael Ploujnikov
ad404bd41a
remove unused old code
2009-12-31 07:30:46 -05:00
Michael Ploujnikov
d63a6066a0
insert a space between the function name and the ( in each function call
2009-12-31 07:27:45 -05:00
Michael Ploujnikov
9c60d88c56
remove thread limiting logic from the threadpool
2009-12-31 07:24:07 -05:00
Michael Ploujnikov
69277b6770
remove unused function pool_thread_loop()
2009-12-31 07:18:29 -05:00
e94927d5a3
standard case (using STL container) solved, incl. binding arguments and member functions
2009-12-31 03:25:25 +01:00
e7fcfaca8d
problem was: compiler couldn't figure out the return type
...
thus let's give a hint...
2009-12-31 02:51:58 +01:00
9730ff4183
trying to track down a strange compiler warning
2009-12-31 01:21:45 +01:00
2b46574da3
move the for_each helpers into a separate header
...
(because util.hpp is used pervasively, and I don't want
<tr1/functional> in such a widely used header...
2009-12-29 04:39:27 +01:00
0dca7cbb4d
not-yet-implemented....
2009-12-29 04:30:11 +01:00
6e956f24ab
WIP: drafted PlacementIndex validity self-check
2009-12-28 03:32:42 +01:00
c49d8321f6
fill in documentation and missing test cases
2009-12-27 06:36:52 +01:00
7b7e9096a3
Hook up scope contents iterator in PlacementIndex ( closes #343 )
2009-12-27 06:25:34 +01:00
26c506c0d6
rewrite TransformIter, allowing to return references ( closes #475 )
2009-12-27 04:03:00 +01:00
Christian Thaeter
88195087d6
recondition to condition,
...
remove the mutex from the pool
rename park to release :P
2009-12-24 01:54:49 +01:00
Christian Thaeter
6b4415d8fa
nobugify
...
declare and init the nobug flags and use them for logging diagnostics
2009-12-24 01:50:59 +01:00
Christian Thaeter
026fab07dc
cosmetics, deadcode removal
2009-12-24 01:46:43 +01:00
Christian Thaeter
bddb23d111
remove threadpool_unlink()
...
thread removes itself from the list, this is trival in place
2009-12-24 01:45:44 +01:00
Michael Ploujnikov
6f5578ba10
fix a copy+paste mistake in LUMIERA_RECCONDITION_SECTION_CHAIN and add a test-case for it
2009-12-23 18:14:29 -05:00
Michael Ploujnikov
f2406c23a1
bork bork bork
...
by pulling this you agree to...
2009-12-23 13:10:31 -05:00
534ae16605
implemented this FunctionResult template, needed for Ticket #175
2009-12-23 04:46:09 +01:00
97faf3dcb8
ItemWrapper unit test pass. Closes #476
2009-12-21 07:52:58 +01:00
e5ab9d73eb
add specialisation to deal with wrapping a reference...
2009-12-21 06:19:56 +01:00
6a7f325ecf
static assert to protect against misguided equality comparison
2009-12-21 05:45:02 +01:00
3db676fa32
base implementation fo the ItemWrapper
2009-12-21 05:44:29 +01:00
83eb6976cd
draft an universal val/ref wrapper, needed by TransformIter.
...
Seemingly I've hit a nasty problem here, because PlacementIndex
should return an Placement&, but this is being fetched
after-the fact from within the iterator.
2009-12-20 04:33:24 +01:00
4773305853
Fix itertools: allow TransformIter to return an reference
2009-12-19 03:55:02 +01:00
4afa1ada5b
WIP implement scope content enumeration
...
unresolved problem with TransformIter yielding a reference
2009-12-18 05:05:16 +01:00
Michael Ploujnikov
24e87c815d
remove old functions pthread_runner and lumiera_thread_run
2009-12-17 22:08:57 -05:00
Michael Ploujnikov
3999101f30
Merge branch 'for_plouj' of git://git.lumiera.org/lumiera/ct into second-tp-attempt
2009-12-17 21:31:23 -05:00
Christian Thaeter
d7db383134
Sectionlock needs a 'user' handle with new nobug
2009-12-18 03:14:47 +01:00
Michael Ploujnikov
547ff2b772
Merge branch 'for_plouj' of git://git.lumiera.org/lumiera/ct into second-tp-attempt
2009-12-16 22:36:38 -05:00
Christian Thaeter
5c7abbded9
Fix: race conditions with the nobug resource tracker
...
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
for unknown reason, temporary disabled
2009-12-17 03:49:02 +01:00
9f09a8aa49
push creation of the root MObject to users of PlacementIndex
2009-12-17 03:16:08 +01:00
d7aab2990f
placeholder implementation of Label MObject
2009-12-17 03:14:59 +01:00
e3de0aac7c
WIP handling of the model root element within the index
2009-12-16 04:54:36 +01:00
73fcc78cb3
PlacementIndex checks for bottom (invalid) ID
2009-12-13 05:49:08 +01:00
b74a505c44
change implementation of "bottom" PlacementRef to 0-LUID
2009-12-13 05:48:05 +01:00
e89b4503fd
detect if the session is up and opened, lock PlacementRef else
2009-12-13 04:27:57 +01:00
6c187224eb
get it through the compiler again...
2009-12-12 05:03:50 +01:00
5fd2a85400
cleanup of BuilderTool includes
2009-12-12 03:51:26 +01:00
628ad8a31d
WIP add a new kind of MObject: the model root
2009-12-12 03:50:41 +01:00
fd782eb139
WIP: change management of test/mock PlacementIndex
...
now lifecycle of this mock index is managed automatically
from within the session services. This allows to get
rid of the smart-ptr creating factory. As a consequence,
PlacementIndex now resides directly within SessionImpl.
2009-12-11 02:49:12 +01:00
Michael Ploujnikov
41bb8b7e78
make a TODO note about the finished condition variable
2009-12-03 09:29:56 -05:00
Michael Ploujnikov
098d801d00
give each thread pool a separate pthread_attr_t structure to configure
2009-12-02 22:21:49 -05:00
Michael Ploujnikov
afe135f43e
add a lock around thread pool list access in lumiera_threadpool_release_thread()
2009-12-02 13:48:08 -05:00
Michael Ploujnikov
eedfafb0d0
convert lumiera_thread_state to using the enum string trick and use it in a test
2009-11-29 18:06:14 -05:00
Michael Ploujnikov
fc16de332f
convert lumiera_thread_class to using the enum string trick and use it in a test
2009-11-29 17:55:20 -05:00
488039c4c6
cleanup and write tests covering the newly implemented stuff
2009-11-28 23:37:58 +01:00
feb4480f85
Scope handling within the PlacementIndex
2009-11-28 22:18:09 +01:00
8a47f1a1ac
considerations regarding type handling in the PlacementIndex
2009-11-27 20:30:06 +01:00
66175181dc
basically implemented simple element access.
...
But the scope registration and the type problem remains unsolved
2009-11-27 02:43:09 +01:00
cde45c021e
add basic storage and implementation of the PlacementIndex tables
2009-11-27 02:03:20 +01:00
0b289863e9
documentation correction. command entry is created on completed definition now.
2009-11-27 02:02:42 +01:00
Michael Ploujnikov
c31bc2791b
remove unnecessary REQUIREs based on my new understanding of nobug
2009-11-26 11:52:19 -05:00
Michael Ploujnikov
01223ef6ba
kind vs class naming rationale
2009-11-26 11:45:34 -05:00
Michael Ploujnikov
afd2035983
rename threadpool.kind[i].pool to threadpool.kind[i].list
...
rename threadpool.kind to threadpool.pool
2009-11-26 11:27:50 -05:00
Michael Ploujnikov
99eb790027
rename LUMIERA_THREAD_* to LUMIERA_THREADCLASS_* in enum lumiera_thread_class
2009-11-26 11:21:31 -05:00
Michael Ploujnikov
af80622ef5
begin implementing a 'soft' thread count limit per pool
...
add LUMIERA_DIE in cases where this soft limit is reached
add LUMIERA_DIE when pthread_create fails to create threads - serious
add a test which tries to break the soft limit
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
98c608d4c0
check that we're creating valid lumiera_thread_structures
...
die on pthread_create errors that we shouldn't be handling
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
085216fd61
remove "allocated thread*" messages from lumiera_thread_new() and update tests
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
07962b5314
add comments about locking in lumiera_threadpool_release_thread()
...
output the size of the created thread struct
don't print "destroying thread" (lets tests become shorter with repeated matching)
add a test which spans many threads in all pools
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
8e3d4e7b7a
fixed lumiera_threadpool_destroy() by using LLIST_FOREACH
...
added some checks to lumiera_threadpool_release_thread(), maybe too much
modified thread_loop() to return a known value - 0
added checks to lumiera_thread_new()
added a check to lumiera_thread_destroy()
made lumiera_thread_destroy() unlink the thread from a pool list
updated test case to match new debug messages
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
d6d81f2e44
added lumiera_threadpool_destroy()
...
added locking and checks to lumiera_threadpool_acquire_thread()
added a nobug flag to threads.c
added lumiera_thread_destroy()
added lumiera_thread_delete()
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
414b8b99c3
updated test passes
...
fixed problem with copying lists
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
75696986e4
test passes
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
10f79290a1
add lumiera_threadpool_release_thread
...
make the test compile
change from type to kind
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
9dd838b129
acquire() test started, so far, everything just compiles
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
775f6cbb5d
actually create or use a thread struct, still not associated with a pthread
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
00eb4eda46
partial code skeleton
2009-11-26 10:24:17 -05:00
0186343909
finished implementation of QueryFocus (frontend handle)
2009-11-22 11:13:49 +01:00
4082ff919e
implemented connection between QueryFocus und current ScopePath
2009-11-22 10:32:08 +01:00
12dc0e2c2d
add unit test, write documentation. Closes #420
2009-11-22 07:26:51 +01:00
d90812e64b
implement a stack of ScopePath frames
2009-11-22 04:36:14 +01:00
665eed5f1b
new logging flag for the session
2009-11-22 04:35:37 +01:00
46eae1c03a
add a refcount field (for intrusive refcounting) to ScopePath
2009-11-22 03:48:52 +01:00
36e342fc11
Implement ScopePath functionality. Closes #322
2009-11-22 01:16:33 +01:00
27390b5732
add query for path/location to ScopeLocator
2009-11-22 01:15:31 +01:00
451253ae8a
utility to append elements from an Lumiera Forward Iterator until exhaustion
2009-11-22 01:14:27 +01:00
c328945cb4
commented the ScopePath API
2009-11-21 21:33:01 +01:00
ed86c97881
Defined/Stubbed all required ScopePath operations
2009-11-21 20:55:14 +01:00
b7987cf3ce
define iteration on ScopePath as reverse iteration on the contained Scopes
2009-11-21 04:48:29 +01:00
b2849c6099
defined and implemented equality of scopes
2009-11-21 02:49:24 +01:00
ce98bd9bca
Finished basic concept how to establish a current query focus (Ticket #403 )
2009-11-20 22:00:15 +01:00
cdb84a9b16
refining the draft for ScopeLocator
2009-11-20 19:58:22 +01:00
11463da463
better use an enum for the ScopeQuery kinds
2009-11-18 04:53:49 +01:00
c01f774344
expose the new query-for-contents facility as session service
2009-11-18 04:23:46 +01:00
9514970b6c
refactor most of the session-contents-query impl into a dedicated *.cpp
2009-11-18 04:11:27 +01:00
002a0a97e6
add remaining bits to get query-for-session-contents impl to compile
2009-11-17 03:01:18 +01:00
7d6fa03c51
allow for Goal subclasses to provide copy operations, while prohibiting direct copy
2009-11-15 16:28:42 +01:00
09c0cacee2
add comparison to c-string for Literal
2009-11-15 16:27:56 +01:00
34dc8fa4de
mark for later high-level model extension (Ticket #414 )
2009-11-15 01:09:21 +01:00
7dcb59333d
WIP draft of the complete query-for-session-contents implementation
2009-11-15 01:08:29 +01:00
a10a237b90
rename "MO" --> "MX" to avoid confusion with MObject
2009-11-14 23:07:01 +01:00
017c668d7a
WIP outline of the index query resolution
2009-11-13 16:32:22 +01:00
981ea94708
finished the PlacementIndex API.
2009-11-13 04:52:48 +01:00
d0c905b5c9
add an transforming iterator to the itertools
2009-11-13 03:26:20 +01:00
a86517bd4f
extend the protocol of the itertools core, abstracting the increment
2009-11-13 01:02:31 +01:00
a1448ed6f6
WIP first attempt to remove the query-interface from PlacementIndex
2009-11-12 20:15:52 +01:00
d658415144
WIP about providing scope contents discovery, backed by the index
2009-11-12 02:15:02 +01:00
bfd97bd98e
now SessManagerImpl can go down entirely on implementation level
2009-11-11 06:01:25 +01:00
5535a7a00e
phase out the existing access functions, now superseeded by SessionServices
2009-11-11 05:44:58 +01:00
1a76ce7a5f
implement two of the SessionServices (internal APIs)
...
providing implementation-level access to the PlacementIndex
and especially installing a mock index for unit tests
2009-11-11 05:30:24 +01:00
7da8844581
first steps towards using the new SessionServices access mechanism
...
add the necessary hooks and change the SessionImpl accordingly.
Still using the old access method for any real code
2009-11-09 07:35:08 +01:00
79d5e49a74
defined basic session lifecycle and service access. Closes Ticket #400
2009-11-09 05:21:59 +01:00
043d4f42fa
working example implementation of the access mechanism to session internal APIs
2009-11-09 02:08:37 +01:00
2765981db9
build a complete simplified mock Session/SessionManager
2009-11-08 20:13:11 +01:00
f1ce05ea9d
clean up some overly clever definitions
2009-11-08 19:47:51 +01:00
aaf19f4d89
First draft regarding the access of session implementation services (Ticket #400 )
2009-11-07 19:49:29 +01:00
6dbbc54247
document better how SingletonRef works
2009-11-07 17:37:37 +01:00
78f9b2b1c5
WIP refactor ContentsQuery to share implementation with a PathQuery facility
2009-11-07 02:49:55 +01:00
bdb8bc2c98
move PlacementIndex into namespace session
2009-11-06 19:27:53 +01:00
bb8c018214
integrate QueryFocus with the new ContentsQuery facility
2009-11-06 18:42:15 +01:00
e0e9b7c2c0
WIP about how to link the QueryFocus system to the session/PlacementIndex
2009-11-04 04:56:25 +01:00
Michael Ploujnikov
ce4e3608d0
make sure luidgen picks up the nobug cflags
2009-11-02 13:51:18 -05:00
8c7727704c
Finish ContentQuery definition; relying on PlacementIndex
2009-11-02 07:37:15 +01:00
1c72cbb599
Iterator tools: (1) a filtering iterator
2009-11-02 06:06:43 +01:00
356fe8fd13
change the ContensQuery stub to fit into the QueryResolver in its current form
...
Actually, the implementation within PlacementIndex is missing.
Moreover, I think now that PlacementIndex shouldn't implement
QueryResolver directly.
2009-11-01 03:47:35 +01:00
2620c38ed9
documentation, close some tickets...
2009-11-01 02:02:21 +01:00
9ff7b1eaeb
Implement registration of a resolution function. QueryResolver_test pass
2009-10-30 20:33:44 +01:00
f70f8c4e4a
implemented the mechanism for dispatch-to-concrete resolution
2009-10-30 18:37:08 +01:00
f35b422316
SubID: add (preliminary) hash impl; unit test pass
2009-10-30 06:50:26 +01:00
df562a186f
oops... fix a bug in Literal's hash function
2009-10-30 05:15:26 +01:00
006392f6ea
yet another random test helper
2009-10-30 03:53:51 +01:00
ceb4d4b5ea
reworked MultiFact passes unit test. Closes Ticket #376
2009-10-30 00:32:26 +01:00
1dccd37c70
re-order MultiFact implementation to get it to compile
2009-10-29 22:00:17 +01:00
d2721378d5
get QueryResolver to compile
2009-10-29 21:59:02 +01:00
54aa7b4afe
WIP fixes and stubbing to get at compiling the MultiFact
2009-10-29 04:32:00 +01:00
3145064a21
change IterAdapter iteration control API to use free functions
2009-10-29 04:31:16 +01:00
0cef067c11
WIP adapt unit test and the argument-accepting MultiFact specialisation
2009-10-28 04:45:17 +01:00
2530e8c1a1
WIP try to create an extension point to MultiFact, allowing to accept argument(s)
...
sketch of an idea how to add an extension possibility
without messing up the basic MultiFact template
2009-10-27 05:13:38 +01:00
ec4b2eef00
WIP: test-driven brainstorming: how to build the query dispatcher table?
2009-10-26 01:39:25 +01:00
5968d35cdf
WIP maybe resolved now the knot in my design...?
2009-10-25 21:39:02 +01:00
5d9671cb2c
WIP place a ref-count into the result iterator
2009-10-25 16:18:53 +01:00
c3441ac26a
WIP Query<TY> implementation draft...
2009-10-24 00:23:22 +02:00
452e1bb727
WIP draft an unit test detailing QueryFocus operation
2009-10-20 05:34:58 +02:00
f01da49955
WIP planning the operations needed on QueryFocus
2009-10-20 04:31:50 +02:00
f0c9beb5c6
WIP design the ScopePath API by unit test
2009-10-18 19:08:21 +02:00
474c293197
first shot at Ticket #355 : use a default-constructed "invalid" PlacementRef
...
Making PlacementRef default constructible this way
would resolve the immediate problems; as any access
goes through an index lookup and thus will throw.
The bool check on this special ref yields false,
so this solution seems to fill the bill.
2009-10-18 01:30:43 +02:00
2e62a3b01b
WIP continue design how to discover session contents
2009-10-17 21:31:03 +02:00
2ca89010d1
introduce pointer-to-PlacementIndex typedef
2009-10-17 21:29:16 +02:00
b03577ea3f
document the stipulations lib::IterAdapter puts on his parameter types
2009-10-17 15:40:37 +02:00
3b1301be14
WIP stubbed some of the operations to implement on class Scope
2009-10-17 02:16:19 +02:00
cfc17e75ba
refined and clarified planning of Scope and QueryFocus
2009-10-16 21:20:30 +02:00
9451a6888f
start definition of new session::Scope interface
2009-10-16 03:13:57 +02:00
edbd54b062
Initial planning regaring the QueryFocus
2009-10-14 05:48:24 +02:00
193fd2d66b
Start the new Session structure with Timeline and Sequences
2009-10-14 05:39:49 +02:00
8e9edad9e7
fixes to make this dummy compile again
2009-10-11 07:10:29 +02:00
a8e606ba27
Merge NoBug release related changes
2009-10-11 07:00:48 +02:00
cd51e5fef0
Proc Command handling frontend finished and usable for now
...
Additional convenience shortcuts and a bit of polishing.
Closes Ticket #300
2009-10-11 05:57:46 +02:00
c6d5f8a0b4
Proc Command framework: *first integraton round finished*
2009-10-11 05:57:46 +02:00
ae01f85452
replace existing implementation with CommandImplCloneBuilder
2009-10-11 05:57:45 +02:00
fdd940feba
clone builder implemented; problem resolved according to test
2009-10-11 05:57:45 +02:00
e32044e453
refactor CmdClosure to accept a cloneBuilder visitor
2009-10-11 05:57:45 +02:00
bb7ff5e317
WIP draft of clone builder implementation
2009-10-11 05:57:45 +02:00
7812792f75
unit test showing current malfunction of UNDO state due to cloning
2009-10-11 05:57:45 +02:00
a4ad41a4e9
Idea how to solve the problem with cloning the UNDO functor
2009-10-11 05:57:45 +02:00
0bcbf7fee0
fix further problems uncovered by test; allow for anonymous cloning
2009-10-11 05:57:45 +02:00
17c7160f02
refactor CommandDef, get rid of the possibility of re-defining. YAGNI!
2009-10-11 05:57:45 +02:00
37cd451367
fix sloppy definition of less-than comparison, which caused malfunction of registry
2009-10-11 05:57:45 +02:00
2ad896027b
why doesn't the reverse lookup return a Symbol?
...
damn! I have the vague rememberance that I had a reason for
not returning a Symbol. Anyway, here it goes...
2009-10-11 05:57:44 +02:00
d2acf48587
change semantics of state predicates, as it seems less surprising this way
2009-10-11 05:57:44 +02:00
95db5f9840
clarify state predicates in conjunction with command lifecycle
2009-10-11 05:57:44 +02:00
c8e049cdea
Command system basic unit test pass
2009-10-11 05:57:44 +02:00
5861597d7f
smash a glorious ref-to-local object bug
2009-10-11 05:57:44 +02:00
4f1c034b58
CommandRegistry: function test pass
2009-10-11 05:57:44 +02:00
07de2a767b
implement equality comparison on CommandImpl level
2009-10-11 05:57:44 +02:00
fea85acd0e
equality comparisons on function erasure objects covered
...
...well, as good as possible, as boost refuses to implement this feature
2009-10-11 05:57:43 +02:00
231278bafe
implemented comparison on function erasure, pending test
2009-10-11 05:57:43 +02:00
5068016805
WIP draft how the equality comparison on a function erasure could work
2009-10-11 05:57:43 +02:00
96d5ce74c4
Ticket #292 : outline unit test explicitly covering equality comparisions
2009-10-11 05:57:43 +02:00
4c3fc9e64d
WIP getting CommandRegistry_test to run
...
(equality on CommandImpl is still missing)
2009-10-11 05:57:43 +02:00
39f50b548c
Ticket #266 : simplify and combine the bind(...) mixin templates into a single header
2009-10-11 05:57:43 +02:00
2aac4e8ea0
remove spurious AcceptArgumentBinding mixin from ArgumentHolder
...
it's an implementation class, after all, and doesn't need a convenience API
2009-10-11 05:57:43 +02:00
abd23ae399
TypedAllocationManager (frontend) now in lib:: -- unit test pass
2009-10-11 05:57:43 +02:00
7bac890790
Test suite runner: pass exit code = 5 when having caught an exception
2009-10-11 05:57:42 +02:00
3835399c5f
Testsuite: catch exceptions at the level of invoking individual tests
2009-10-11 05:57:42 +02:00
cb7c884293
handling patterns usable for now. Close #275
2009-10-11 05:57:42 +02:00
c3d767b444
try out a recursive approach for the extensible ID
...
more of a general feasability study... to be continued later
2009-10-11 05:57:42 +02:00
455ee34344
start brainstorming on #279 (extensible ID)
2009-10-11 05:57:42 +02:00
8136b0a4b8
HandlingPattern: basic unit test pass
2009-10-11 05:57:42 +02:00
248b87f344
Basic implementation of HandlingPattern settled for now
...
the ''real implementation'' (integrated with the ProcDispatcher)
is still missing, but it's enough to get the tests going
2009-10-11 05:57:42 +02:00
effbb49afb
Dummy HandingPattern implementation for unit tests
2009-10-11 05:57:42 +02:00
bb45ad67d8
WIP change how the undo operation is invoked
2009-10-11 05:57:41 +02:00
7e4a984ed4
Finish MultiFact for now; use it to set up a table of HandlingPatterns
2009-10-11 05:57:41 +02:00
b7204e05ed
removed all the magic and made it simply instance based
2009-10-11 05:57:41 +02:00
bc6f8eebda
basically working draft; convoluted and with a lot of static magic
2009-10-11 05:57:41 +02:00
5910f21383
first draft impl regarding automatic installation of a singleton facotry into MultiFact
2009-10-11 05:57:41 +02:00
8ee76b1bfd
configurable factory? test-driven brainstorming
2009-10-11 05:57:41 +02:00
8c21f21acc
namespace cleanup: bring Singleton and Factory into lib::
2009-10-11 05:57:41 +02:00
e9b95e47cf
Command handling pattern? test-driven brainstorming
2009-10-11 05:57:40 +02:00
da8be6861c
WIP some musing about opening the session interface
2009-10-11 05:57:40 +02:00
777e80dd64
use BoolCheckable instead of explicit operator bool()
2009-10-11 05:57:40 +02:00
9376bff71e
race fixed, test pass
2009-10-11 05:57:40 +02:00
f6397ef11c
implemented TypedCounter and TypedContext.
...
Test basically pass, but shows an interesting
deadlock from time to time
2009-10-11 05:57:39 +02:00
373f9a5724
fix Ticket #272 (synchronisation from const methods)
2009-10-11 05:57:39 +02:00
517fb8b200
multithreaded torture test for the (planned) TypedCounter
2009-10-11 05:57:39 +02:00
83cd7fd830
Extract the type-based counting into a separate facility
2009-10-11 05:57:39 +02:00
c921d927a2
provide API for counting the allocations (unimplemented)
2009-10-11 05:57:39 +02:00
022a961284
finish implementation of CommandRegistry
2009-10-11 05:57:39 +02:00
6a77bebb6a
fix type for search in map
2009-10-11 05:57:39 +02:00
7fccecacce
WIP using the reverse index to find out the Command-ID
...
this includes using a Command* as key within a std::map
2009-10-11 05:57:39 +02:00
4c9af94e1d
improve and clean up the Command interface
2009-10-11 05:57:39 +02:00
8dc434a141
CommandRegistry implementation (...)
2009-10-11 05:57:39 +02:00
109cc4701c
unit test to verify building a hashtable with Symbol keys
2009-10-11 05:57:38 +02:00
18c357eb4a
start using Symbol datatype instead of a disguised char*
2009-10-11 05:57:38 +02:00
f278d4521c
WIP: to make the ID type usable as hashtable key
2009-10-11 05:51:31 +02:00
c9f3a345dc
WIP towards CommandRegistry implementation
2009-10-11 05:51:31 +02:00
4517766517
integrating branches
...
Merge commit '7f09f57cbde4932269c390da70c42a622cd1275f'
2009-10-11 05:50:27 +02:00
f313a0fb14
include GUI work
...
Merge commit 'lumi/gui'
2009-10-11 05:46:46 +02:00
3b1e2f00a8
rewrite simulated "subsystem". Hopefully closes Ticket #253
...
- clarify the meaning of run(true), run(fail), run(throw)
- do a real handshake between start() and the subsystem thread
- avoid accessing the SubsystenRunner after signalling termination
2009-09-29 02:38:07 +02:00
09b9f64842
diagnostics about captured state (on the CmdClosure API)
2009-09-21 03:33:56 +02:00
246c535569
Rewrite CmdClosure to actually invoke rather then to create a tr1::bind term
...
basically this should close Ticket #205 (some details missing)
2009-09-21 03:15:06 +02:00
925fa685b1
WIP change HandlingPattern to work on CommandImpl rather
2009-09-21 03:11:46 +02:00
fd7337f801
WIP drastically simplify command-mutation.
...
As we're using now a command frontend interface and
and CommandImpl frame in the Registry, most of the
functionaliry on Mutation's interface is superfluous.
Additionally, this separates Mutation and Closure.
2009-09-20 18:37:20 +02:00
d15903f1db
resolve design mismatch, as spotted by Ticket #260
...
Hopefully this closes #260
2009-09-07 03:25:00 +02:00
f21366833d
Merge latest work on the builder interface + NoBug adaptations
...
Merge commit 'bb8eb4055020c609245fe35a369c70e2acb1daf6' into session
2009-09-07 01:25:28 +02:00
27f437db8f
autotools fix
2009-09-05 20:10:06 +02:00
6fc7aedd95
Merge NoBug-release related additions
...
Merge branch 'master' into builder
2009-09-05 19:16:13 +02:00
937df66774
apply Temp.Fix for Ticket #260
2009-09-05 19:14:36 +02:00
70b4b0ad41
Fix some more format warnings
2009-09-05 19:11:17 +02:00
1969adaf02
Integration of Builder/NodeFactory implementation draft. Stubbed to pass compiler
2009-09-05 18:15:58 +02:00
1430965798
WIP: implementation of a node fabrication code path
2009-09-05 04:10:51 +02:00
32612a1a97
WIP: link between asset::Proc and the Build process, allowing to resolve the processing function
2009-09-05 03:04:00 +02:00
8c6eaa6394
WIP WiringSituation starts to become an important entity on it's own
2009-09-04 17:43:53 +02:00
Christian Thaeter
f73cc47da6
Fix all things which broke compilation with NoBug 200909.1
2009-09-04 08:53:03 +02:00
Christian Thaeter
d50d9a30f2
FIX: compiler warnings in mpool.c
...
Some gcc versions warn about type aliasing errors here, by using char*
this is fixed (and actually the right type here).
2009-09-04 08:02:16 +02:00
391181e699
WIP some further musing about how to do a simple invocation for unit testing ProcNode
2009-09-04 01:59:44 +02:00
83067aa318
WIP: ...to do so, some considerations regarding the entrance point..
2009-08-31 12:16:47 +02:00
ddb8805a73
WIP attempt to nail down a very simple example...
2009-08-31 01:32:53 +02:00
Joel Holdsworth
5bfdf73f7d
Replaced gavl_time_ts with lumiera::Times
2009-08-30 16:26:27 +01:00
Joel Holdsworth
2c68137be4
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-08-30 15:31:07 +01:00
2a54f92a98
WIP: implement creation of concrete wiring descriptor
2009-08-30 14:50:40 +02:00
209765def5
WIP: correct indentation, add some comments...
2009-08-30 14:11:14 +02:00
99310dc0af
WIP: continue with considerations how actually to build and wire an individual ProcNode
2009-08-29 18:33:46 +02:00
6da18f76c0
re-read the code, some cleanup, define Tickets...
2009-08-29 16:13:42 +02:00
592c79b839
FIX after rebase... still WIP
2009-08-29 13:27:47 +02:00
3ef03bc3c0
WIP adjust fixture, segments and segmentation
2009-08-29 13:27:47 +02:00
9269db45cc
WIP rename class Processor to RenderGraph (engine)
2009-08-29 13:19:43 +02:00
2b3fd7ef1b
WIP backbone of the builder
2009-08-29 13:06:59 +02:00
091181bbbc
spell checks (and read the code again...)
2009-08-29 13:06:59 +02:00
25a7d75ad9
WIP still trying to invent chicken and egg together....
2009-08-29 13:02:26 +02:00
ff8be4493c
WIP get rid of some cruft and placeholders
2009-08-29 13:02:26 +02:00
97ee7a95ea
WIP try to get grip at the actual node creation...
...
determining the right context for node creation to happen
2009-08-29 12:26:47 +02:00
4214284d35
accessing the frameID from within the pull() call
2009-08-29 12:26:47 +02:00
06000769e2
re-read the code concerning the pull()-call, fix obvious mismatches, comment, plan...
2009-08-29 12:23:41 +02:00
ba05a6b135
test coverage for the more exotic RefArray impls
2009-08-29 12:23:41 +02:00
8c6b6c5192
WIP further RefArray implementations
2009-08-29 12:23:40 +02:00
1c388287c9
simple vector wrapping implementation of the RefArray interface
2009-08-29 12:23:40 +02:00
1b4aa98cdf
use the new stream type definitions to get ahead with the builder work
2009-08-29 12:19:26 +02:00
236e267af1
basic coverage for TypedAllocationManager
2009-08-29 03:10:34 +02:00
45c04b4463
re-visit the command impl allocation; add a quick-n-dirty implementation based on heap allocation
2009-08-29 02:16:28 +02:00
1533e5bd0d
fix a problem with formatting arbitrary types; reneable the broken tests
2009-08-28 20:33:20 +02:00
08d4be3149
Fixes for building on 32bit system
2009-08-21 02:42:11 +02:00
4acb42d272
autotools fixes...
2009-08-19 15:36:03 +02:00
a845a4d234
unit test covering the cmd registry
2009-08-11 08:35:37 +02:00
0d4d3f25dc
implement mising diagnostics
2009-08-11 06:32:29 +02:00
8925c9a73b
see ticket 205
2009-08-10 01:33:26 +02:00
b9763b6c16
command frontend sort-of written now, pending integration test
2009-08-10 01:32:33 +02:00
5988b1d697
clean up command interface
2009-08-10 01:30:59 +02:00
9f40e4af9c
implemented definition and access of handling patterns
2009-08-09 21:55:47 +02:00
2e58611e2d
define session lifecycle event IDs
2009-08-09 19:22:07 +02:00
eada1aa745
now able to solve the store-as (clone) problem
2009-08-09 04:12:46 +02:00
da3cf5a6a6
rework the cmd registry to build on this
2009-08-09 03:48:19 +02:00
e178bd0811
completely factor out allocation/deallocation and placement new into a base class
2009-08-09 03:47:32 +02:00
ba2d4dc761
a handle may also be activated by sharing ownership with a manager
2009-08-09 03:38:44 +02:00
82aee60b14
WIP attempt to solve the clone problem (draft)
2009-08-07 17:13:21 +02:00
09a594d2c5
WIP: considerations for a store-as (clone) operation
2009-08-06 18:00:19 +02:00
a677e2edde
second shot for implementing the binding: better the other way round
2009-08-04 02:25:50 +02:00
b6246cbb10
rename the operation "closeArguments", which is more to the point
2009-08-04 02:24:47 +02:00
efd6e99c99
first shot at solving the problem how to bind later on
2009-08-04 01:30:50 +02:00
155254dd9b
build new cmd impl object within registry
2009-08-03 18:17:41 +02:00
59f42c28ef
get type-id string
2009-08-03 18:15:08 +02:00
b3cd834d9e
try to get generated code a bit more readable
2009-08-03 17:59:13 +02:00
853aff1228
fixed and stubbed until it passes compiler again
2009-08-02 20:57:04 +02:00
327cbc822a
WIP extended binding and invocation to support the convenience shortcuts
2009-08-02 20:55:43 +02:00
4236d0649a
WIP: implement the basic operation of execution pattern
2009-08-02 18:00:03 +02:00
f2126c0764
WIP partially get new proc-layer command impl through the compiler
2009-08-01 23:57:12 +02:00
8971d667cf
WIP more implementation...
2009-08-01 17:14:27 +02:00
c2d9a02303
WIP some more nailing down of implementation details
2009-08-01 02:18:01 +02:00
c9e143995e
WIP phase out the superfluous static access functions
2009-07-30 20:50:57 +02:00
655177921f
WIP this might solve the race condition
2009-07-30 03:57:19 +02:00
eaa4adddde
WIP more implementation drafting...
2009-07-29 16:55:15 +02:00
19dd606f54
WIP some implementation drafting...
2009-07-27 02:38:53 +02:00
3ebb8d0285
WIP and more stubbing...
2009-07-26 02:00:47 +02:00
c85eb20cee
allow bind functions with return value
2009-07-26 02:00:00 +02:00
1db718c2b3
WIP more stubbing...
2009-07-25 19:21:50 +02:00
299c316ad4
Fix: containment check should take const args
2009-07-25 19:20:21 +02:00
76b6f5d374
ooops, forgot some copy-n-pastes
2009-07-25 17:51:59 +02:00
211a2dabdd
WIP stubbing undefined operations...
2009-07-24 17:50:14 +02:00
c5f781596e
reorganise the intermediary command def context classes
2009-07-23 03:47:27 +02:00
d80f0cfb8d
WIP start some drafting
2009-07-21 04:49:00 +02:00
c85d1d3cd8
ArgumentHolder finished, low-level integration test pass
2009-07-20 07:03:18 +02:00
63bad834c1
comparisons and state detection now working as expected
2009-07-20 05:09:46 +02:00
33757bbac3
why the hell doesn't boost provide functor comparison operators..
...
(yes I know why: it can't be implemented 100% correctly)
2009-07-20 04:21:24 +02:00
e879e0c81b
implemented argument and memento comparisons (doesn't pass test yet)
2009-07-19 19:13:25 +02:00
f73c938850
ArgumentHolder reworked to use InPlaceBuffer; now passes basic tests
2009-07-19 08:32:49 +02:00
7f44de24d7
collecting some formatting & diagnostics utils here...
2009-07-19 08:03:54 +02:00
5784bd2819
Fix: use boost::operator! for binding expr. to avoid infinite recursion
2009-07-19 06:24:36 +02:00
5f0c9e209e
remove any use of boost::function in favour of <tr1/functional>
...
this resolves some long standing problems with ambiguous placeholders
closes Ticket #161
2009-07-19 05:47:36 +02:00
3ecd8047df
assertion to guard buffer size limit
2009-07-19 00:41:37 +02:00
584878e0f8
yet another variation of managing an object in-place
2009-07-18 22:07:46 +02:00
6510155e76
back on route: trying to get the ArgumentHolder to fly...
2009-07-18 19:36:32 +02:00
3f8d82a13f
Victory! bashed the iter-adapters and the ScopedPtrVect into submission, finally.
2009-07-17 20:22:48 +02:00
165cfc7fcd
WIP allow some conversions, attempt to define the const_iterator properly
2009-07-17 04:13:14 +02:00
4f5fca6858
now able to implement ScopedPtrVect iteration properly
2009-07-16 19:36:01 +02:00
a0187847da
reworked IterAdapter, added RangeIter for STL ranges. Should do for now
2009-07-15 07:26:49 +02:00
b2f72ef0fc
IterAdapter now passes test, but is still rather uggly...
2009-07-14 06:29:04 +02:00
e2cd4aba8a
fix name, add test for postfix increment
2009-07-13 01:25:24 +02:00
1a69026acb
spelling fix
2009-07-13 01:16:40 +02:00
60cf9e8c9e
trying to implement a simple iterator adapter working
...
(oops, didn't expect this to be so difficult...)
2009-07-13 01:16:30 +02:00
fa3d596a59
helper for accepting arguments passes unit test
2009-07-12 23:21:37 +02:00
30db042b16
add component access to the time wrapper (quick'n dirty)
2009-07-12 22:51:04 +02:00
66f7b1be17
WIP impl.draft for the helper...
2009-07-12 20:08:35 +02:00
b392d6bf84
WIP design a helper for accepting the arguments to bind
2009-07-12 19:30:55 +02:00
accaba4904
WIP impl draft for ArgumentHolder
2009-07-12 18:55:33 +02:00
6ef1aca3a4
test driven brainstorming
2009-07-11 20:06:35 +02:00
892f382f0f
Ticket #182
2009-07-11 19:23:20 +02:00
9aa5ba560c
finish and tidy up control::Mutation, unit test pass
2009-07-10 19:04:01 +02:00
e892a0087a
remove this bool check...
...
seems to be overengineering! The same information can be easily accessed throught the ArgumentHolder
2009-07-10 19:00:40 +02:00
6bd1e8e179
tidy up and finish the MementoTie + unit test
2009-07-09 20:47:21 +02:00
9e95ec8b60
MementoTie unit test pass
2009-07-09 18:35:22 +02:00
2eb8b763d6
got the helper working (prepending a binder to an argument position)
2009-07-09 04:41:44 +02:00
c7b6165c6c
WIP resolved the simple mismatches, but still...
2009-07-08 05:36:02 +02:00
2348a5af2b
WIP draft capturing mechanism implementation, using the new tools and helpers...
2009-07-06 05:26:31 +02:00
c8c577c4cc
WIP factored out another helper, not yet tested...
2009-07-06 05:25:33 +02:00
2462dee5ca
issue resolved, tests pass, finally (whew)
2009-07-06 02:25:19 +02:00
c3b8d39507
refactoring into two distinct concepts. maybe solution?
2009-07-05 22:05:11 +02:00
e2bb2c440c
use OpaqueHolder to solve the problem with the function type erasure...
...
...tried to use 2 policies, but doesn't work correct (and is uggly)
2009-07-05 03:38:33 +02:00
4d1f45fc43
activate the new test, some comments
2009-07-05 02:26:59 +02:00
6e3bfb08e6
OpaqueHolder implemented and passes unit test
2009-07-04 19:30:54 +02:00
077d3d176e
WIP implementation draft
2009-07-04 04:35:17 +02:00
3cc49d0f68
need to factor out a special holder class to solve the problem with the empty check
2009-07-04 03:32:15 +02:00
c48f9086b7
extract util: isSameObject (bare ptr comparison)
2009-07-04 02:43:49 +02:00
98510cc943
rename and clean up some headers
2009-07-04 00:24:55 +02:00
b65658c10d
try to fix a failing test (not really fixed yet)
2009-07-04 00:22:16 +02:00
d13d461a9c
revamp namespace func. Finish excursion on function handling
2009-07-03 14:31:52 +02:00
b7be61c4e6
composition now working
2009-07-03 13:49:12 +02:00
31e9d59d80
WIP draft solution for next task
2009-07-01 04:47:52 +02:00
8d8f184ede
check more cases, incl. function pointers
2009-07-01 03:23:26 +02:00
67e5779d24
now also able to close the last function argument
2009-07-01 02:29:11 +02:00
81d0e133c8
new additions in this area now reasonable covered ( closes #142 )
2009-07-01 00:43:19 +02:00
ca807205f9
cleanup/refactor simple type seq handling, fix broken Split template
2009-06-30 04:54:50 +02:00
320f984270
got partial application working, at least in the "front" case
2009-06-29 06:34:20 +02:00
a19892ac6a
WIP some steps towards a solution of the memento binding problem
2009-06-29 06:33:42 +02:00
6029c2c4e2
better name it Splice, and extend the capabilities a bit
2009-06-29 03:05:50 +02:00
03c9edce49
factored out yet another little helper, incl unit test
2009-06-29 02:03:30 +02:00
14f3641f9b
helper: initialise a tuple from an existing sub-tuple
2009-06-28 20:41:33 +02:00
51712f218d
still fighting to get capture fun and undo func bound together
2009-06-28 15:27:27 +02:00
8ea07bda7a
use the new bool conversion mixin to implement check for valid functor
2009-06-26 19:04:22 +02:00
b45cd49c8b
separate header + unit test for this bool check mixin
2009-06-26 18:50:30 +02:00
5291f6e41a
move the member pointer to the current stack frame...
...
hopefully the optimiser will remove it completely ;-)
2009-06-26 17:13:36 +02:00
a30461780b
this way it works, but would cost additional storage....
2009-06-26 16:38:37 +02:00
Joel Holdsworth
b8182f4341
Removed the toolbar
2009-06-26 11:14:01 +01:00
daeff6f5fd
WIP: how to define the bool conversion / validity check for the function holders?
2009-06-26 05:27:54 +02:00
e91cdd39e9
stubbed and commented out to get it to compile
2009-06-26 05:27:24 +02:00
5ab8c126e0
WIP compilation fixes and stubs; split off MementoClosure (incl. separate unit test)
2009-06-24 06:38:33 +02:00
69d6bad1f4
WIP brainstorming about a way how the extended memento capturing closure might work
2009-06-24 05:51:02 +02:00
2aee99f2f3
WIP working out the details of Mutation and UndoMutation
2009-06-23 05:54:54 +02:00
909c7a1715
now core operation of CmdClosure passes compler!
2009-06-22 06:18:13 +02:00
61f8c1814d
tuple test pass
2009-06-22 06:05:32 +02:00
db9ef808a5
refactoring to solve consistency problems uncovered by the tests
2009-06-21 19:52:33 +02:00
c3768b93a1
function closure utils finished and pass test
2009-06-21 08:38:24 +02:00
231834d2e9
basic tuple creation and outline of the remainder of the test
2009-06-21 02:03:22 +02:00
ad7c326c9c
got basic diagnostics for type tuples working
2009-06-20 23:18:02 +02:00
294c254f29
Fix instantiation of Tuple datastructs
2009-06-20 23:17:22 +02:00
0117e4bce5
start a function-closure unit test...
2009-06-20 18:41:18 +02:00
95f0b26e38
start a type tuple unit test...
2009-06-20 18:06:07 +02:00
1620b8dcef
WIP fixes to Apply<N>, but yet doesn't work...
2009-06-20 09:32:22 +02:00
b26de14dcf
WIP how to apply the param tuple?
2009-06-20 09:22:33 +02:00
bc94f299e2
hey... now storing the operation is almost effortless!
2009-06-20 07:13:20 +02:00
a28c05877f
test pass (resolves Ticket #174 )
2009-06-20 06:11:09 +02:00
079030818d
draft a test to sharpen the idea of the function holder (erasure)
2009-06-20 04:43:52 +02:00
a565bfef73
some header-renaming
2009-06-20 01:28:47 +02:00
006c29c625
Idea how to store an unspecified functor to be used later as Command implementation
2009-06-20 00:00:29 +02:00
f358f548d1
draft version of CmdClosure and Mutation interface now passing compiler
2009-06-19 19:11:33 +02:00
e951c468a7
WIP: header rename
2009-06-19 14:47:37 +02:00
4307191369
merging latest bugfixes
...
Merge branch 'master' into session
2009-06-19 14:36:22 +02:00
0ab5a92629
WIP: test-driven brainstorming... how to capture state and params.
2009-06-19 05:57:06 +02:00
Christian Thaeter
52ac7bdc5e
FIX: bogus pointer dereference causing gcc to barf
...
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) reported:
./src/lib/mpool.c: In function ‘bitmap_bit_get_nth’:
./src/lib/mpool.c:119: warning: dereferencing type-punned
pointer will break strict-aliasing rules
2009-06-19 04:22:29 +02:00
8dfc234729
small fix: wrong log formatting spec detected by valgrind
2009-06-19 03:21:43 +02:00
fba135c746
Merge backend and testsuite improvements
2009-06-19 01:19:20 +02:00
37c0175bd1
fix crash on closing lumiera, in case of starting multiple threads
2009-06-19 00:45:08 +02:00
3f9902f682
fix possible race in dummy player: sync on tick thread termination
2009-06-19 00:40:31 +02:00
d1b425aba9
finish and tidy the extracted headers
2009-06-17 06:55:18 +02:00
9d04f48c51
WIP: further split the headers
2009-06-16 12:07:49 +02:00
ab4b4c71e6
WIP: start extacting new headers
2009-06-16 11:39:36 +02:00
441cb6b9e2
WIP try to solve the problem of closing a function with arbitrary args
2009-06-15 03:47:05 +02:00
7741b50b91
WIP rewrote the Sub-Tuple extractor into a simplistic Tuple type
2009-06-14 19:40:35 +02:00
b937bd08ae
WIP: parameter closure brainstorming
2009-06-14 05:38:35 +02:00
246529bae9
concpet draft of parameter type extraction and checking works (i.e. compiles)
2009-06-10 05:00:01 +02:00
e3da082016
WIP idea to allow arbitrary command parameters
2009-06-10 03:42:23 +02:00
102e96891b
fixing, stubbing, and some chainsaw surgery to get half-finished code through the compiler
2009-06-09 09:05:19 +02:00
3a7de1654a
WIP: create a "scrapbook" test for trying out some ideas
2009-06-08 21:29:09 +02:00
ba37045b48
WIP: interface/framwork skeleton
2009-06-08 04:50:29 +02:00
f1827ea753
WIP: test support macro for exception check
2009-06-07 03:22:08 +02:00
2731e34c3e
WIP: test driven brainstorming: basic MObjectRef behaviour
2009-06-07 00:45:55 +02:00
091c3a20ef
fix indentation
2009-06-06 23:58:44 +02:00
Christian Thaeter
64c1238445
FIX: mpool: macro for constants depending on host wordsize
...
This might fix http://issues.lumiera.org/ticket/136 I have no 32bit
system to validate this.
2009-06-06 16:05:34 +02:00
ee7f2d6c0f
WIP: replace direct ctor call by an embedded factory member
2009-06-06 07:12:09 +02:00
90dffdc9d2
some cleanup and renaming
2009-06-06 06:55:13 +02:00
815f8569ce
WIP: accessing the default PlacementIndex (within the Session)
2009-06-06 06:18:37 +02:00
fa31f3736e
WIP some details regarding PlacementRef
2009-06-06 04:23:11 +02:00
4ee0b18731
Fix: activation of MObjectRef, exception safety
2009-06-06 04:04:33 +02:00
638022c07f
WIP: add run-time type check API to Placement
2009-06-06 04:02:08 +02:00
d740d9734d
re-enable test for waiting on thread termination
2009-06-05 05:35:24 +02:00
b6d22bb2e0
fix: condition for signalling thread termination is optional
2009-06-05 05:04:45 +02:00
e0ff915987
adapt thread-wrapper.hpp to backend thread API change
2009-06-05 05:00:53 +02:00
Christian Thaeter
58f1fbe3a8
mpool: completion
...
fix tests, add some benchmarks
finished documentation, cosmetics, cleanup
2009-06-04 18:11:45 +02:00
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
bdcef03834
Fix: (re)add gthread to make the dummy work
2009-04-24 17:33:03 +02:00
ae67c6db5c
merge buildsystem changes (dummy player and GUI/gdl work)
2009-04-24 17:20:39 +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
e23417cfc0
WIP quick'n dirty Tick service implementation
2009-02-01 01:24:33 +01:00
Joel Holdsworth
17c1942c68
Removed some redundant name setting code
2009-02-01 00:05:15 +00:00
5ebd0dcf5a
WIP fix namespace
2009-02-01 01:01:44 +01:00
Joel Holdsworth
3ad2230864
Added synchronisation between multiple views of the track title
2009-01-31 23:45:32 +00:00
e78383b044
WIP continue with the skeleton of a DisplayService within the GUI
2009-02-01 00:43:21 +01:00
cc585dd0d6
comment, rename guinotification-facade
2009-02-01 00:02:50 +01:00
45668836ba
start fleshing out a display facade interface
2009-01-31 23:42:56 +01:00
ee950d6255
some cleanup and re-ordering
2009-01-31 23:42:56 +01:00
Joel Holdsworth
d3b6a7a07f
Merge commit 'ichthyo/guistart' into merge
2009-01-31 22:30:01 +00:00
19e85a95d4
fix: better make the shared_ptr a member of the Handle class
...
this change circumvents compiler uncertainities with the operator bool()
and actually seems to be better design too...
2009-01-31 23:28:09 +01:00
Joel Holdsworth
946a26f574
Merge commit 'ichthyo/guistart' into merge
2009-01-31 21:26:10 +00:00
Joel Holdsworth
9e585ab591
Removed stupid WindowManager singleton
2009-01-31 21:17:05 +00:00
Joel Holdsworth
852377c1f1
Implemented New Window command
2009-01-31 21:14:53 +00:00
Joel Holdsworth
cef0e0e074
Added WindowManager::new_window, and used it as the standard way of
...
creaing the workspaces
2009-01-31 21:14:52 +00:00
Joel Holdsworth
1084a12e8a
Added theme icons support, and a New Window menu command
2009-01-31 21:14:52 +00:00
Joel Holdsworth
4a2e5c2762
Fixed the resources menu item
2009-01-31 21:14:52 +00:00
cbd27b0418
Completely reworked the design of the DummyPlayer API, now using the handle
...
this allows the C++ version to provide automatic lifecycle management for
the play process, while both versions of the API (C and C++) impose only
one level of indirection.
2009-01-28 02:49:20 +01:00
8419534f49
A generic opaque Handle type built on top of shared_ptr, for managing lifecycle
2009-01-28 02:44:59 +01:00
aa7fe2591c
use a dedicated header to pull up early NoBug init
2009-01-26 01:09:49 +01:00
a8285878ac
fix some logging flags after merge
2009-01-25 03:27:16 +01:00
50625039d0
merge NoBug changes from master to bring this devel branch up-to-date
...
Next things to do will be reworking the draft/dummy to support multiple playback processes and a display callback
2009-01-25 02:10:03 +01:00
5eea58986f
merge: ... bring in latest GUI additions from joel
2009-01-25 00:54:12 +01:00
10597beeba
mass rename: relocate basic Logging conf. from liblumieracommon to liblumiera
2009-01-25 00:24:42 +01:00
Joel Holdsworth
e5665f3820
Fixed a headers issue introduced by a proc merge
2009-01-24 21:36:50 +00:00
Christian Thaeter
62d24569b3
WIP: deploy new logging flags in proc
2009-01-24 22:30:26 +01:00
Christian Thaeter
288df8eb35
WIP: deploy new logging flags in lumiera
2009-01-24 22:30:26 +01:00
Christian Thaeter
b9fc2d6522
WIP: deploy new logging flags in lib
2009-01-24 22:30:25 +01:00
Christian Thaeter
9aefc2e971
WIP: deploy new logging flags in gui
2009-01-24 22:30:25 +01:00
Christian Thaeter
6a5951bad6
WIP: deploy new logging flags in common
2009-01-24 22:30:25 +01:00
Christian Thaeter
65142d9cae
WIP: deploy new logging flags in backend
2009-01-24 22:30:25 +01:00
Christian Thaeter
16ebdd65b1
some more logging flags, little cleanup, fix to Makefile.am
2009-01-24 22:30:25 +01:00
Christian Thaeter
ef6344057c
first attempt to organize the nobug flags for review
...
I grepped out all flags which are actually defined/used in lumiera and
refactored them into one big tree here. There are some annotations and
issues which shall be finally resolved. Please check if the intended
hierarchy looks OK this way and add more flags when you think some are
missing. I chosen to make a quite verbose hierarchy, this doesnt cost much
in nobug and adds some flexibility. The Documentation at the head needs to
be reviewed. Many flags which are collected here need to be brought back
into the subsystems which use them, this is only to get a big picture for
now.
2009-01-24 22:30:25 +01:00
Joel Holdsworth
51f05ebb3e
Merge branch 'guistart' of git://git.lumiera.org/lumiera/ichthyo into gui
2009-01-24 21:28:45 +00:00
19c7226c9f
Autotools fix: add dummy-player-service to lublumieraproc.so
2009-01-24 22:25:50 +01:00
e524e8c528
Fix the most obvious lockups ... but the design still doesn't feel right for me!
2009-01-24 21:33:41 +01:00
Joel Holdsworth
c938526a94
Renamed panel-assets icon to panel-resources
2009-01-24 18:40:20 +00:00
Joel Holdsworth
2f335a87d1
Added an initial resources notebook
2009-01-24 18:31:26 +00:00
Joel Holdsworth
9d9f7c40e9
Renamed Assets to Resources
2009-01-24 18:18:41 +00:00
Joel Holdsworth
0355c83f0e
Added handling for when the user drags beyond the end of the tree
2009-01-24 17:50:18 +00:00
Joel Holdsworth
262ee3655b
Added is_descendant_of method to tree
2009-01-24 17:19:10 +00:00
Joel Holdsworth
ce37fa649d
Added a comment
2009-01-24 17:04:31 +00:00
Joel Holdsworth
28c758b032
Tidied and documented TimelineHeaderWidget
2009-01-24 15:54:19 +00:00
Joel Holdsworth
4bdee16230
Fixed a more flaw in drop logic
2009-01-24 15:42:45 +00:00
Joel Holdsworth
5740a3687e
Removed spurious curlies
2009-01-24 15:39:30 +00:00
Joel Holdsworth
64a7941002
Fixed a bug related to the scroll slide timer not being correctly
...
terminated
2009-01-24 15:28:54 +00:00
Joel Holdsworth
73f7380506
Removed some debug messages
2009-01-24 15:15:38 +00:00
Joel Holdsworth
ec78f73ca9
Timeline scroll is updated as the layout changes
2009-01-24 14:41:32 +00:00
Joel Holdsworth
f327dcab7a
Tidyups
2009-01-24 14:34:26 +00:00
Joel Holdsworth
aa5cf0ea3a
Made a track expand when the dragging track is going to be dragged
...
inside
2009-01-24 14:33:49 +00:00
Joel Holdsworth
1951324726
Corrected a typo
2009-01-24 14:17:20 +00:00
Joel Holdsworth
7a066cdd72
Fixed bug in measure branch height
2009-01-24 14:16:33 +00:00
Joel Holdsworth
523eecfc24
Fixed drag by expander bug
2009-01-24 14:12:13 +00:00
Joel Holdsworth
b48c5e0cc0
Added some ParentTrack documentation
2009-01-24 13:00:56 +00:00
Joel Holdsworth
0689e0256c
Refactored ParentTrack::remove_descendant_track
2009-01-24 12:59:56 +00:00
Joel Holdsworth
ed1f4abfea
Refactored find_branch_parent
2009-01-24 12:50:49 +00:00
Joel Holdsworth
e2992c62ef
Documented model::GroupTrack
2009-01-24 12:31:03 +00:00
Joel Holdsworth
f0c7d85a1f
Documented model::Sequence
2009-01-24 12:30:07 +00:00
Joel Holdsworth
2f12e5b239
Reorganized test code
2009-01-24 12:26:50 +00:00
Joel Holdsworth
c0d0081677
Documented model::ParentTrack
2009-01-24 12:25:02 +00:00
Joel Holdsworth
e7481afc3d
Renamed remove_child_track -> remove_descendant_track
2009-01-24 12:23:18 +00:00
Joel Holdsworth
41f394a57b
Excised ObservableList::to_list
2009-01-24 12:18:12 +00:00
Joel Holdsworth
53297cccd6
Tidied and documented Track::find_parent
2009-01-24 12:02:09 +00:00
Joel Holdsworth
c88aec9c03
Added some documentation to model::Track
2009-01-24 11:45:47 +00:00
Joel Holdsworth
9879aef3dd
Tidied and documented TimelineLayoutHelper
2009-01-24 10:58:54 +00:00
Joel Holdsworth
1908ff08a0
Removed extraneous TimelineLayoutHelper::draggingTrack member
2009-01-24 10:37:04 +00:00
Joel Holdsworth
e15adf1afb
Reorganized attempt_drop_* functions
2009-01-24 10:15:58 +00:00
58512e8a34
First version working again. Thread handling is not stable and stop hangs though
2009-01-23 20:23:24 +01:00
48a632434a
switch from Glib::Mutex to an object monitor (using LumieraMutex)
2009-01-23 19:57:12 +01:00
6c3492396c
Refactoring: switch gui::PlaybackController to use the player service
2009-01-23 04:15:58 +01:00
791b09142a
Refactoring: extract test image generation code into a separate class
2009-01-23 03:05:21 +01:00
49a865fa57
merge latest GUI additions (and fixes from master) for colaboration on the Player mockup
...
this branch still corresponds to joel/gui
2009-01-22 23:26:08 +01:00
7150ab9ee9
add implementation of PlayProcess logic
2009-01-22 23:16:46 +01:00
3dae60f559
add missing stubs to make it pass the compiler
2009-01-22 17:29:17 +01:00
Joel Holdsworth
69253909e3
Initial drop code added
2009-01-21 23:48:56 +00:00
Joel Holdsworth
f18c039074
Replaced an errant Glib::ustring with std::string
2009-01-21 22:18:55 +00:00
Joel Holdsworth
5eadcfb56a
Added boost and std namespaces to model/track.cpp
2009-01-21 22:15:50 +00:00
Joel Holdsworth
355da88630
Added a dragging cursor
2009-01-21 18:40:13 +00:00
Joel Holdsworth
cb13f5f74c
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-01-21 18:21:08 +00:00
Joel Holdsworth
1472a2ebe4
Improved track drop code
2009-01-21 18:20:11 +00:00
974e83676a
Further ClassLock refactoring; added linkonce assertion check
2009-01-21 13:04:28 +01:00
801f070a7d
Fix for broken logic of the ClassLock (showed up on Ubuntu Hardy)
...
this was nice copy-n-paster error, of course the implementation
namespace was never intended to be anonymous.
2009-01-21 12:19:02 +01:00
Joel Holdsworth
78e0f9bbe6
WIP: Gave dragging a more immediate feeling
2009-01-21 00:20:33 +00:00
Joel Holdsworth
d209e0e2f2
Made drop targets more sensible
2009-01-20 23:31:40 +00:00
Joel Holdsworth
d42bc4ea90
Fixed a bug in tree
2009-01-20 23:17:40 +00:00
Joel Holdsworth
b0f56c070d
WIP: Initial commit of prototype real drop hit test code
2009-01-20 21:39:33 +00:00
962921d375
WIP (still doesnt compile...) add impl of the forwarding proxy...
2009-01-20 12:41:21 +01:00
Joel Holdsworth
f6e28febdb
Removed static App* constants in GtkLumiera - replaced with static
...
functions
2009-01-19 19:25:06 +00:00
Joel Holdsworth
977cbf9e64
Fixed track drag raise behaviour
2009-01-19 18:14:52 +00:00
60d41ea017
WIP (unfinished, doesn't compile) flesh out some impl details
2009-01-19 12:43:28 +01:00
29b9887faa
first draft of a Dummy-Player service
2009-01-19 11:38:20 +01:00
198d6bde73
better make GuiNotification an experimental interface (Version=0)
2009-01-19 02:21:41 +01:00
Joel Holdsworth
1be33426e4
Reduced the hack level in the test card
2009-01-18 23:26:41 +00:00
c6bc14375c
write a draft how I'd like to deal with joining threads.
2009-01-18 22:14:56 +01:00
2679156a9c
Thread-wrapper: improve comments, push action down into private function
2009-01-18 22:14:56 +01:00
63565ebd97
merge latest work from Joel for colaboration on the Player mockup, adjusting build-dependencies
2009-01-18 22:13:17 +01:00
Joel Holdsworth
20b2cb1ee5
Implemented a funky test card generator
2009-01-18 17:41:55 +00:00
Joel Holdsworth
b0db84ec14
Implemented intial playback controller thread
2009-01-18 16:17:39 +00:00
Joel Holdsworth
9197aa2ddf
WIP: PlaybackController can now push frames to the Viewer
2009-01-17 17:37:06 +00:00
Joel Holdsworth
ebe91793c5
WIP: Corrected some compile problems
2009-01-17 16:53:01 +00:00
Joel Holdsworth
bbbda188e2
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-01-17 16:34:19 +00:00
Joel Holdsworth
d3f94730b5
Removed a spurious include
2009-01-17 16:17:42 +00:00
Joel Holdsworth
d166238922
Added the new controller classes
2009-01-17 16:12:11 +00:00
Joel Holdsworth
ebb552e323
Transitioned to references of project instead of pointers
2009-01-17 15:38:39 +00:00
Joel Holdsworth
47296381a8
WIP: Added keep-above code
2009-01-17 15:05:19 +00:00
d1d8d164e1
fix the logging flag "sync" using the wrong parent
2009-01-17 14:31:40 +01:00
054c652571
improve error handling when starting the GUI thread
2009-01-17 14:31:40 +01:00
Joel Holdsworth
7a939e5d87
Added header dragging scroll slide animation
2009-01-17 11:09:44 +00:00
Christian Thaeter
bb8ad9fbd5
move threads back into the backend
2009-01-16 02:18:58 +01:00
Joel Holdsworth
c9d269872e
Fixed a bug with dragging when the timeline is scrolled down
2009-01-15 18:57:58 +00:00
Joel Holdsworth
0b5fb555b6
Added dragging of whole branches
2009-01-15 18:54:13 +00:00
83e0c44a49
(irrelevant) fixes to make the dummy/demo build work again
2009-01-15 14:48:07 +01:00
13ca25569a
merge plugin building rule and cleanup done for starting the GUI as module
2009-01-15 14:22:01 +01:00
Christian Thaeter
4172bdf17f
move vgsuppression to tests/tool, it will only needed for running tests
2009-01-15 01:34:01 +01:00
Christian Thaeter
9665aa1df9
Apply log levels to existing errors
2009-01-15 01:05:07 +01:00
Christian Thaeter
a78ec21fea
ERROR_SET_* macros for different logging levels
2009-01-15 01:05:07 +01:00
Joel Holdsworth
f93d224977
Squashed a race condition bug
2009-01-15 00:03:35 +00:00
Joel Holdsworth
bf2c1f1e45
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-01-14 23:56:43 +00:00
Joel Holdsworth
75d2890ab7
WIP: Added new header code
2009-01-14 23:22:04 +00:00
Joel Holdsworth
4a8f5629f6
WIP: Restructured track headers for more refined drag support
2009-01-14 23:20:43 +00:00
5f10e65852
path fix for Autotools
2009-01-14 21:10:30 +01:00
aa8896a79f
merge resolution of some build/dependency problems
2009-01-14 12:31:20 +01:00
9cfa0e5522
push starting of the GUI thread down into the gui plugin
2009-01-14 12:28:24 +01:00
e8469d5552
chaninsaw surgery to resolve the most urgent dependency problems with lib
2009-01-14 12:15:13 +01:00
Christian Thaeter
d37bb17566
Add a context string to the error system
...
lumiera_error_set() now takes an optional extra string which can be used
to pass context relevant data along. This string gets copied into the
error state so one can easily create it by the tmpbuf_snprintf() facility.
Also a lot of places which define errors get fixed according to this.
2009-01-13 21:23:37 +01:00
bdffc18101
move all tools to src/tool and remove admin dir from build
2009-01-13 12:16:48 +01:00
1b9580b1d4
SCons: define lib dependencies more fine grained (core, lib, app+lib etc)
2009-01-13 11:52:04 +01:00
Joel Holdsworth
fade287745
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into join
...
Conflicts:
src/gui/Makefile.am
2009-01-11 00:15:01 +00:00
Joel Holdsworth
d2d27abe4a
Added pt_in_rect function
2009-01-10 21:43:24 +00:00
Joel Holdsworth
542af7cc80
WIP: Added preliminary track dragging support
2009-01-10 21:25:05 +00:00
5b68a39cc4
move threads from backend to liblumiera
...
otherwise lib and common would depend on backend
2009-01-10 21:50:03 +01:00
ba9b72bce4
Fixes after merge
2009-01-10 21:35:43 +01:00
e64e9a19b6
Merge GUI loading and startup, incl opening of facade interface
2009-01-10 19:12:48 +01:00
f75bb233ba
fix warnings and problems detected by gcc 4.3 / Lenny
2009-01-10 17:01:09 +00:00
b6fb135398
change error notification at subsystem shutdown to use just a string*
...
(this allows to memoize the error message and call the termination
handler outside the catch block)
2009-01-10 16:15:17 +01:00
3da9586824
Rewrite the GuiNotification service to operate in sync with bringing up the GUI
2009-01-10 15:29:11 +01:00
Joel Holdsworth
27ffbd1875
Retire expander_from_point
2009-01-10 12:58:58 +00:00
Joel Holdsworth
baa88abad0
Further tidied and simplified update_headers
2009-01-10 11:11:30 +00:00
Joel Holdsworth
c9420126f1
Retired iteration through the model tree in header container
2009-01-10 11:08:48 +00:00
Joel Holdsworth
ab900e6b28
Tidied TimelineHeaderContainer::update_headers
2009-01-10 11:03:12 +00:00
Joel Holdsworth
fcd5cd8117
Tidied up update_headers
2009-01-10 11:02:29 +00:00
Joel Holdsworth
dbc36cf727
Reorganised set_parent in header container
2009-01-10 10:50:44 +00:00
Joel Holdsworth
d02ce9b283
Fixed minor bug in expander animation
2009-01-09 23:28:51 +00:00
Joel Holdsworth
0697d2a83e
Retired TimelineHeaderContainer::size_request_recursive
2009-01-09 20:16:54 +00:00
Joel Holdsworth
1f73978dd4
Added is_animating function
2009-01-09 20:03:55 +00:00
Joel Holdsworth
06f2abb6fa
Transitioned TimelineWidget to use on_layout_changed
2009-01-09 20:02:09 +00:00
Joel Holdsworth
6d730ee3ae
Added on_layout_changed event handler
2009-01-09 20:00:04 +00:00
Joel Holdsworth
98568c8669
Fixed a minor formatting error
2009-01-09 19:59:13 +00:00
Joel Holdsworth
57d73eca1e
Removed an obselete constant
2009-01-09 19:49:57 +00:00
4ffa60161b
Integration with InstanceHandle
2009-01-07 12:26:44 +01:00
635b9441f4
WIP rewrite the existing solution for the GuiNotification facade
...
using this new approach (not functional yet, because laci of
automatic integration with InstanceHandle.
2009-01-06 06:40:44 +01:00
24fe4bcb70
separate and hide away implementation part into common/interfaceproxy.cpp
2009-01-06 06:18:13 +01:00
afcea26399
wrap into additional namespace lumiera::facade
2009-01-06 06:15:36 +01:00
8a40075ee8
WIP expand on this draft to build a prospective solution
2009-01-06 06:09:46 +01:00
Joel Holdsworth
b48d8fc49b
Tidied up, simplified and documented expand animation code
2009-01-05 20:03:52 +00:00
Joel Holdsworth
22c9e8b082
Merge branch 'master' of git.lumiera.org:/git/LUMIERA into gui
2009-01-05 17:59:23 +00:00
57ca80c2fc
WIP continued drafting...
2009-01-05 16:17:53 +01:00
31a112acaa
some typos
2009-01-05 16:17:17 +01:00
Christian Thaeter
9749178a06
Add some missing semicolons, the upcoming NoBug will be picky about that
2009-01-05 08:33:15 +01:00
Joel Holdsworth
43897d214d
Made animation time based not tick based
2009-01-05 00:05:14 +00:00
Joel Holdsworth
8db54f1179
Removed some debug messages
2009-01-04 23:32:29 +00:00
Joel Holdsworth
05b17a7148
Simplified the layout animation a little
2009-01-04 21:16:45 +00:00
Joel Holdsworth
f3339a538b
Tweaked the documentation for the layout_headers_recursive
2009-01-04 20:29:54 +00:00
Joel Holdsworth
e74e55df98
Tidied up TimelineLayoutHelper::layout_headers_recursive
2009-01-04 20:29:05 +00:00
8d4bc62fbe
WIP start drafting a better InterfaceProxy handling
2009-01-04 15:21:04 +01:00
Joel Holdsworth
c401207dba
Refactored creating Track::get_expander_style()
2009-01-03 21:57:24 +00:00
Joel Holdsworth
18d7290c61
Added expander button animation
2009-01-03 17:36:33 +00:00
Joel Holdsworth
932697b836
Made animation parabolic
2009-01-03 17:22:12 +00:00
Joel Holdsworth
dc9dd3fbd7
WIP: Initial track tree expand animation
2009-01-03 16:06:30 +00:00
e8229623bc
Integration: complete GTK-GUI loaded from main Lumiera App. !Yay!
2009-01-03 16:57:51 +01:00
Joel Holdsworth
2d4a341123
Transition TimelineHeaderContainer::draw_header_decoration to use the
...
layout tree
2009-01-03 15:21:04 +00:00
edb01ec8c6
Integration: Thread/sync, GUI-Plugin invoked in separate thread
2009-01-03 16:05:04 +01:00
683e1dabe1
cleanup, add further testcase (starting prerequisite subsystems)
...
SubsystemRunner considered finished.
2009-01-03 13:32:24 +01:00
f90238dba4
chased two bugs...
2009-01-03 04:29:59 +01:00
Joel Holdsworth
1d376e4292
Wrapped TimelineBody::track in a scoped_ptr
2009-01-02 16:47:29 +00:00
Joel Holdsworth
cd94bf9765
Transitioned TimelineBody and timeline tools to having reference to
...
TimelineWidget not pointers
2009-01-02 16:32:40 +00:00
Joel Holdsworth
6bfef606a0
Transition TimelineRuler to have a reference to TimelineWidget not a
...
pointer
2009-01-02 16:21:52 +00:00
Joel Holdsworth
9581fc6779
Corrected a small mistake in timeline-header-container.cpp
2009-01-02 16:18:29 +00:00
Joel Holdsworth
fa60ea76dd
Small correction to timeline-header-container.hpp
2009-01-02 16:17:10 +00:00
Joel Holdsworth
bf0cfc295e
Transitioned TimelineHeaderContainer to having a reference to
...
TimelineWidget, not a pointer
2009-01-02 16:15:42 +00:00
Joel Holdsworth
eb6f364084
Merge branch 'newlayout' into gui
2009-01-02 16:07:58 +00:00
Joel Holdsworth
dfbe3764cd
Added documentation to timeline-layout-helper.hpp
2009-01-02 15:54:32 +00:00
Joel Holdsworth
a28a901539
Added an extra const of consistency
2009-01-02 15:47:56 +00:00
Joel Holdsworth
643e1c9be1
Fixed an undefined constant
2009-01-02 15:26:12 +00:00
Joel Holdsworth
8ad308e679
Fixed the find functions so they're offset by the scroll position, not
...
absolute
2009-01-02 15:25:45 +00:00
Joel Holdsworth
2a9f1764c8
Tidied TimelineLayoutHelper
2009-01-02 13:18:09 +00:00
Joel Holdsworth
8debd21363
Squished some warnings in lib/tree.hpp
2009-01-02 13:10:56 +00:00
Joel Holdsworth
1c685a2d61
Added a new layout update infrastructure
2009-01-02 13:03:00 +00:00
Joel Holdsworth
a501616a87
Transitioned TimelineLayoutHelper::get_track_header_rect to return
...
weak_ptr
2009-01-02 12:43:21 +00:00
Joel Holdsworth
e135cb18cb
Removed TimelineBody::track_from_point
2009-01-02 12:41:30 +00:00
Joel Holdsworth
86947936a5
Tidied TimelineBody::draw_track somewhat
2009-01-02 12:20:43 +00:00
Joel Holdsworth
bcd5dababe
Transitioned TimelineBody drawing code to use the TimelineLayoutHelper
2009-01-02 12:17:19 +00:00
Joel Holdsworth
9fac0b8b46
Renamed some local variables for greater consistency
2009-01-02 11:53:32 +00:00
Joel Holdsworth
c05f0fbbfb
Added a comment
2009-01-02 11:39:45 +00:00
2aab2491aa
deal with a race regarding argument passing
2009-01-02 08:02:27 +01:00
120fbf8f01
temporary addition: signalling successful thread creation
...
(I take it the final implementation will provide something equivalent,
without such a check, failure to create the thread results in deadlock)
2009-01-02 08:01:51 +01:00
Joel Holdsworth
325a2101e7
Moved read_styles to occur earlier in the creation of
...
TimelineHeaderContainer
2009-01-02 00:47:09 +00:00
Joel Holdsworth
e3a7b896d0
Removed debug g_message calls
2009-01-02 00:45:20 +00:00
Joel Holdsworth
8285daec39
Added more strictness to the use of read_styles
2009-01-02 00:44:10 +00:00
Joel Holdsworth
85d6a19dd4
Fixed a bug caused by TimelineHeaderContainer::read_styles being called
...
at the wrong time
2009-01-02 00:33:40 +00:00
Joel Holdsworth
afb5b7298f
WIP: Applying new layout system
2009-01-01 18:43:46 +00:00
Joel Holdsworth
ac28251915
Added layout code from TimelineHeaderContainer
2009-01-01 13:31:34 +00:00
Joel Holdsworth
0f3b290b6d
Tweaked tree.hpp to improve documentation to work better in lumiera
...
doxygen
2009-01-01 12:34:39 +00:00
Joel Holdsworth
8d44b90a8b
Removed a spurious lumiera::
2008-12-31 17:29:57 +00:00
Joel Holdsworth
8d092d3b85
Added TimelineLayoutHelper::clone_tree_from_sequence
2008-12-31 17:05:32 +00:00
2f34637088
wire in the new threads implementation from backend...
2008-12-31 06:56:31 +01:00
8c892846e1
renaming etc...
2008-12-31 05:05:34 +01:00
Joel Holdsworth
78a9ebb258
Added a track tree object to the layout helper
2008-12-30 23:07:59 +00:00
Joel Holdsworth
e670f42a39
Opps - tree.hpp committed now
2008-12-30 23:07:16 +00:00
Joel Holdsworth
54ddf81afa
Moved tree into the lumiera namespace
2008-12-30 23:06:22 +00:00
Joel Holdsworth
2bea14748c
Added Kasper Peeters STL-like templated tree class to lib
2008-12-30 22:58:21 +00:00
Joel Holdsworth
77c056266f
Added empty timeline layout helper class
2008-12-30 22:27:09 +00:00
Joel Holdsworth
c32ae85a38
Small comment correction in timeline-header-container.hpp
2008-12-30 22:10:24 +00:00
Joel Holdsworth
4af80c78d8
Reimplemented nested track deleting so it work correctly
2008-12-30 21:50:18 +00:00
Joel Holdsworth
5e8620135c
Added stringifying debug methods to track tree classes, and added a big
...
tree to the sequence
2008-12-30 17:16:29 +00:00
Joel Holdsworth
a117fe99e5
Removed spurious add_child_track
2008-12-30 16:13:09 +00:00
Joel Holdsworth
910bf4b4e4
Added "Remove" to the track dropdown menu
2008-12-30 15:20:19 +00:00
Joel Holdsworth
cdf26d3fe6
Tidied up the displayer code and added some documentation
2008-12-30 13:06:08 +00:00
Joel Holdsworth
8cb48a7298
Squished a whole load of warnings
2008-12-30 12:35:58 +00:00
5114d09156
fix after merge/rebase
2008-12-30 08:35:26 +01:00
71aa88df62
add some error checking
...
makes the dummy Gui plugin "work" again, but now with enabled locking.
2008-12-30 08:19:33 +01:00
4b3d567ca0
Switch Singleton template to use the threadsafe version (Fix)
2008-12-30 08:19:32 +01:00
7a2bbefb1d
typos
2008-12-30 08:19:32 +01:00
75bdc877dc
reconsider synchronisation and switch some parts to instance based locks.
2008-12-30 08:19:32 +01:00
00a5e7028d
care for copy operations
2008-12-30 08:19:32 +01:00
33ae97b50d
switch in the new recursive mutex/condition impl from backend
2008-12-30 08:17:05 +01:00
075b3c8d6a
fix some warnings...
2008-12-30 07:28:34 +01:00
Joel Holdsworth
70e6394cf6
Added a TODO next to ftruncate
2008-12-29 20:48:06 +00:00
Joel Holdsworth
1802512371
Reinstated -Werror and fixed the ftruncate warning
2008-12-29 20:41:47 +00:00
Joel Holdsworth
90d14d12f7
Merged in LUMIERA master and gui branches
2008-12-29 19:13:58 +00:00
Joel Holdsworth
ad957ef9e3
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
...
Conflicts:
src/gui/Makefile.am
2008-12-29 18:46:06 +00:00
Joel Holdsworth
e17cf45b08
Added an arrow to the MenuButton class
2008-12-29 16:29:30 +00:00
Christian Thaeter
66fb3afe83
Fix: new nobug renamed some macros
2008-12-29 02:52:46 +01:00
Christian Thaeter
532f609ea1
experimental thread implementation
...
* This spawns a thread, almost as proposed
* The condition variable for finishing is not yet implemented
* Most Parameters are ignored
2008-12-29 01:50:38 +01:00
9f9ef10c11
add a temporary impl for recursive conditions just for test
...
(can be removed when the implemented in the backend)
2008-12-28 02:05:04 +01:00
Joel Holdsworth
b4ce796c94
Added track name setting
2008-12-27 22:02:18 +00:00
Christian Thaeter
23f89b027a
fixes for new NoBug (mandatory upgrade)
...
I managed to break some interface compatibility with NoBug finally. The
new NOBUG_ALPHA_COMMA macros shall stay there now.
2008-12-27 18:42:10 +01:00
Christian Thaeter
1a792ac328
add reccondition variable, condition vars which use a recursive mutex
...
not tested yet
2008-12-27 16:25:07 +01:00
Christian Thaeter
07cec0a44d
make the uses of pthread_once faster by checking the once var first
2008-12-27 16:25:07 +01:00
16adff318d
Comments
2008-12-27 07:44:28 +01:00
250e3ba4df
add a convenience shortcut for waiting on a bool member function
2008-12-27 06:58:13 +01:00
8ec25c1f45
TEMPORARY hack: link against Gui libs to get gthread and glib
...
** please undo this change when we are ready to use our own thread service!
2008-12-27 01:32:31 +01:00
af8d70c2bc
include fix
2008-12-27 01:30:48 +01:00
4e4d6f9fb2
fix Automake
2008-12-27 01:11:17 +01:00
93c4a282cc
Merge object monitor locking
2008-12-27 01:04:20 +01:00
e921b1658c
error.hpp belongs to src/lib
2008-12-27 00:53:35 +01:00
cbbc298fe9
kill some warnings
2008-12-26 23:17:51 +01:00
e0b698d25a
additions to make threads.c compile (empty)
2008-12-26 22:27:47 +01:00
Joel Holdsworth
9354c7e6ca
Stopped the stylesheet from forcing the font
2008-12-26 20:47:54 +00:00
Joel Holdsworth
7a838fc4eb
Added a name dialog for track
2008-12-26 19:51:41 +00:00
Joel Holdsworth
ea89f27668
Tidied up name-chooser.hpp
2008-12-26 19:10:31 +00:00
Joel Holdsworth
33afd58b8e
Converted all ASSERTs to REQUIREs
2008-12-26 18:58:29 +00:00
Joel Holdsworth
b75e6a982b
Converted to the SequenceName dialog to a generic name chooser dialog:
...
NameChooser
2008-12-26 18:49:28 +00:00
Joel Holdsworth
58d2f05db4
Added some documentation to menu-bbutton.hpp
2008-12-26 18:14:45 +00:00
Joel Holdsworth
be8d7644ed
Added the MenuButton class for buttons with popup menus
2008-12-26 18:10:28 +00:00
bd2ead37d5
Refactoring V: get lifecycle of a class-based monitor correct.
2008-12-26 05:44:49 +01:00
2173698e75
splitt off the (somewhat problematic) class locking case into a separate header
2008-12-26 04:25:01 +01:00
90150b1350
tie AssetManager locking to the Asset DB impl object
2008-12-26 03:47:49 +01:00
eaedab90ea
Refactoring IV: move the (still problematic) ClassLock out of the Sync compound
...
(no semantic change, but better notation)
2008-12-26 03:47:12 +01:00
54e88e6914
Refactoring III: Recursive/Nonrecursive and Waitable as policy classes
...
pass test again
2008-12-26 01:50:32 +01:00
1ff7f0c656
Refactoring II: encapsulate the variants probvieded by the backend as base classes
2008-12-24 23:23:23 +01:00
Christian Thaeter
072ea60352
Fix: use implicit nobug flag for releasing
...
needs new NoBug as well, I should check my code before pushing it to master
2008-12-24 03:59:08 +01:00
be2daf64ff
whitespace
...
(trying to compare LUMIERA_MUTEX_SECTION and LUMIERA_RECMUTEX_SECTION)
2008-12-24 03:42:36 +01:00
Christian Thaeter
7e13ca33d5
Condition Variable makeover
...
* Improved the Documentation
* add an CONDITION_UNLOCK macro to exoplicitly unlock the condition mutex
* Add ENSUREs to check that the mutex is locked
* Fix the CONDITION_WAIT, takes the missing condition expression now
* Fix, document and improve SIGNAL and BROADCAST macros
* remove the signal and broadcast functions
2008-12-24 03:40:55 +01:00
2650216d9b
Refactoring I: better put the timeout explicitly separate
2008-12-24 03:31:35 +01:00
ee9cd8b632
typos
2008-12-24 03:30:34 +01:00
Christian Thaeter
c0bc3cffb7
add a LUMIERA_RESOURCE_CPU to the resource-collector
2008-12-24 00:38:19 +01:00
Christian Thaeter
c9d83d97c3
Moved the resourcecollector from backend to lib
2008-12-24 00:26:32 +01:00
Christian Thaeter
2126b25604
Flag to make thread jobs optional
2008-12-23 09:06:55 +01:00
Christian Thaeter
121599dc89
lowest level thread api proposal
2008-12-23 08:44:30 +01:00
Christian Thaeter
8e1f64a284
gui Makefile rework, remove _DEPENDENCIES vars
...
_DEPENDENCIES supresses all automatic generated dependencies which is not
what we wanted here, instead use dist_pkgdata_DATA which looks right.
Add some clean rules to cleanup generated/copied data.
I am not sure if this is completely right now, but looks (and works) much
better than before.
2008-12-23 07:24:55 +01:00
36704a856e
basic wait/notify impl added, waiting-test pass
2008-12-23 04:27:11 +01:00
59a7270f5d
draft test for wait/notify, fails without the implementation
2008-12-23 01:32:01 +01:00
43521e3945
building block for the Condition part of the Monitor pattern
2008-12-23 00:03:04 +01:00
2b8cd00ab5
yet another renaming. call it "Sync"...
2008-12-22 17:00:15 +01:00
Joel Holdsworth
125db978ba
WIP: Experimenting with track headers
2008-12-22 11:36:46 +00:00
67e95884d5
preliminary implementation using pthread primitives. Locking test pass.
2008-12-22 07:23:48 +01:00
9240da002f
WIP
2008-12-22 05:02:52 +01:00
79b1515f71
typo
2008-12-22 05:02:52 +01:00
6031ac2465
FIX after rebase
2008-12-22 05:02:52 +01:00
751e1be596
better invocation, get rid of the template parameter
2008-12-22 05:02:52 +01:00
c4df935113
add draft impl for Monitor storage; dummy impl running
...
todo: actually do any locking, improve handling of the forThis parameter
2008-12-22 05:02:52 +01:00
2512f04f3f
WIP yet another namespace change. Now refer it from the test
2008-12-22 05:02:51 +01:00
112cd475b7
WIP draft the basic pattern
2008-12-22 05:02:51 +01:00
d1e385f3f4
rename class Thread into Concurrency
...
it's not a thread abstraction, but a locking helper
2008-12-22 05:02:51 +01:00
Christian Thaeter
4fb8f5b69d
Makefile.am makeover, add CFLAGS and CXXFLAGS everywhere
2008-12-22 02:24:19 +01:00
Christian Thaeter
3363cfe8ba
mixed fixes of small issues (compiler warnings)
2008-12-22 02:23:11 +01:00
Christian Thaeter
1058454871
remove cuckoo from the build system
...
cuckoo hashing was replaced by the psplay lookups, it needs some
improvements to make it easier useable and better hash function for
strings. This will be done someday later.
2008-12-21 18:59:34 +01:00
Christian Thaeter
34077ca41c
rename gtkgui.lum to gtk_gui.lum
2008-12-21 18:22:19 +01:00
a0a0e456a5
oops, merge with the other merge...
2008-12-21 07:38:26 +01:00
c8465a1a38
Merge latest GUI model additions
2008-12-21 07:10:46 +01:00
Joel Holdsworth
c536915b2e
Corrected errors introduced by the merge
2008-12-20 15:55:46 +00:00
Joel Holdsworth
94a07a1464
Merge branch 'master' of git://git.lumiera.org/LUMIERA into gui
...
Conflicts:
src/backend/Makefile.am
src/gui/Makefile.am
src/gui/gtk-lumiera.hpp
2008-12-20 15:03:24 +00:00
Joel Holdsworth
992cd4d77b
Added remove track feature
2008-12-20 14:31:11 +00:00
Joel Holdsworth
bc2fdc40e9
Transitioned TimelineHeaderContainer::headerBoxes from using shared_ptr
...
to weak_ptr
2008-12-20 13:00:48 +00:00
Joel Holdsworth
3dd30c848d
Added a const
2008-12-20 11:51:54 +00:00
Joel Holdsworth
aafa600422
Modified trackMap to map shared_ptr<model::Track> not model::Track*
2008-12-20 11:45:23 +00:00
Joel Holdsworth
715f76bc8d
Made the header's context menu localizable
2008-12-20 11:27:48 +00:00
Joel Holdsworth
6cb533f564
Corrected some source-formatting mistakes
2008-12-20 11:07:20 +00:00
62922d357b
(irrelevant) changes to make the dummy code build and load shared module
...
Explanation: together with the bare SCons build system, on this branch I added
some dummy codefiles, to validate the build system is working as merged in from master
2008-12-20 03:40:28 +01:00
f6209d99d3
Merge: change building to create modules
...
includes DistCC and CCache support,
LUMIERA_PLUGIN_PATH and LUMIERA_CONFIG_PATH
non-verbose build messages
2008-12-20 02:15:33 +01:00
Christian Thaeter
27815e815d
including $(top_sourcedir) with a handcrafted .la doesnt solve the gdl
...
problem
2008-12-18 21:20:01 +01:00
Christian Thaeter
32a8dcd6ae
Reorganized the gui/Makefile.am (broken)
...
* still building lumigui for now
* base for building gtkgui.lum the final gui module
* build libgui.la as convenience library holding all gui code
Does not build on non gnome systems because pita dependencies of libgdl
2008-12-18 20:26:46 +01:00
Christian Thaeter
4699efcb5d
Some Makefile.am cosmetics
2008-12-18 20:23:46 +01:00
1b29b382ee
WIP: try to build the GUI into a shared module, similar to SCons...
2008-12-18 11:10:32 +01:00
e32194b810
Autotools fixes (make the tests compile)
2008-12-18 10:48:50 +01:00
fb72d20812
Autotools fixes
2008-12-18 10:33:37 +01:00
5f94b3ba68
Autotools adjustments
2008-12-18 10:26:38 +01:00
6d66476383
move config, interfaces and pluginsystem to liblumieracommon
2008-12-18 08:54:33 +01:00
7bde9aa538
start refactoring: liblumieracommon.so (application core services)
2008-12-18 08:12:40 +01:00
99c2a5da25
purge old common dir
2008-12-18 07:50:37 +01:00
357c7f0d9f
further Makefile.am tweaks to make the tests compile again
2008-12-18 07:44:06 +01:00
598994c0cb
further Makefile.am tweaks to make it compile again
...
explanation: via the unresolved problems with the hig-level model,
probably a dependency to AssetManager and from there to the core systems
"bubbled" into the liblumiera.so, forcing us to link these things for now
2008-12-18 06:47:54 +01:00
fcfc80182a
Autotools fixes
2008-12-18 05:11:47 +01:00
e8d76cd022
rename error.cpp to exception.cpp and fix remaining problems
2008-12-18 04:51:58 +01:00
c154a520bb
temporarily move main.cpp and guistart away from src/lumiera
...
(reason: prepare for tansition to liblumieracommon.so)
2008-12-18 04:50:51 +01:00
Joel Holdsworth
cf6e174d85
Tidied TimelineHeaderContainer declaration, and relocated context menu
...
setup there
2008-12-17 18:55:38 +00:00
Joel Holdsworth
f3351d1380
Removed a redundant include
2008-12-17 18:48:04 +00:00
Joel Holdsworth
8e551acb60
Added more documentation to timeline-header-container.hpp
2008-12-17 18:47:07 +00:00
Joel Holdsworth
396b2b889f
Tidied and added some documentation to timeline-header-container.hpp
2008-12-17 18:32:28 +00:00
Joel Holdsworth
0c55dfb85f
Tidied set_parent_recursive
2008-12-17 18:20:52 +00:00
Joel Holdsworth
3914de5866
Silenced a GTK parenting warning
2008-12-17 18:18:37 +00:00
Christian Thaeter
5c454df9d9
Build 'lumiera' without liblumieracore
2008-12-17 17:57:45 +01:00
Christian Thaeter
052df48f73
WIP: shared liblumiera.la for vgsuppression and luidgen
...
Doesn't build because of some other issues
2008-12-17 17:56:50 +01:00
Christian Thaeter
3654473b75
WIP: Merge common into lib
...
* breaks lumigui linking
* test non functional yet
* tools cant not be linked because of cross dependency problems
2008-12-17 17:53:32 +01:00
Joel Holdsworth
35cfe48dfc
Added a context menu with an "Add Track" command
2008-12-17 00:03:30 +00:00
Christian Thaeter
8edb786035
proc to shared lib
2008-12-17 00:56:39 +01:00
Christian Thaeter
e2999d7af7
backend shared lib
2008-12-17 00:39:40 +01:00
Christian Thaeter
c2a6d6a387
turn 'lib' into a shared library
2008-12-17 00:34:12 +01:00
Christian Thaeter
84339a0f87
moved the config system and interfaces/plugins back to lib
...
in preparation for the shared lib transistion doing next
2008-12-16 23:56:28 +01:00
Joel Holdsworth
1ecccb5925
Fixed set_icon_size for temporary Debian Etch compatibility
2008-12-16 22:55:32 +00:00
Joel Holdsworth
081b630a9c
Fixed some problems introduced during merging
2008-12-16 20:56:47 +00:00
Joel Holdsworth
8b5733c293
Merge branch 'sharedlib' of git.lumiera.org:/git/lumiera/ct into gui
...
Conflicts:
src/gui/Makefile.am
2008-12-16 20:44:33 +00:00
Joel Holdsworth
f3ea24260d
Added a stub menu item for add track
2008-12-16 20:31:04 +00:00
Christian Thaeter
9a1a1890e2
post rebase fixes
...
tests are still broken and will be fixed for the shared lib transistion
2008-12-16 19:54:48 +01:00
4458b6f232
some additional sanity checks and warnings
2008-12-15 13:36:43 +01:00
054f8d51e8
completed GuiStart.so now working.
...
Actually linked against the shared core and calling into it.
2008-12-15 13:36:43 +01:00
255e501258
comments and #ifdef __cplusplus
2008-12-15 13:36:42 +01:00
0675f589a2
define an (unimplemented) option to set config defs on the commandline
2008-12-15 13:36:42 +01:00
1c7402b25d
DUMMY Lumiera executable working now.
...
Lumiera starts, loads a GuiStarterPlugin dummy and finaly performes a clean shutdown
2008-12-15 13:36:42 +01:00
6a3f232036
Log system error message when loading DYNLIB fails
2008-12-15 13:36:42 +01:00
57c3559f74
WIP trying to get the guistarter shared module loaded
2008-12-15 13:36:42 +01:00
45f18379b4
provide the missing parts for actually bringing up a (dummy) subsystem "GUI"
2008-12-15 13:36:42 +01:00
4ec74a4dc3
fill in the gaps to acutally detect the options defined thus far
2008-12-15 13:36:42 +01:00
085c60e039
util to invoke two functors chained,
...
here to be used for decorating a given signal (callback)
2008-12-15 13:36:42 +01:00
feebc502e5
implementation of GuiStarterPlugin
2008-12-15 13:36:41 +01:00
f0fd9dd1ae
fix a potential segfault in the Lumiera exception base class
2008-12-15 13:36:41 +01:00
20c719d89c
add bool() to InstanceHandle, performing an validity check
2008-12-15 13:36:41 +01:00
7cad095675
WIP let the GuiFacade trigger loading of the GuiStarterPlugin
2008-12-15 13:36:41 +01:00
e8639b8319
WIP work out further how to handle start/stop of layer separation interfaces
2008-12-15 13:36:41 +01:00
b841ab3139
definitions for creating my first Interface instance :-)
2008-12-15 13:36:41 +01:00
8c501a3d7c
first rough draft implementation of calling through a layer separation interface
2008-12-15 13:36:41 +01:00
cc88a62caf
Cleanup, no need to place the unexpected handler installation into everything.
...
Sufficient to do it just "sometime" before main()
2008-12-15 13:36:40 +01:00
41f9f54907
pass compiler and starts OK without doing anything
2008-12-15 13:36:40 +01:00
75b97ff9dd
WIP draft remainder of the global start/stop sequence, incl errorhandling
2008-12-15 13:36:40 +01:00
01876fd576
add descriptive subsystem name string
2008-12-15 13:36:40 +01:00
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