09e7e1f8f5
WIP: pondering diff representation variants
...
Actually I arried at the conclusion, that the *receiving* of
a diff representation is actually a typical double-dispatch situation.
This leads to the attempt to come up with a specialised visitor
as standard pattern to handle and apply a diff. Obviously,
we do not want the classical GoF-Visitor, but (yes, we had
that discussion allready) -- well in terms of runtime cost,
we have to deal with at least two indirections anyway;
so now I'm exploring the idea to implement one of these
indirections through a functor object, which at the same time
acts as "Tag" in the diff representation language (instead
of using an enum as tag)
2014-11-10 04:00:39 +01:00
ed54f44b5e
Write down some fundamental insight regarding diff algorithms
2014-11-07 03:58:37 +01:00
85d24e980d
Design: devise a "linear diff language"
...
This DSL is usable as wire format for sending
structural change data to another, loosely coupled entity.
A similar format could be used for model serialisation later on.
2014-11-04 04:56:19 +01:00
c09e14f4dc
Analysis: some conclusions regarding the diffing mechanism
2014-11-03 02:19:37 +01:00
4c74a2dd43
Design: draft a tree diffing algorithm
2014-10-27 04:49:32 +01:00
6c663a5c9e
Design: elaborating how GUI model updates might work
...
esp. regarding parallelism
2014-10-27 04:48:49 +01:00
a35a6b0724
Design decision regarding model communication in the GUI
...
this is a quite fundamental decision: we split the GUI into
two sub-layers, and one of them is GTK agnosic
2014-10-25 04:00:11 +02:00
20105d1228
Design: considerations regarding widget structure in the timeline
2014-10-25 03:37:20 +02:00
ead58d03a9
DOC: expand concept map
...
I know that "reactive" is some kind of a fad currently.
But the term captures the intent very well, and I for sure
wanted such a GUI 5 years ago. Waiting after each stroke or
trim for 5 seconds or even 30 seconds for the UI to update
just totally sucks and kills any creative flow.
We all know that an application needs to be built for reactivity
and exactly that is what we do.
2014-10-25 01:56:44 +02:00
41a711120c
planning the access structure to session content
...
initial considerations; there is a concurrency problem, since
all of session handling within Proc is deliberately not threadsafe.
Thus the decision is to make this the gui::model::SessionFacade's responsibility
2014-10-19 05:54:20 +02:00
1c0e86d373
DOC: complete the core concepts of workflow
...
A lot of details could be expanded, but this are the
most important concepts and relations for any GUI design
2014-10-18 22:53:55 +02:00
ac5816df4f
DOC: expand on the core concepts of workflow
2014-10-18 21:39:13 +02:00
ed601d9eba
DOC: start a concept map for workflow and interaction design
2014-10-17 04:02:56 +02:00
99438d459c
some notes regarding the design of a GUI proxy model
2014-10-17 03:43:01 +02:00
718d544d8e
Design: decide on the conventions for representing a timeline in the GUI
...
Actually this is nothing new, just making explicit what is evident
from the definition of the Proc-Layer model entities. By following
these conventions, it should be possible to come up with a
clearer structure for the custom timeline widget(s).
2014-10-16 04:38:44 +02:00
7c3efb309a
explain the term 'subsystem'
2014-02-16 22:03:47 +01:00
5d835c71f3
TiddlyWiki: fix some orphaned pages
...
...caused by image names starting with upper case letter
2014-02-16 22:02:55 +01:00
6822a9e2fb
DOC: reorganise the Doxygen configuration and structure
...
- upgrade the configuration to a current version
- provide a frontpage with cross-links to other documentation
- define a set of modules; relevant classes and files can be
added to these, to create a exploration path for new readers
- fix a lot of errors in documentation comments
- use a custom configuration for the documentation pages
- tweak the navigation, the sections and further arrangements
2013-10-25 06:34:38 +02:00
567ab3819b
WIP: draft an improved version of the Singleton factory
...
...this would both improve our general design and circumvent
the problems with Clang and static variables
2013-10-14 01:18:56 +02:00
5cbc152833
before FrOSCon 2013: recent coding work and documentation improvements
2013-08-20 04:42:57 +02:00
160dafebdb
WIP re-read the code, try to understand the problem to be solved
...
unfortunately there was an interruption of more than a month
since my last Lumiera contribution
2013-08-13 01:16:29 +02:00
fada231a6b
upgrade TiddlyWiki to v2.8.1
...
Notably TiddlyWiki provides now a fallback mechanism
in case the saving to a local file fails due to security
restrictions. When this happens, TiddlyWiki generates a
download link pointing to the current content; this way
one is at least able to "save as" through the browser
context menu.
Due to some controversial policy changes in recent Firefox versions
the support for saving to local files was removed. The rationale
given by the Firefox developers was that this is a rarely used
and generally outdated concept; preferrably people shall use
extensions and save to cloud services (!)
Anyway, Jeremy Ruston, the original author of TiddlyWiki, wrote
a Firefox plugin called "TiddlyFox" to work around these
arcane limitations.
2013-08-10 05:36:57 +02:00
77066ee3ce
WIP: how to start the actual calculation streams within EngineService
...
this draft fills in the structure how to get from an invocation
of the engine service to the starting of actual CalcStream instances.
Basically the EngineService implementation is repsonsile to
instruct the Segmentation to provide a suitable Dispatcher.
2013-06-03 05:25:13 +02:00
723096d3f2
WIP introduce a new kind of job closure to perform the planning
...
this might help solving that gordian knot related to the TimeAnchor,
the Dispatcher and the introduction of a possible playback strategy
2013-06-02 03:09:18 +02:00
56be672358
WIP: reworking the dispatcher interface
...
the goal is still how to introduce a playback strategy
2013-05-30 02:10:56 +02:00
8982223a4d
pondering about a suitable definition of a planning chunk ( #920 )
...
mostly this seems to be a matter of getting the terms
and meaning of the involved entities straight
2013-05-21 04:35:25 +02:00
7c596a8089
remove the old Main-TiddlyWiki
...
this is superseded by our website since a looooong time.
I've just re-checked that all relevant content is indeed
migrated to Lumiera.org
2013-05-20 03:33:53 +02:00
00dc435169
upgrade TiddlyWiki to v2.7.2
...
we were using an very ancient TiddlyWiki version, basically
unaltered since the start of the Lumiera project.
Recent Firefox versions (starting with FF-17) effectively
removed the ability for JavaScript code to get additional
privileges for writing local files; this change seriuosly
undermines the usability of TiddlyWiki and a lot of similar
portable local JavaScript applications.
The original author of TiddlyWiki, Jeremy Ruston, has written
a Firefox plug-in to work around this restriction; this prompts
us to upgrade to a recent TiddlyWiki version as well.
The good news is: recent TiddlyWiki versions are able to import
Tiddlers from older Wikis without much hassle.
2013-05-20 03:24:02 +02:00
7ada9ff291
consider how to integrate a playback mode strategy
2013-02-11 03:19:24 +01:00
9f7e229a12
DOC: requirement analysis of playback modes
2013-01-19 23:29:10 +01:00
30409e66bd
WIP: considering how to support non-linear playback modes
2013-01-13 23:20:20 +01:00
f41d3221c8
remove the old "main" TiddlyWiki
...
now, the Proc-Layer TiddlyWiki is the only one to survive...
2013-01-03 11:22:41 +01:00
65feeb83fd
supply some documentation about lumiera::Query
2013-01-02 03:32:49 +01:00
e902757a14
(DRAFT) refactor the way how to retrieve the syntactic query representation
...
there can't be a callback from the base ctor;
instead the subclass must pass a QueryText definition
2012-12-29 00:31:24 +01:00
5dfe5e099f
refactor namespaces for query and defaults manager
2012-12-01 08:44:07 +01:00
baefd74ae7
prepare refactoring of the Query interface
2012-11-25 02:04:19 +01:00
062e1bbdc1
explicate the JobPlanningSequence definition
...
..causing the compiler to instantiate the
involved templates, i.e. get the complete
pipeline definition through the compiler
2012-10-10 05:20:22 +02:00
016a739a5c
WIP back to the original problem: how to dispatch jobs...
...
brainstorming how to implement the job planning stage
the idea is to built on top of the IterExplorer,
but have the "stack" of re-evaluation integrated
into a custom type, which exploits the static
node network structure to avoid heap allocations
solution idea: again use a builder function?
2012-10-10 05:20:20 +02:00
ddff8b654b
WIP investigating the relation of Jobs, JobTicket and Closure in detail
2012-10-10 05:20:14 +02:00
08d266819d
re-read my own code and pick up the design work
...
..next question is: how to shape the dispatcher interface,
in order to support ongoing chunk wise planning
of new jobs, including a continuation
2012-10-10 05:20:13 +02:00
365f54d59e
Proc-Layer TiddlyWiki entrance pages: some minor updates
2012-10-10 05:20:11 +02:00
875342fa40
initial draft for the job representation
...
this draft is based on
- Cehteh's draft for the scheduler
- my plannings about segmentation and JobTicket
it defines "Job" as a closure which can be invoked
from plain-C, using the information in the
job descriptor datastructure
2012-10-10 05:20:11 +02:00
e9dbb3bdb1
stubs for some important components of play/engine (JobTicket...)
...
also touches the question how to represent the job
descriptor datastructure. @Cehteh: I've just pasted
in your preliminary data struct definitinons
from the relevant mailing list discussions.
2012-10-10 05:20:11 +02:00
23ac29028c
design draft: job tickets and planning...
2012-10-10 05:20:10 +02:00
157e3b6867
test-driven brainstorming: define default timings...
2012-10-10 05:20:10 +02:00
2cb254365c
some musing about timing constraints and quantisation
2012-10-10 05:20:10 +02:00
a4e3383367
turn Dispatcher into an interface
2012-10-10 05:20:09 +02:00
e581246f63
forming some entities to support the dispatch step
2012-10-10 05:19:56 +02:00
9dae352731
clarification regarding the Dispatcher
2012-10-10 05:18:59 +02:00
3768791c76
considerations how to connect exit nodes to external outputs
2012-10-10 05:18:58 +02:00
7e7ecc5d51
draft: integrating an engine mock implementation
2012-10-10 05:18:58 +02:00
687102feb3
planning next steps: how to transform DummyPlayer into a real player
2012-10-10 05:18:57 +02:00
ee4e6905d2
Documentation: integrate the time quantisation concept pages
...
These pages from the TiddlyWiky feature a complete glossary
of terms relevant for time and timecode handling, plus the
architecural decisions related to this topic
2012-10-10 05:18:46 +02:00
d2f83523ca
join recent player subsystem work, SCons overhaul and documentation
2012-01-11 07:54:43 +01:00
0e08f269f5
remove the superfluous TiddlyWikis
...
..after integrating all still relevant asciidoced content
into the main website.
2012-01-11 06:55:54 +01:00
06c7c27252
merge diagnostic facilities
2011-12-31 06:49:31 +01:00
87f7a8f6e8
unit test to cover thread-local helper
2011-12-24 05:55:31 +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
74a982409e
document the internal structore of OutputSlot
...
...as far as decided and clarified by now
2011-12-20 04:59:00 +01:00
cedfa34074
considerations regarding clean-up of superseded model segments
2011-12-17 22:40:01 +01:00
bda0dea990
clarify the relation of PlayProcess, CalcStream and EngineFacade
2011-12-17 02:20:48 +01:00
c7d4412cec
integrate recent GUI / timeline and work done on the player subsystem
2011-11-27 02:15:11 +01:00
91b74ad7bd
implement missing parts of test/dummy buffer provider
2011-11-20 01:35:52 +01:00
63dbc89b6f
draft implementation setup for OutputSlot baseclass
2011-11-05 16:51:24 +01:00
5188982e71
considering details regarding the usage of buffer metadata
2011-09-25 19:26:08 +02:00
ed5091d8f5
considering Buffer handling and BuffTable in more detail
2011-09-25 19:26:06 +02:00
1f13931640
test driven brainstorming: using a BufferProvider
2011-09-25 19:26:05 +02:00
8016547d9c
rework and clarify node invocation sequence
...
while passing by, identified quite some
node invocation code to be rewritten
2011-09-25 19:26:05 +02:00
95bb5e64aa
WIP desiging the interplay of BufferProvider and BuffHandle
2011-09-25 19:26:05 +02:00
737765260d
Test-driven brainstorming: diagnostic adaptor for the engine
2011-09-25 19:26:03 +02:00
3125d1c573
a first draft for the Engine Interface
2011-09-25 19:26:03 +02:00
4a62444ad4
WIP pick up on the design work regarding Engine, OutputSlot and Player
2011-09-25 19:26:02 +02:00
f8842c75ed
WIP draft OutputSlot internal transitions
2011-09-25 19:26:01 +02:00
a199bff92b
BufferProvider as a frontend to buffer management
2011-09-25 19:26:00 +02:00
7e3054df18
considering timing glitches in detail
2011-09-25 19:26:00 +02:00
650e73c454
OutputSlot: draft buffer handover protocol, remove the diferent models
2011-09-25 19:25:59 +02:00
ea8841b7ad
analysis of a design problem and decision for the OutputSlot
2011-09-25 19:25:59 +02:00
9e53053944
WIP: draft building a PlayProcess
2011-09-25 19:25:58 +02:00
dea1fa57a2
draft play process structure; clarify handling of multiple channels
2011-09-25 19:25:58 +02:00
a19562942c
further considerations regarding output and output slots
2011-09-25 19:25:57 +02:00
4ece135257
cont.. drafting OutputSlot
2011-09-25 19:25:56 +02:00
ce6a917b59
first draft spec for the OutputSlot
2011-09-25 19:25:56 +02:00
a379476414
create outline of PlayService, add stubs for Play::Controller
2011-09-25 19:25:56 +02:00
971dea6f6a
PlayService: basic definition and link to facade
2011-09-25 19:25:55 +02:00
9bd96a1b19
time-entities refactoring: Duration isn't an Offset
...
removed that inheritance relation; it was a typical
example of abusing inheritance and violated the
Liscov substitution principle. It is sufficient
to allow promotion of an offset into a Duration.
Note: Duration is the time metric
2011-09-25 19:25:53 +02:00
5e8a9b50d1
define asset::Viewer
2011-09-25 19:25:52 +02:00
eb5e0ab9ff
WIP: start building a Test for time::Control. Need Cartesian product of cases...
2011-09-25 19:25:51 +02:00
4731afefb8
continue drafting the Player control elements -- life timevalue changes
2011-09-25 19:25:50 +02:00
c091b8e260
define Player / Output subsystem stub
2011-09-25 19:25:50 +02:00
cb6453afe1
detailed planning how to build the player subsystem
...
key idea is to grow and rework the design of the
DummyPlayer to yield the full featured Player
2011-09-25 19:25:49 +02:00
ebd6cfca82
Start design work for the Player Subsystem
2011-09-25 19:25:49 +02:00
99bf3c6d81
join with latest work on timecodes and frame quantisation
...
Merge branch 'timequant' into gui
2011-05-15 04:28:20 +02:00
6dd762fa7a
(cont) details of organising the fixture datastructure
2011-05-15 04:26:22 +02:00
29df0984ec
(cont) details of releasing storage of fixture segments
2011-05-15 04:26:22 +02:00
5f6cbdc5bc
detail analysis of fixture storage managment
2011-05-15 04:26:22 +02:00
6b1b6cb805
draft how to integrate parsing of timecode formats
2011-05-15 04:19:27 +02:00
bf61ff7248
WIP test-driven brainstorming: nudge by grid
2011-05-15 04:19:26 +02:00
5851332628
back to business: now able to implement time mutation messages
2011-05-15 04:19:25 +02:00
4d6bb3d54c
design outline for a limited time::Mutation capability
2011-05-15 04:19:24 +02:00
0e4ed856d7
WIP: get back into the topic of time value mutations
...
start drafting a unit test....
2011-05-15 04:19:24 +02:00
ab72b528c8
draft test for changing time specs
2011-05-15 04:19:22 +02:00
1e1c3706dc
update some DIR_INFO entries
2011-04-05 00:44:30 +02:00
ecb7d58a4f
Merge changes to make Lumiera installable
2011-03-07 03:31:19 +01:00
Stefan Kangas
58a6303a4c
Remove incorrect occurrences of glade being mentioned as a dependency.
2011-03-07 03:02:35 +01:00
587f507292
analysis/design: changing time values
2011-01-23 22:44:26 +01:00
14f233f83b
WIP: some more test coverage ... unveiling yet more bugs
2011-01-22 02:35:58 +01:00
9d75739089
SMPTE Timecode (without drop frame) unit test pass
2011-01-21 20:24:41 +01:00
05383ea44a
crafting a integer scale wrapping util, for timecode conversions
2011-01-20 13:21:14 +01:00
aa5c78a30f
TimeGridBasics_test pass
2011-01-15 15:04:23 +01:00
ee0dcf3ba0
introduce generic grid API to subsume quantiser and grid asset
2011-01-15 03:49:35 +01:00
a1f2a60427
WIP design draft regarding the interplay of quantisation and timecode
2011-01-13 23:56:52 +01:00
52eb4c4709
set an explicit artificial limit on the allowed time range
...
this is the first building block in an attempt to
protrect against time wraparound. The intention is
not to be airtight, but practically effective.
A really airtight solution would require writing
our own SafeInt class
2011-01-13 03:36:11 +01:00
d30515c37e
analysis of range limit problems in quantisation
2011-01-13 03:36:11 +01:00
dede87d384
implement basic quantisation operation for timehandling library
2011-01-13 03:36:11 +01:00
e7f5ce9e33
WIP rework timecode format hierarchy
...
second try: eliminate base class,
work with concrete formats allways...
2011-01-13 03:36:09 +01:00
f798428428
WIP start a unit test to cover simple time grids
2011-01-13 03:36:08 +01:00
640d061de6
Meta Assets as a framework for specifiyng a TimeGrid
2011-01-13 03:36:08 +01:00
ff87b62387
decide how to categorise time grids: they are Meta Assets.
2011-01-13 03:36:07 +01:00
b5f32522b1
still chewing on the remaining problems with time quantisation
2010-12-26 03:36:27 +01:00
9e60a631eb
solve or decide the problems turned up by the usage analysis.
2010-12-24 19:21:10 +01:00
966d2227e5
analysis of time usage, including quantisation pitfalls
2010-12-23 22:20:56 +01:00
1294926508
Time Quantisation: theoretical analysis and initial design draft
2010-12-20 07:37:41 +01:00
e7191ed3c6
Planning Fixure: Segmentation datastructure ( #726 )
2010-12-13 03:22:11 +01:00
8a54e00b6b
ModelPort registry unit test pass ( closes #727 )
2010-12-11 23:40:12 +01:00
2827961385
WIP: test driven brainstorming about model port registry
2010-12-10 01:27:17 +01:00
ee56ab36a0
Definition of ModelPort, model port reference and -table ( #718 )
2010-12-05 02:46:37 +01:00
56ceca398b
The first substantial step towards a builder backbone
...
Defined the structure of the fixture and the outline
of the process leading to creating this data structure.
2010-12-05 02:46:36 +01:00
fc051dfcba
OutputMapping implementation draft
...
coded up the easy part, omitting the actual resolution
based on an configuration query
2010-11-27 06:01:31 +01:00
b42e5c859f
Test-driven brainstorming: how should output mapping be used?
2010-11-23 03:40:11 +01:00
a43bd239cb
Try to complete the design of Binding and OutputMapping
2010-11-22 04:26:28 +01:00
f0fbf0e6f1
bring some UML diagrams up-to-date
2010-11-22 02:28:03 +01:00
5ae1f819f2
Finished the design of global pipes
2010-11-21 02:29:26 +01:00
9473fd3d67
OutputDesignation implementation draft
2010-11-19 05:01:43 +01:00
cfc4325f55
define details of binding and mapping
2010-11-17 04:49:22 +01:00
fbdf358cfb
Model port and output mapping details
2010-11-17 04:49:22 +01:00
549365f548
specified the properties of OutputMapping
2010-11-17 04:49:22 +01:00
71f1dfede8
WIP output mapping draft ( #716 )
2010-11-17 04:49:21 +01:00
2eafc5f532
Wiring concept (I) -- stream connections
2010-11-17 04:49:21 +01:00
c744a538e0
continue planning of wiring and output handling
2010-11-17 04:49:21 +01:00
7c758b04db
rename Struct-Asset factory function to better reflect the semantics
2010-10-29 04:28:46 +02:00
da04e13213
re-thinking the pattern of the fake implementation
2010-10-28 03:57:12 +02:00
80b9e19a20
rewrite the TiddlyWiki frontpage
2010-10-27 04:50:03 +02:00
987026f4c8
implement creation of "default" Timeline
2010-10-25 06:08:36 +02:00
9fc366bd25
session lifecycle implementation..
2010-10-24 06:50:00 +02:00
796c4488a5
planning session lifecycle implementation
2010-10-23 05:58:14 +02:00
3e9c337ac0
review and verify lib::ElementTracker
2010-10-18 05:33:46 +02:00
bb3eb8f3aa
Merge integration of placement scopes and QueryFocus
2010-10-16 03:39:33 +02:00
b7b9a9e79d
(cont) expanding on how to use output designations
2010-10-16 02:25:47 +02:00
02c383d1dd
Deciding on the implementation of global pipes. Channel mapping for virtual clips
2010-10-16 02:25:47 +02:00
9cb028a261
(cont) output handling
2010-10-16 02:25:47 +02:00
5f2e749ab7
(cont) output handling
2010-10-16 02:25:47 +02:00
48605827a6
Add test to cover the very basic MObject interface
2010-10-16 02:21:20 +02:00
58757281b0
rearrange the query functions to suit the changed ScopePath internals
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
e16ca49894
Merge in new (experimental) 'advice' concept
2010-07-14 04:33:42 +02:00
e3639a1dc8
(cont) output handling and design problems regarding global pipes
2010-07-12 04:19:52 +02:00
e3d322a7e7
(cont) planning of output handling
2010-07-11 05:06:28 +02:00
87669dca58
(cont) output handling considerations
2010-07-09 03:58:19 +02:00
fb43061159
(cont) problem of output designation
2010-06-27 06:24:23 +02:00
639aff0fa5
(cont) analyzing the problem of output designation
2010-06-25 04:43:06 +02:00
cffbdd72e5
collecting some observations regarding management of output designations
2010-06-22 03:54:26 +02:00
7c4d57b408
spec for various ways to query
2010-06-19 08:46:25 +02:00
4f6fa69f2b
investigate the design problems (issuing scope exploartion queries)
2010-06-19 03:36:46 +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
2360f9b4c0
Advice colaboration: implemented and passes basic unit test
2010-06-05 05:09:42 +02:00
5a615ee4f8
consider advice::Index exception safety
2010-06-04 18:39:39 +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
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
69af735070
reconsider advice implementation. Investigate some tricky implementation decisions
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
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
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
3e2b78b670
fill in the basic definitions to make the draft test compile
2010-06-03 04:40:34 +02:00
1245f873e6
Advice: Requirements, design conclusions, implementation draft.
2010-06-03 04:40:34 +02:00
e3ebe2cc55
expand on some detials and requirements for advice
2010-06-03 04:40:33 +02:00
311fb62c9d
Collect properties for the new Advice concept
2010-06-03 04:40:33 +02:00
0f6c2e84d2
test-driven brainstorming: TypedID usage
2010-06-03 04:37:22 +02:00
ea861a8c74
update UML to reflect improved Asset/MObject design
2010-06-03 04:37:21 +02:00
3bb8d87141
corrections and updates to older pages (object creation)
2010-06-03 04:37:21 +02:00
1698680315
planning TypedID (registration service)
2010-06-03 04:37:21 +02:00
c691213003
EntryID: fix symbol generation and improve ordering
2010-06-03 04:37:19 +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
2404cab73b
continue re-planning of the assets and object relations
2010-06-03 04:37:17 +02:00
4d4749ea5d
rework media-clip relation and VirtualClips, adapt Timeline-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
bdb21c4aa8
draft required functionality for the element-tracker
2010-06-03 04:37:15 +02:00
ea538d962f
test-driven brainstorming: adding and removing session parts
2010-06-03 04:37:14 +02:00
8f34129f60
planning: structural assets and the track-ID
2010-06-03 04:37:14 +02:00
82c2768e04
analysing the relation of sesison, timeline, binding and sequence in detail
2010-06-03 04:37:13 +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
d4b66a42ad
WIP: test driven brainstorming about the session API
2010-06-03 04:37:13 +02:00
93cd85ea07
Planning session API (cont.)
2010-06-03 04:37:12 +02:00
cbf71e46da
Planning and designing the session API
2010-06-03 04:37:12 +02:00
fac29f44f6
WIP: re-reading my draft regarding the session interface
2010-06-03 04:37:12 +02:00
d61ff56975
Mostly purge the term "EDL" and replace it with "Sequence" or "Session"
2010-01-26 00:36:34 +01:00
b32a48f410
Finish definition/documentation of PlacementRef and PlacementIndex
2010-01-23 15:50:45 +01:00
37499058f5
Spec: handling of object identity
2010-01-08 04:04:16 +01:00
6196c41daa
start collecting informations and definition reagarding object identity
2010-01-07 10:17:59 +01:00
2fd7a2f6f9
patch temporary re-entrance problems on session creation (maybe #495 )
2010-01-07 08:28:54 +01:00
4773305853
Fix itertools: allow TransformIter to return an reference
2009-12-19 03:55:02 +01:00
d949f0b7b6
defining the model root MObject more clearly
2009-12-11 03:46:34 +01:00
54d0b30358
Planing the top-level entities of the Session...
2009-12-08 04:08:11 +01:00
624820b817
considerations regarding the Binding of sequences to timelines
2009-11-29 18:16:29 +01:00
8a47f1a1ac
considerations regarding type handling in the PlacementIndex
2009-11-27 20:30:06 +01:00
60fad52961
Advice concept: write down the basic colaboration
2009-11-22 18:33:34 +01:00
12dc0e2c2d
add unit test, write documentation. Closes #420
2009-11-22 07:26:51 +01:00
1a02239e26
write down all the ScopePath operations identified thus far
2009-11-20 23:06:27 +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
981ea94708
finished the PlacementIndex API.
2009-11-13 04:52:48 +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
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
aaf19f4d89
First draft regarding the access of session implementation services (Ticket #400 )
2009-11-07 19:49:29 +01:00
0ed30225b6
Initial considerations how to handle session lifecycle consistently
2009-11-07 05:01: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
2620c38ed9
documentation, close some tickets...
2009-11-01 02:02:21 +01:00
ab524c3b7c
Document the Lumiera Forward Iterator concept
2009-10-31 23:57:47 +01:00
ea52a188fa
Start a category for documenting concepts, abstractions and formalities
2009-10-31 19:50:23 +01:00
f70f8c4e4a
implemented the mechanism for dispatch-to-concrete resolution
2009-10-30 18:37:08 +01:00
572f26edc8
document the QueryResolver design
2009-10-30 17:16:37 +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
eb2d309601
WIP: reworked the design further
2009-10-24 16:03:14 +02:00
455ad14ae5
set up some steps which might lead to a solution of the typed-query-problem
2009-10-23 20:09:36 +02:00
23c0387298
Updated Entry-Page and overall description of Renderengine TiddlyWiki
2009-10-23 20:08:58 +02:00
8345df394d
WIP continued turning over the problem....
2009-10-23 03:10:55 +02:00
007a6e1855
Consideration how to issue content discovery queries
2009-10-21 05:35:32 +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
2e62a3b01b
WIP continue design how to discover session contents
2009-10-17 21:31:03 +02:00
cfc17e75ba
refined and clarified planning of Scope and QueryFocus
2009-10-16 21:20:30 +02:00
d193fbf920
Planning the QueryFocus in more detail
2009-10-16 01:54:38 +02:00
edbd54b062
Initial planning regaring the QueryFocus
2009-10-14 05:48:24 +02:00
4695f41b7c
Documentation of PlacementScope concept
2009-10-12 08:10:00 +02:00
17c7160f02
refactor CommandDef, get rid of the possibility of re-defining. YAGNI!
2009-10-11 05:57:45 +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
e9b95e47cf
Command handling pattern? test-driven brainstorming
2009-10-11 05:57:40 +02:00
843f44795e
Bring the design- pages up-to date. Document design decisions more clearly
2009-10-11 05:57:40 +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
391181e699
WIP some further musing about how to do a simple invocation for unit testing ProcNode
2009-09-04 01:59:44 +02:00
ddb8805a73
WIP attempt to nail down a very simple example...
2009-08-31 01:32:53 +02:00
99310dc0af
WIP: continue with considerations how actually to build and wire an individual ProcNode
2009-08-29 18:33:46 +02:00
ff8be4493c
WIP get rid of some cruft and placeholders
2009-08-29 13:02:26 +02:00
0e2b1bcf35
some initial considerations how to handle Effects
2009-08-29 12:41:49 +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
9f40e4af9c
implemented definition and access of handling patterns
2009-08-09 21:55:47 +02:00
f2126c0764
WIP partially get new proc-layer command impl through the compiler
2009-08-01 23:57:12 +02:00
f40282b2ff
WIP devised various aspects of command execution, drafted as unit test
2009-07-24 05:24:39 +02:00
a8a0e07726
test driven brainstorming
2009-07-23 03:47:57 +02:00
66f94f90f3
drafting/design (cont)
2009-07-22 05:12:48 +02:00
d122a32662
Documentation & planning the parts to implement next
2009-07-21 04:13:12 +02:00
b937bd08ae
WIP: parameter closure brainstorming
2009-06-14 05:38:35 +02:00
3a7de1654a
WIP: create a "scrapbook" test for trying out some ideas
2009-06-08 21:29:09 +02:00
529d4bd459
Planning / Design: Session interface, Commands
2009-06-08 04:50:29 +02:00
011018c5c1
tag all Tiddlers containing images
2009-06-08 04:50:29 +02:00
90dffdc9d2
some cleanup and renaming
2009-06-06 06:55:13 +02:00
8a453bd52b
WIP: start drafing MObjectRef
2009-06-02 03:31:52 +02:00
1f5d94683a
WIP: test driven brainstorming...
2009-06-01 04:53:45 +02:00
d49eea6e5d
finished reworking Placement (hierarchy and ID)
2009-05-31 05:02:03 +02:00
20a1268683
recast the PlacementHierarchy_test to use the real Placement/MObject hierarchy
2009-05-29 23:13:56 +02:00
02e464da12
small tweak to the task macro (estimate rather in days)
2009-05-29 21:16:12 +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
35ebe966b5
add new kind of MObject (Binding) to express special scopes
2009-05-21 04:06:36 +02:00
7abada72fd
a bit of API brainstorming
2009-05-13 03:46:08 +02:00
b32c3f5898
defining the concept of a placement scope
2009-05-12 05:49:37 +02:00
b5a1e75bb7
considering which operations to support on the index
2009-05-11 03:27: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
7e51947c61
investigating the handle based solution in more detail
2009-05-01 02:17:23 +02:00
00ef811850
planning...
2009-04-26 01:19:14 +02:00
4d200b298b
some preliminary notes regarding session Proc-Session/GUI interface
2009-04-24 23:30:13 +02:00
41f98a7a24
Update Library version info in the TiddlyWiki
2009-04-20 01:58:54 +02:00
f2cb3e47fc
note some additional lib dependencies (found on Lenny)
2009-02-16 07:43:36 +01:00
ea56841389
DummyPlayer finished. General Documentation regarding Layer Interfaces and DummyPlayer
2009-02-09 05:48:28 +01:00
c9f9c3d0d3
Document what happens when running the DummyPlayer
2009-02-01 17:26:25 +01:00
6473971d60
fix a typo
2009-01-31 23:42:57 +01:00
c01657b93f
continued achitecture planning for the Dummy Player
2009-01-31 23:42: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
e8639b8319
WIP work out further how to handle start/stop of layer separation interfaces
2008-12-15 13:36:41 +01:00
07d31fe772
Concept draft regarding layer separation interfaces
2008-12-15 13:36:41 +01:00
80e1e382f4
merge new plugin/interface system, testsuite changes, documentation
2008-11-07 01:26:31 +01:00
0d1dbac28f
UML drawing and further description of Timeline, Sequence, Output
2008-11-02 23:19:37 +01:00
1da6e70d54
draft for a solution how to relate project, timeline(s) and EDLs
2008-11-01 19:54:59 +01:00
490b7d163c
doc cleanup
2008-10-20 03:33:55 +02:00
1b6df94aab
documentation (drawing)
2008-10-18 04:15:07 +02:00
747d793121
draft framework for handling the memory allocation of render nodes
2008-10-18 04:15:06 +02:00
b6c32f0005
October dev meeting
2008-10-16 00:34:53 +02:00
510456d250
some cleanup on the main TiddlyWiki, added latest protocol
2008-10-15 18:27:34 +02:00
8834e4e306
merge current gui work
...
Merge branch 'master' into proc
2008-10-11 03:04:48 +02:00
1bce7d4c38
define the next steps by test
2008-10-06 07:26:43 +02:00
1724e019ea
related it to the ConManager and the wiring requests
2008-10-06 06:17:40 +02:00
caf7497021
drawing to show time position of frames
...
used in Design Entry regarding time handling
2008-10-05 07:10:15 +02:00
e541c71995
WIP continued the analysis of queries / conversions
2008-10-02 05:40:10 +02:00
064bf70393
WIP analysis of the various query situations
2008-09-28 05:23:32 +02:00
873910f0b8
WIP considerations about querying
2008-09-28 04:05:10 +02:00
feb64fac01
outline: use of the raw type info for fetching a ImplFacade
2008-09-26 04:57:20 +02:00
14023d3024
interface brainstorming
2008-09-23 05:09:56 +02:00
578178a937
brainstorming (continued). MediaImplLib
...
considering how to snap in the actual implementation
2008-09-22 06:42:10 +02:00
a6a19ef609
WIP start drafting how to bootstrap a stream type...
2008-09-17 03:46:38 +02:00
8754555492
further mulling over the problems related to stream type handling
2008-09-15 05:40:13 +02:00
7ed7f05ffb
further analyzing the problem (stream type handling)
2008-09-13 06:00:22 +02:00
f9452f654c
start media stream type classification framework
2008-09-13 01:57:59 +02:00
998da8a221
migrated TODOs from the TiddlyWiki to the lumiera-work Mailinglist
2008-09-08 01:02:14 +02:00
699966c820
add my favorite lumiera logo to the TiddlyWiki page
2008-08-28 03:52:43 +02:00
878ce2319b
integrated SVG Icon rendering into the SCons build
2008-08-19 05:03:29 +02:00
19156f3a34
buildfix
2008-08-19 03:58:22 +02:00
c5778f1540
Merge from proc (draft imp of pull() call)
2008-08-17 18:35:49 +02:00
749f7a41c6
Landing draft implementation of pull() call
2008-08-17 04:22:46 +02:00
734715d56a
written a text documentating the high-level model structure.
...
included png versions of the drawing for the wiki. Intended as a lumiera design process entry.
2008-08-16 05:37:42 +02:00
790deb16b6
finished the drawing, added an example session containing 2 EDLs with track tree
2008-08-15 07:05:43 +02:00
302aa08757
add to the drawing an example featuring a clip with attached effects
2008-08-12 04:07:58 +02:00
7fd5b673db
Draft: fundamental decisions about media stream types
2008-08-10 18:36:48 +02:00
8803d86e27
start planning towards how to describe the type of frames and buffers
2008-08-06 05:29:29 +02:00
cb5d1fd03b
WIP further refactored the nodeoperation
2008-07-14 03:34:18 +02:00
a46bfd2bf6
integrate the GTK-Gui (draft) in the SCons build
2008-07-11 03:51:37 +02:00
012944a461
fix compilation problem with Boost 1.35
2008-07-09 05:25:55 +02:00
7c56c71d00
Documentation Update, including info about ongoing builder work
2008-07-07 23:56:34 +02:00
5f39f843c3
WIP considering how to compose the actual StateProxy
2008-06-29 18:45:35 +02:00
1d37bf88d8
WIP preliminary draft of node operation
...
(cant work, now needs to be decomposed)
2008-06-29 15:32:19 +02:00
da49742826
WIP sorting out some details of the node network impl
2008-06-24 05:19:11 +02:00
eeb2d04dee
WIP trying to translate some of the planned pull() process into code...
2008-06-14 04:19:58 +02:00
e8378485cc
planning the buffer management and render mechanics more precisely
2008-06-11 05:44:10 +02:00
3c2a6f0598
planing more details of the render mechanics
2008-06-03 06:22:41 +02:00
6ad61b0108
further draftings, esp. how the render nodes are operated
2008-06-01 06:05:39 +02:00
8daec32733
first draft plans for the render process, as far as needed for defining the builder
2008-05-30 06:23:13 +02:00
5d5119631b
first outline regarding the wiring of nodes within the builder
2008-05-27 07:22:27 +02:00
c0d7ae1aa2
Merge added builder documentation
2008-05-27 02:11:35 +02:00
2e58b02b8a
write down implementation specs and further planned details
2008-05-26 07:28:10 +02:00
93908cf29f
further planning of implementation details
2008-05-25 06:18:58 +02:00
f3d078f93b
add drawing to explain the builder primitives
2008-05-23 07:05:35 +02:00
686e47220d
written down basics of the builder's internal operation
2008-05-21 05:30:07 +02:00
287fa11975
added protocol of may dev meeting etc...
2008-05-20 13:03:05 +02:00
6310e9789b
Merge ct/devel to see if there are any problems...
2008-05-20 04:58:16 +02:00
Christian Thaeter
4ed2fe9e7c
few more todos in the wiki, plan for a player in roadmap
2008-05-19 16:27:29 +02:00
Christian Thaeter
e2e94884ba
some refinements to the todo wiki
2008-05-19 16:27:27 +02:00
Christian Thaeter
8d59d601a8
Add protocol of the 2nd developer meeting to the wiki
...
Conflicts:
wiki/index.html
2008-05-13 20:33:44 +02:00
Christian Thaeter
4b07cd6f85
Some more notes for the compatibility wiki
2008-05-13 20:00:43 +02:00
Christian Thaeter
8b299e7493
add a compatibility/dependecy/style wiki
...
Conflicts:
wiki/compatibility.html
wiki/index.html
2008-05-13 20:00:34 +02:00
ce72947d0c
brought proc layer introductory pages up-to-date
2008-04-13 03:39:18 +02:00
e91fc65a2b
supplemented some info to the wikis
2008-04-12 06:59:24 +02:00
f7bfe50bc9
Merge branch 'builder'
2008-04-12 02:12:41 +02:00
a03e3c5e73
Merge from backend: wikis, admin-scrits, test.sh
...
(dont merge any srcfiles)
2008-04-12 02:07:16 +02:00
97821a0fa2
Design: clarified various details regarding Track handling
2008-04-11 06:24:27 +02:00
dfefbea769
overdue to write down some documentation about ConfigRules
...
(starting to loose track of some relations myself...)
2008-04-07 05:11:09 +02:00
3ed3813be3
WIP work out how some special cases of config queries can be handled.
...
Including some tricky recursive calls. Even if this is currently a mock implementation it helps me find out
how the real implementation (in Prolog) could handle these cases.
Doesnt pass the compiler yet (some stubs missing)
2008-04-06 20:11:34 +02:00
e9a364f7ad
WIP test covering implementation of the default object registry
...
(doesn't yet compile)
2008-04-01 06:57:00 +02:00
6596699f6e
WIP code for handling registration of defaults objects.
...
Missing some TODOs and test coverage
2008-03-31 03:21:28 +02:00
c4128c9816
merge Lumiera renaming
...
WIP doesn't pass the compiler (not due to the merge)
2008-03-10 08:38:59 +01:00
0baf15ca94
Cinelerra-3 renamed to Lumiera -- copyright and documentation
2008-03-10 04:25:03 +01:00
a3d91286c8
WIP defaults manager implementation
2008-02-29 18:58:29 +01:00
4af2d47995
test-driven-brainstorming: DefsManager interface building blocks
2008-02-29 04:27:24 +01:00
4bbf3aa53f
test-driven-brainstorming: how to handle query-for-default?
2008-02-20 04:05:37 +01:00
857422f6e2
Rename 'Port' to 'Pipe' I: UML and documentation.
...
finally I've settled down to the name 'Pipe', because its the best description for this concept...
2008-02-14 03:34:29 +01:00
c77e245f54
make the MockConfigQuery reentrant.
...
Basic asset::Struct factory now running (utilizing the MockConfigQuery).
basicporttest.cpp not yet running, but get some lines ahead :-P
2008-02-13 04:41:58 +01:00
d33242b8cb
filled in lots of daunting details regarding structural assets.
...
StructFactury still very preliminary. Now able to fill the table with mock queries.
TODO: fix assertion failure...
2008-02-10 17:23:16 +01:00
e08fc6cdc8
reviewed, small additions
2008-02-03 19:47:33 +01:00
70c5994c72
Protocol of the 1st official Cin3 developer meeting on IRC
2008-02-03 05:35:38 +01:00
398bed8d72
WIP some more details on the (planned) Prolog interface --
...
basically I know enough to provide a mock implementation now.
Compiles OK but fails to link because of missing StructFactory implementation
2008-01-21 02:57:09 +01:00
430f38ab2f
started a mock implementation for the capability queries.
...
Later on, I want to embedd Prolog, but for now it is more important to get ahead with the builder...
2008-01-18 16:43:53 +01:00
7e345ffabc
draft: how to get default configured objects and query for capabilities.
...
My plan is to embed a YAP Prolog system at some point in the furure for this purpose.
2008-01-17 15:42:19 +01:00
b7bce2a2f7
WIP defined lots of details regarding the handling of Ports
2008-01-12 18:19:37 +01:00
66bc601dc8
continue working out properties of tracks and ports
2008-01-07 00:36:36 +01:00
8fe1a901ba
use typelists to declare to visit a collection of types
2008-01-05 18:54:10 +01:00
2bd931b6da
WIP replaced former implementation with my new visitor concept.
...
The former implementation was more closely based on Loki's Acyclic Visitor. Swapped in the working new
concept and adapted the policies and tests. Doesn't compile yet
2008-01-04 15:10:18 +01:00
809301a60e
proof-of-concept visitor implementation now working
2008-01-04 01:44:40 +01:00
5703451ee0
continue drafting the implementation
...
lots of details still to work out...
2007-12-10 07:37:56 +01:00
c905d06002
drafted one of the builder implementation tools
2007-12-10 04:00:53 +01:00
b8f7802070
further detail planning for the builder
2007-12-08 05:18:53 +01:00
02c0ed9445
drafting elementary operations comprising the builder
2007-12-04 05:19:27 +01:00
3036d5cb56
wrote down some more detailed considerations how to handle Tracks, Ports, and Placement for the Builder
2007-12-02 04:11:59 +01:00
b61b34af81
design considerations, how to organize the EDL as far as placing and building is concerned
2007-11-30 05:06:27 +01:00
4e99e8b66c
some notes on using the visitor pattern...
2007-11-28 04:18:38 +01:00
6d4133cefe
WIP generalizing my builder tools to use the acyclic visitor.
...
inspired by Loki; ichthyo intends to use this pattern for typesafe visiting within the EDL too...
2007-11-27 06:40:51 +01:00
95af2d50cc
worked out some important details of deleting and unlinking assets
2007-11-22 06:26:55 +01:00
5dcb9cf343
WIP implemented basic asset dependencies,
...
> todo: actually setup dependencies in the various ctors, fix the broken test!
2007-11-19 04:58:18 +01:00
ce51909ef7
WIP reworked approach for clip-to-clipAsset relation.
...
(compiler errors spotted a design problem)
2007-11-13 03:37:58 +01:00
0837cfe977
put just a summary on the ProcLayer-Wiki startpage,
...
and moved much of the current content to the DesignGoals page. Checked the various overview
pages to be still up-to-date...
2007-11-13 01:10:43 +01:00
242640c4fd
some fixes
2007-11-10 02:27:16 +01:00
c58fd16edb
WIP implement some Placement implementation
2007-10-22 05:15:08 +02:00
dee1bab28b
WIP implement the missing create-Clip-from-Asset mechanics
2007-10-19 22:34:07 +02:00
be49b799a2
typo
2007-10-18 17:35:06 +02:00
a089e5ff15
WIP maybe nailed down the design problem regarding placements now....
2007-10-18 17:29:01 +02:00
08f10c2a2e
WIP trying to get the Placement stuff right,
...
but seemingly still having some design mismatch...
2007-10-13 05:13:28 +02:00
fc1c39dc44
WIP: sketch handling placements and mobjects (as test)
2007-10-12 04:21:36 +02:00