Commit graph

2523 commits

Author SHA1 Message Date
e41065101a switch OutputSlot to use the ScopedCollection
..hehe, makes the code way more sane
2012-01-06 03:16:22 +01:00
e5c42e05e6 finish ScopedCollection (closes #877) 2012-01-05 23:17:16 +01:00
72e8d22454 implement the RAII-style collection ctor. test pass 2012-01-05 03:40:04 +01:00
434a371c33 take ctor args by value; test attaching sub-types passes 2012-01-04 04:28:14 +01:00
690304f9bc get the simple and iteration unit tests to pass 2012-01-04 04:05:03 +01:00
fa5e7db2d3 WIP rewrite iteration-control logic... 2012-01-03 02:50:22 +01:00
6c01579a26 WIP draft implementation of ScopedCollection 2012-01-02 06:11:27 +01:00
e63fa6d646 Test-driven brainstorming: draft a ScopedCollection #877 2012-01-01 06:20:42 +01:00
f047069284 rearrange OutputSlot ConnectionStateManager
... shape the various APIs more clearly,
make most functions protected
2011-12-31 20:33:50 +01:00
06c7c27252 merge diagnostic facilities 2011-12-31 06:49:31 +01:00
37384f1b68 formatting wrapper/frontend: unit test pass.
Closes #166
2011-12-31 06:48:26 +01:00
e1b9b5b135 rewrite type selection logic to handle ptrs in the front-end
whew, quite a heavy rewrite, but greatly
simplifies the code and removes the necessity
to declare explicit specialisations of pointers
2011-12-31 06:48:11 +01:00
c8f46f47c9 handling of ptrs, first attempt 2011-12-31 06:47:58 +01:00
35ed2dcf5c add more robust error handling
...incl handling of secondary errors
2011-12-31 06:47:38 +01:00
e838fb9799 document and cover various formatting special cases 2011-12-31 06:47:30 +01:00
0d136e2703 define explicit specialisations for primitive types 2011-12-31 06:47:03 +01:00
e054c272b6 research: detecting the possibility of a string conversion
find out about the corner cases of this
simplistic implementation
2011-12-31 06:46:50 +01:00
6c95c1b0e4 format-frontend: fill in missing bits of the implementation 2011-12-28 06:42:30 +01:00
dbb63ffc08 perfer STATIC_ASSERT to check for suitable placement-New buffer size
Still incomplete, but already this small change
detected an error in the output-designation. Cough.
2011-12-28 06:42:18 +01:00
cd3c633fc0 STATIC_ASSERT to verify guessed size
... and we indeed had an error: vector<bool>
is way larger than normal vectors!
2011-12-28 06:41:47 +01:00
962c789a05 a horrible hack to guess the size of boost::format
...without actually including the boost/format.hpp
This saves us a lot of compilation time and debug code size
2011-12-28 06:41:37 +01:00
ce6fbe5f0f define how to pick the correct specialisation
some basic types are passed on directly;
for those, we use explicit specialisations
in the implementation file, and a traits template
to mark those cases in the header.

custom types with custom string conversion will
be converted to string; everything else
just becomes a type id
2011-12-27 07:45:25 +01:00
6e4883bcf1 add stub definitions to pass compilation 2011-12-27 07:45:16 +01:00
545d9ea82b WIP draft frontend for diagnostic output (#166) 2011-12-27 07:45:07 +01:00
89928bc447 refactor format-util: simplify picking the right specialisation 2011-12-27 07:44:59 +01:00
50885a065b move asside lib/format.hpp
...to make room for a new more specialised header
2011-12-27 07:44:49 +01:00
24a8d6a926 generalised diagnostic context passes unit test 2011-12-24 05:57:28 +01:00
5498ace9fc WIP define a unit-test for diagnostic context stack 2011-12-24 05:57:11 +01:00
87f7a8f6e8 unit test to cover thread-local helper 2011-12-24 05:55:31 +01:00
2bdf06829a make thread(pool) less chatty 2011-12-24 05:48:51 +01:00
451b0abec5 spelling and typos 2011-12-24 05:48:31 +01:00
d27e3b15a9 clarify the handling of specific output operation modes (e.g. number of channels) 2011-12-23 02:22:38 +01:00
7fc8473337 fix some size_t printf specs (32/64bit problem) 2011-12-19 03:02:48 +01:00
fa0588b584 refactor to simplify generating a PlayProcess 2011-12-18 02:02:55 +01:00
c4bc53b6f6 how to pass a render configuration strategy when creating a new play process 2011-12-17 22:37:53 +01:00
6852a6feff WIP refactor building of the active render feeds
RenderConfigurator becomes an internal strategy
controlled by the PlayService
2011-12-17 04:45:42 +01:00
bda0dea990 clarify the relation of PlayProcess, CalcStream and EngineFacade 2011-12-17 02:20:48 +01:00
76b24ce50d WIP draft the building of a render CalculationStream 2011-12-10 03:18:48 +01:00
8362145039 spelling and comments 2011-12-10 03:13:45 +01:00
477b443191 implement diagnostic OutputSlot simple frame tracking
...should be enough to run tests against the OutputSlot interface
2011-12-09 01:03:02 +01:00
e7ae9a3082 introduce marker time values to designate corner cases 2011-12-09 01:00:50 +01:00
aef3d50ffd implement basics of the diagnostic OutputSlot
...specific diagnostic facilities still lacking
2011-12-08 23:02:19 +01:00
07002ab3af SCons: new build target for experimental code 2011-12-03 06:10:12 +01:00
34f2de641f Remove Debian/Lenny workarounds
definitively requiring Squeeze now
2011-12-03 03:18:15 +01:00
77548e74c6 document a weakness of boost::hash for strings 2011-12-03 03:18:03 +01:00
7fd28e23eb cleanup configflags to use uint instead of char
using char for those flag template parameters
was never a good idea. It won't save us any space
and makes debugging harder
2011-12-03 03:16:08 +01:00
d9f84a9bfd clean up lib/meta namespaces 2011-12-03 03:15:59 +01:00
b2d6074097 cleanup test includes 2011-12-02 21:34:29 +01:00
b9d1899486 cleanup: rectify Proc-Layer namespaces (II) 2011-12-02 17:50:44 +01:00
eb79a00cf4 cleanup: rectify Proc-Layer namespaces (I) 2011-12-02 16:10:03 +01:00
89a9202c6c cleanup: remove precompiled headers
we don't need them and they even tend to
increase build times due to unnecessary
compound-includes at some core headers
2011-12-01 23:32:34 +01:00
c7d4412cec integrate recent GUI / timeline and work done on the player subsystem 2011-11-27 02:15:11 +01:00
d6fa67f2b8 refactor zoom smothing into TimelineViewWindow 2011-11-27 01:28:48 +01:00
a6392f5d14 review and annotate design aspects regarding zoom handling 2011-11-27 00:52:10 +01:00
d58fa9129c clean-up: remove direct access to the selection value 2011-11-26 23:32:56 +01:00
177b85ecf2 Integrate timeline work: zooming and scaling 2011-11-26 18:39:26 +01:00
7ba8ff432f BufferProvider interface finished thus far.
simulated lifecycle passes unit test
2011-11-26 00:09:59 +01:00
2fce2b1c8d make ctor-tracking test::Dummy more widely usable 2011-11-25 22:05:12 +01:00
55a77bdd73 factor out and treat the attaching of objects separately
this is an advanced feature not required
in the standard buffer usage cycle
2011-11-25 20:23:31 +01:00
ce25be6fa3 refactor relation of BuffHandle and BufferDescriptor
they are now tightly coupled and assumed to
work together; there is no need to relay half
of BuffHandle's interface through BufferDescriptor
2011-11-25 18:20:01 +01:00
d6b069fbbd clean-up after refactoring 2011-11-25 17:29:06 +01:00
eed6d8cd1e split out obsolete ChannelDescriptor for later refactoring
Meanwhile, BuffHanle became way more concrete,
making the separation of any kind of buffer or channel
type management concievable.

Thus: extract the obsolete ChannelDescriptor
and use switch at any location where the old
(superseeded) buffer handle is still referred
2011-11-25 17:16:33 +01:00
74702ebecd address the next test... 2011-11-24 03:33:23 +01:00
2ae1e3c8f9 test/dummy buffer provider finished and passes test 2011-11-21 03:26:08 +01:00
d6de8c8d1a implement some missing nits and bits 2011-11-21 02:28:44 +01:00
91b74ad7bd implement missing parts of test/dummy buffer provider 2011-11-20 01:35:52 +01:00
0a1256f4e3 cover and verify detaching from ScopedPtrVect 2011-11-19 21:41:50 +01:00
13b795016b comment rewording 2011-11-19 18:01:48 +01:00
3830ff7ce1 refactor the test/dummy provider, based on ScopedPtrVect solely
instead of using a vector directy, move the
additionally required functinoality in the
utility class. This forced me to adjust
the IterAdapter, to allow working with
STL algorithms
2011-11-19 17:51:08 +01:00
5947e0e3e1 allow to detach an object managed by ScopedPtrVect 2011-11-19 17:48:04 +01:00
1f966a02ec some rather tricky adjustments to PtrDerefIter
...allowing to use that custom iterator together
with STL algorithms
2011-11-19 17:46:24 +01:00
ca689ae5e0 WIP some musing about building an option monad 2011-11-18 01:24:43 +01:00
27449c1438 implementation details of a test/dummy provider 2011-11-18 01:23:50 +01:00
623bb401af clarify implementation extension points of BufferProvider
decide especially how to pass on the implementation
defined data like e.g. pointers to storage extents
2011-11-15 04:47:31 +01:00
d1d0f66fa8 allow LocalKey to carry arbitrary pointers or hashes as payload
...used to piggyback opaque implementation data,
deliberately no typecheck here
2011-11-15 04:46:00 +01:00
6bc94cccb5 WIP refactor BufferProvider public and protected API 2011-11-14 01:43:29 +01:00
890b6e8366 WIP implementation details of diagnostic BufferProvider 2011-11-13 04:20:14 +01:00
ca0aa23479 BufferProvider default impl: attaching a type 2011-11-12 00:36:53 +01:00
fd94367b9e stubs and changes to make the test compile 2011-11-11 23:33:59 +01:00
fe1ae51b49 WIP draft test for internal test buffer provider
a test to cover a helper for writing tests ;-)
2011-11-11 01:44:01 +01:00
f75e55a060 nail down a lot of OutputSlot implementation details 2011-11-08 02:59:56 +01:00
59dfb7c660 start drafting a (dummy) output slot implementation
this implicates a first attempt to build a
dummy buffer provider implementation.
Mostly just defining stubs here....
2011-11-07 01:57:33 +01:00
c8458ab397 improved diagnostics 2011-11-07 00:50:03 +01:00
a88ccd219d extract the diagnostic BufferProvider into separate header 2011-11-07 00:07:53 +01:00
7ab7c8073d remold OutputSlot implementation structure
Better solution where to place the extension points
to be implemented by concrete output systems
2011-11-06 02:37:22 +01:00
63dbc89b6f draft implementation setup for OutputSlot baseclass 2011-11-05 16:51:24 +01:00
d6e88c85e0 finish buffer metadata; cover state transitions
BufferMetadata complete and working for now
2011-11-02 01:34:05 +01:00
db3ea6638d use boost::random to ensure distinct test frame contents 2011-11-01 03:11:43 +01:00
931dc3f883 draft: automatically invoke an attached ctor/dtor functor 2011-10-30 05:35:36 +01:00
ccd130966b finish and pass the first round of tests
still missing:
- implementation of a Mock frame
- automatical invocation of the TypeHandler
2011-10-30 02:19:10 +02:00
e7f0211711 better solution for calculating the Key for a concrete Entry 2011-10-30 01:17:31 +02:00
f849ca62d9 implement metadata storage (hash)table
not passing all tests yet
2011-10-29 02:41:56 +02:00
c91e703682 rename the core type BufferMetadata
makes the purpose more clear, and moreover
it matches the header filename
2011-10-28 01:18:22 +02:00
c8cdf914eb review metadata storage, stub the actual access operations 2011-10-28 01:11:39 +02:00
9af0fb096f WIP draft implementation of buffer metadata creation/storage 2011-10-24 02:14:08 +02:00
c4ff87c3a8 decide about the basic way to implement concrete buffer metadata 2011-10-24 01:03:56 +02:00
76a6407a5e better formulation for the buffer metadata state machine 2011-10-23 22:07:39 +02:00
Michael R. Fisher
65a29244af The tool also needs updated on TimelineState Change 2011-10-23 09:52:12 -05:00
Michael R. Fisher
1bb584f895 Removed some TODO's 2011-10-23 04:52:30 -05:00
Michael R. Fisher
0aa3ca76d1 Created and Applied TimelineWidget::ZoomSmoothing 2011-10-23 04:45:10 -05:00
Michael R. Fisher
6c17d06e66 Timeline is no longer zoomed in to far on startup. See timline-view-window.hpp int64_t timeScale for explanation 2011-10-23 04:20:39 -05:00
Michael R. Fisher
b87b6078ad Adding TimeSpan param to SelectionListener's signal 2011-10-23 00:20:48 -05:00
Michael R. Fisher
3811183546 Added SelectionListener handling selection changing events 2011-10-22 21:53:23 -05:00
Michael R. Fisher
8ff36fc209 Timeline selection is now controlled by lib::time::Control 2011-10-22 20:27:29 -05:00
9c04637aea fix misspelling in library 2011-10-23 02:44:52 +02:00
0378f9266e fix misspelling in library 2011-10-23 02:42:25 +02:00
4acc9d247a maybe fix: try to connect the selection control the other way round 2011-10-23 02:41:57 +02:00
Michael R. Fisher
c9671b654e time::Control Integration First Commit 2011-10-22 19:03:17 -05:00
Michael R. Fisher
ca634bdd9c House Cleaning 2011-10-22 22:14:48 +02:00
Michael R. Fisher
6046749f19 Integrating time::Control into ibeam tool. 2011-10-22 21:48:57 +02:00
b39edad306 clean-up some additional mentions of boost::ref 2011-10-22 21:45:59 +02:00
4f1d7e1d3f clean-up GUI includes. Solving problems with tr1::ref vs. boost::ref 2011-10-22 21:45:52 +02:00
606251749e fix time::Control should properly include <tr1/functional> 2011-10-22 21:45:40 +02:00
2730fa8d7a a bit of stylistic cleanup
- using std::tr1::shared_ptr in namespace gui
- thus removing a lot of std::tr1 qualifications
- fix some includes. Should be relative to 'src'
- interface classes should declare a virtual dtor!
2011-10-22 02:49:30 +02:00
Michael R. Fisher
c9a0209a0b Fix ParentTrack: using std::tr1::enable_shared_from_this 2011-10-22 01:35:45 +02:00
Michael R. Fisher
9a1987ba24 Ticket #796: Switch GUI from boost::shared_ptr to std::tr1::shared_ptr.
ParentTrack and TimelineLayoutHelper need to be fixed
2011-10-22 01:26:24 +02:00
d48dc3b025 fix glitch in test definition
uncovered since rand() is now properly seeded
prior to each testsuite run
2011-10-21 02:41:20 +02:00
65b309e5cb Testsuite: automatically seed the random number generator 2011-10-21 01:09:12 +02:00
f1a4489470 Fix minor problems after merge 2011-10-21 00:58:15 +02:00
c06c49e782 Join latest GUI addions (zoom slider) and player design/implementation work 2011-10-20 04:29:14 +02:00
ca0ae9c120 stubbed relevant parts of BufferProvider and OutputSlot 2011-10-19 02:47:11 +02:00
991eec8185 draft test to simulate a complete buffer metadata usage cycle 2011-10-17 02:00:48 +02:00
1772659a00 start implementing buffer metadata records 2011-10-16 00:06:57 +02:00
011afa4be8 fix: ubiquitous constant defined in header
..resulting in that global constant being allocated a gazillion times
2011-10-15 23:41:31 +02:00
3d859c8b53 buffer metadata hash keys implemented and tested thus far 2011-10-15 22:46:08 +02:00
28c555aac7 define a type handler for attach an object to a buffer 2011-10-15 05:05:30 +02:00
2c380b5f99 draft a dedicated test for buffer metadata keys 2011-10-15 04:12:51 +02:00
1627698911 implement hash function for functor obejects. Unit-test pass 2011-10-14 14:49:55 +02:00
6baadbaef0 draft a workaround for hashing functor objects 2011-10-14 03:54:22 +02:00
3256b7fe11 implementing the hash functions for the buffer metadata content fields 2011-10-12 03:47:34 +02:00
Michael R. Fisher
f851c875ed Zoom Slider Position remains after a sequence change 2011-10-11 14:39:20 -05:00
63ba43d446 fix: TimelineBody not zooming was due to this omission in my change
silly me!
2011-10-11 01:24:39 +02:00
Michael R. Fisher
d1f07d7088 TimelineBody Is Zooming again now 2011-10-10 18:01:10 -05:00
Michael R. Fisher
540357de9f Comments added 2011-10-09 21:00:31 -05:00
Michael R. Fisher
91cc3f90a0 TimelineZoomScale::on_timeline_state_changed method implemented. Other timeline components need fixing now (seems only the ruler is zooming now) 2011-10-09 20:54:55 -05:00
fb28592082 more cleanup: use the propagated timelineState directly 2011-10-10 01:42:03 +02:00
5fe1debd5b ZoomScale: rely on the state change signal for the view window 2011-10-10 01:07:10 +02:00
5905fdf0cb change definition of TimelineStateChangeSignal
the timeline-state-change signal now delivers
the new TimelineState object immediately, instead
of requiring the listeners to pick it up
2011-10-10 00:08:50 +02:00
Michael R. Fisher
357bfaa674 Added pointer to TimelineViewWindow in TimelineZoomScroll 2011-10-09 15:34:21 -05:00
2477f2e682 outline of building a hierarchy of hash keys for buffer metadata 2011-10-09 16:03:51 +02:00
d9f64c94bf simple demo using a pointer and a struct 2011-10-09 14:52:58 +02:00
7ea9afd1bb first attempt to implement buffer metadata...
...leading to refactoring
2011-10-09 04:20:56 +02:00
3acf804988 flesh out the buffer metadata API
functionality just stubbed still
2011-10-08 02:21:29 +02:00
caace00dd5 Review the new TimelineZoomScale widget code 2011-10-07 03:49:51 +02:00
Michael R. Fisher
e0463da204 Added TimelineZoomScale widget 2011-10-06 22:58:50 +02:00
Michael R. Fisher
c79b28fe7c Replacing zoomIn and zoomOut buttons in the TimelinePanel with a new TimelineZoomScale widget 2011-10-06 22:49:20 +02:00
4df45c44e9 BufferMetadata: some musing about how to access the Allocator 2011-10-06 21:55:00 +02:00
7459c0a41f (cont) buffer metadate implementation
state transitions etc
2011-09-26 02:19:31 +02:00
f505c46d1d finish simple allocator frontend. Unit-test pass 2011-09-25 19:26:12 +02:00
5350ef6dbe split off and test-cover simple typelist utils
these simple utils (length of typelist, maximum size
containment test) are mostly not used in conjunction
with the more elaborate typelist manipulatino utils.
Moreover, we lacked a dedicated unit test
2011-09-25 19:26:11 +02:00