Commit graph

2443 commits

Author SHA1 Message Date
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
1b0cb56dcc implement PlayOut subsystem and draft OutputDirector 2011-09-25 19:25:55 +02:00
971dea6f6a PlayService: basic definition and link to facade 2011-09-25 19:25:55 +02:00
2099ecbcac finish and comment the new time::Control facility 2011-09-25 19:25:55 +02:00
f4d0d23e48 clean up leftovers from the first implementation attempts 2011-09-25 19:25:54 +02:00
fec2d25b52 additional quantisation and duration canges covered and passing test 2011-09-25 19:25:54 +02:00
15a3694cca more complete unit test pass 2011-09-25 19:25:54 +02:00
b54cd2c722 cont. defining time::Control special cases
the refactoring seems to work out OK, was able
to cover all the cases defined thus far....
2011-09-25 19:25:53 +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
7c5f18643b cont. reworking based on that idea; refactor mutation base cases 2011-09-25 19:25:53 +02:00
d39ae8afc6 idea for better organisation of the template specialisations 2011-09-25 19:25:53 +02:00
a8fd0bf7c5 better avoid throwing and use a default time grid in some cases 2011-09-25 19:25:53 +02:00
47afbbeab0 first attempt towards covering the various special cases
the intention is to generate most combinations from
generic template cases, but to define the difficult
cases by explicit specialisation
2011-09-25 19:25:53 +02:00
eed2b0f320 time::Control simple unit test pass 2011-09-25 19:25:52 +02:00
c96cd66688 draft implementation for time change and propagation 2011-09-25 19:25:52 +02:00
27533c3bb9 WIP darft usage for the new time::Control (life change) element 2011-09-25 19:25:52 +02:00
5e8a9b50d1 define asset::Viewer 2011-09-25 19:25:52 +02:00
b25d85e1dd ProcNode hierarchy cleanup 2011-09-25 19:25:52 +02:00
ae36b2d941 stubs and adjustments to get it through the compiler 2011-09-25 19:25:52 +02:00
786ecbe829 WIP draft test helper for generating test cases (Cartesian product) 2011-09-25 19:25:51 +02:00
eb5e0ab9ff WIP: start building a Test for time::Control. Need Cartesian product of cases... 2011-09-25 19:25:51 +02:00
9004818d63 further planning the features of time::Change 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
20f95ca26f draft the player facade interface 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
899ffa60ca WIP create (planned) new entities for the player subsystem 2011-09-25 19:25:49 +02:00
4a53ef4cd0 Clean-up: change some long standing TODOs into tickets
makes the test logs way more readable

Believe me: no one will ever notice a "TODO"
entry in the logs, when it showed up for
more than some months.

Thus I've created some new tickets, mostly
tagged as "QA" and placed the ticket number
at the corresponding locations in the source
2011-09-25 19:16:33 +02:00
Stefan Kangas
e34bb5ead1 Fix autotool build again, still fails on setup.ini 2011-09-15 04:35:08 +02:00
e103b4d8aa SCons: fix error in linking executables
a long standing error, uncovered recently due to more stringent
checks of the linker on newer platforms, not picking up direct
dependencies of an executable transitively from the linked-to
dynamic libs (which is fine).

The error was to *overwrite* the LIBS construction variable
in the definition of the executable to link, instead of just
adding our dynamic links to the sources to be linked.
2011-07-25 00:36:53 +02:00
49d5a9592a Fix drop-frame: remove float framerate 2011-05-21 07:09:22 +02:00
36cfaaa14d REVERT tmpbuf implementation to the state of July.2010 (bc989dab)
The new implementation provides differentiated buffers,
but is still buggy and causes double free alarms on shutdown
See Ticket #683
2011-05-21 06:52:39 +02:00
2dde33ec42 remove unecessary double calls to lumiera_config_destroy()
config system is initialised and closed automatically
2011-05-21 06:52:25 +02:00
1aafb07a43 fix remaining issues turned up by switching the time handling 2011-05-20 03:39:07 +02:00
51fa9fe735 MediaFactory now using MediaAccessFacade to determine media Duration 2011-05-20 02:59:29 +02:00
12f43078a2 fix some names 2011-05-20 02:17:20 +02:00
4b4fcb0c80 use (and verify) this with the MediaAccessMock_test 2011-05-20 02:02:14 +02:00
e5e6264493 technique to install a mock service temporarily 2011-05-19 23:21:50 +02:00
a207a9f003 adapt Media-Access (+Mock) to include an overall Duration 2011-05-18 01:37:33 +02:00
7656e5d500 adapt GUI to use the new Time framework 2011-05-16 08:38:01 +02:00
042598f04c adapt Core + Proc to use the new Time framework 2011-05-16 08:37:36 +02:00
ef126283eb add symbolic constant for "neutral" time.
Note: it's rather arbitrary choosen,
because any time grid can define its own origin.
You must not assume that the origin of any time axis
is located at Time::ZERO !!
2011-05-16 04:37:03 +02:00
481875a78a add check for time point contained in TimeSpan 2011-05-16 04:02:26 +02:00
b9861ef88f WIP completely remove the old Time wrapper 2011-05-15 22:51:02 +02:00
ee5c9910e1 dry-run: switch the lumitime-test.cpp to use the new Time framework 2011-05-15 22:10:26 +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
4bf53bba0f code unit test to demonstrate full time/timecode usage cycle 2011-05-15 04:19:27 +02:00
f85c86d6c8 parsing fractional seconds: unit test pass 2011-05-15 04:19:27 +02:00
c7bb7154a7 draft a test to cover parsing of timecode values 2011-05-15 04:19:27 +02:00
6b1b6cb805 draft how to integrate parsing of timecode formats 2011-05-15 04:19:27 +02:00
3139fb7f1e more 64/32bit fun 2011-05-15 04:19:27 +02:00
10215948a5 Fix another 64/32bit loss-of-precision problem 2011-05-15 04:19:26 +02:00
ccd40c3fee better use a dedicated 'materialise' operation on the Quantiser 2011-05-15 04:19:26 +02:00
80f7dba334 WIP some comments and considerations 2011-05-15 04:19:26 +02:00
11137f7634 provide implementation of the nudge-Mutation 2011-05-15 04:19:26 +02:00
af1561068e definitions and stubs to make it compile 2011-05-15 04:19:26 +02:00
bf61ff7248 WIP test-driven brainstorming: nudge by grid 2011-05-15 04:19:26 +02:00
2035405251 add time Mutation to adjust by offset 2011-05-15 04:19:26 +02:00
baf601c16b first time mutation test cases pass 2011-05-15 04:19:25 +02:00
5851332628 back to business: now able to implement time mutation messages 2011-05-15 04:19:25 +02:00
6fa11ffcf6 special case: support cloning, but not copy
needed to add yet another policy template,
so PolymorphicValue doesn't invoke the
assignment operator in such cases
2011-05-15 04:19:25 +02:00
6daf14211b Finish the PolymorphicValue support template 2011-05-15 04:19:25 +02:00
710ae8fa0f Allow for improved performance in special cases
Using a policy based switch in case the client
interface collaborates and provides copy operations;
in this case, a direct static downcast instead of
the expensive indirect (dynamic) cast to the
management interface can be employed.
2011-05-15 04:19:25 +02:00
9aa601d004 WIP first implementation version of PolymorphicValue holder template 2011-05-15 04:19:25 +02:00
eb733df1bb proof-of-concept: implement simple mutation 2011-05-15 04:19:24 +02:00
4d6bb3d54c design outline for a limited time::Mutation capability 2011-05-15 04:19:24 +02:00
9364d717b0 implement total order on time intervals 2011-05-15 04:19:24 +02:00
9eb4f66372 draft more convenience handling for TimeSpan 2011-05-15 04:19:24 +02:00
eafbd4b1cb fix a comment 2011-05-15 04:19:22 +02:00
Christian Thaeter
d4bb6cc906 fnv hash functions and tools 2011-04-29 04:04:01 +02:00
Christian Thaeter
e6cc7d3f99 WIP: autotools catchup, make it build again
Lumiera builds again, but some tests are missing and the new setup.ini
isn't loaded correctly which makes the plugin loader fail.
2011-04-28 13:14:29 +02:00
1e1c3706dc update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
b843546922 cumulated build/release fixes
up to corresponding debian/0.pre.01-3
- compile issue (digxel.hpp)
- SCons missing config dependency on test-only
- 32/64bit fixes
2011-03-31 18:43:50 +02:00
dca5b81710 Fix: problems whith bare $ORIGIN without relative dir
actually the iterator was written quite contrieved;
now doing the token replacement as a separate first
step -- makes matters way simpler
2011-02-15 00:16:50 +01:00
aef929b3d9 better install the setup.ini direcly into $ORIGIN
seems to be the most obvious location to install it
2011-02-14 23:54:31 +01:00
cef1ff3dcc Fix: extract empty path relative to $ORIGIN 2011-02-14 23:54:30 +01:00
65d28b4018 Gui: rework resource loading to make the application fully relocatable 2011-02-07 09:56:27 +01:00
87c70d0b1f Gui: some typedefs for Glib::ustring
...helps to write way shorter signatures
2011-02-07 09:56:08 +01:00
421a81b25b Gui: WindowManager and GtkLumiera refactoring
- split off the tricky basic GTKmm includes
- reduce the clutter in the gtk-lumiera.header
- make GtkLumiera a singleton, placed into static memory
- remove all static functions from WindowManager
2011-02-07 09:55:57 +01:00
29e67e828d remove NoBug resourcetracker and switch back to plain pthreads
due to desing shortcomings, the resourcetracker
produces lots of false positives and inhibits
any further diagnostics regarding GUI startup.
2011-02-07 09:55:39 +01:00
88678209bc use setup.ini to retrieve the modulepath and configpath
connect config-facade with the new BasicSetup implementation
to fetch values from setup.ini, instead of the (not implemented)
Config-system. Hook this new lookup mechanism into the
plugin loader to retrieve the search path from there
2011-02-06 05:06:16 +01:00
87475fa3c1 Fix usage of field named "new" in configitem.h
This prevents including config.h into C++ code
2011-02-06 02:39:34 +01:00
11d709b85e incorporate basic setup.ini into the AppState object 2011-02-06 02:12:00 +01:00
e84ceec9b5 refactor some lib facilities
- Cmdline into namespace lib
- test coverage for the SearchPath iterator
2011-02-05 23:53:37 +01:00
e73bea379c Adjust some Copyright headers
List of years instead of a range is better
2011-02-05 20:56:51 +01:00
ad246ad31d Merge Buildsystem adaptations for installing Lumiera
- use custom builders
- clean up specification of target paths
- generated executable is fully relocatable
- read a bootstrap INI instead of compiled in searchpath
2011-02-05 15:54:24 +01:00
51ef755a4f Merge Timehandling draft and GUI DrawStrategy and TimelineEntiy refactorings
Merge branch 'gui' into install
2011-02-05 14:30:11 +01:00
babbe33d1d Demonstration of complete bootstrap, loading INI and resolving GUI module path 2011-02-04 16:10:59 +01:00
a42e6a5a8f draft solution loading an INI file for module path resolution
this would remove the need to compile any path into the EXE
2011-02-03 17:34:24 +01:00
208b552955 Demonstration how the application could resolve the module loading location
The real application likely will consult the configuration file
to search alternative module installation locations.
2011-02-01 05:10:45 +01:00
29e2233e6a an exercise: how to get the path of the current executable
Note: this is a non-portable Linux solution
2011-01-31 05:35:43 +01:00
abf1bc776b SCons: remove all explicit target and install specifications
now superfluous, because our custom builder handles that automatically
2011-01-30 18:56:51 +01:00
609873d90b switch to use the new (better) builder implementation
especially this means to use the common well-known names again,
like "Program" "SharedLibrary". The customisation now happens
invisible in LumieraEnvironment.
2011-01-30 17:00:15 +01:00
014c22b40a SCons: rework build directory configuration. All customisations to LuimieraEnvironment 2011-01-30 15:27:21 +01:00
35953b335b SCons: rearrange output directory to target/modules 2011-01-29 02:06:21 +01:00
764a38abe6 SCons: experimental support for some library lookup concerns
- setting -rpath with $ORIGIN  to build a relocatable package
 - fix missing DT_SONAME (likely just a problem of very old SCons version)
2011-01-28 23:31:00 +01:00
faf579c4c5 enforce generally imutable time values 2011-01-22 23:20:12 +01:00
69eb659d4e refactor to extract a special "flip representation" operation 2011-01-22 18:33:15 +01:00
acc7a19fbd Fix: now able to handle negative extended SMPTE
changed the order of propagation when wrapping
the individual digxels of the SMPTE Timecode
2011-01-22 14:41:58 +01:00
ac9e9a99df change the way the Digxel mutator is invoked
this refactoring prepares a change to address
the problems with negative extended SMPTE Timecode
2011-01-22 14:04:43 +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
1a07cc9bb2 SMPTE Timecode: first round of debugging and testing 2011-01-21 16:22:01 +01:00
0493caac1d first complete implementation of SMPTE timecode
first integration of the various components
developed thus far; design still needs some
improvements, esp. regarding the effectiveFramerate
Note NTSC-drop-frame not yet supported...
2011-01-21 11:42:29 +01:00
f930703e86 WIP draft cascading breakdown of time into timecode components
TODO not entirely correct... and how to access the framerate?
2011-01-20 22:17:25 +01:00
c55260d4e4 generalise to long and int; improve test coverage 2011-01-20 21:30:48 +01:00
05383ea44a crafting a integer scale wrapping util, for timecode conversions 2011-01-20 13:21:14 +01:00
e1c025778b Digxel: ensure the mutator functor is also called on increment 2011-01-19 11:47:14 +01:00
c3d0fda495 remove superfluous type qualifier 2011-01-19 11:32:38 +01:00
5418902442 remove superfluous default parameters from Tuple constructor function 2011-01-19 11:32:27 +01:00
9df0df6145 Merge Stefan's work on timeconversion and SMPTE drop-frame 2011-01-19 11:32:03 +01:00
Stefan Kangas
551ec8f011 Remove preconditions requiring correct formatting of input times in time lib.
For example, one could not specify minutes > 59 nor milliseconds > 999.  Other
parts of the code however relied on the fact that one could give arbitrary times
in all fields (hours, milliseconds and minutes).
2011-01-19 11:10:39 +01:00
Stefan Kangas
6a44134833 Add support for NTSC drop-frame timecode. 2011-01-19 11:10:39 +01:00
Stefan Kangas
94f8379aa2 Improved frame counting capabilities for time lib. Unit tests. 2011-01-19 11:10:39 +01:00
Stefan Kangas
d2702e8254 Add frame counting capabilities to time conversion lib. 2011-01-19 11:10:39 +01:00
95a1687a5b draft how a SMPTE-Timecode element could be implemented
passes Compiler, but thats about all...
2011-01-18 05:01:25 +01:00
ce420a1570 special digxel to represent the sign 2011-01-18 04:59:40 +01:00
38844b9050 get simple quantisation/timecode integration to run
passing the basic tests now;
still missing: implementation of specific timecodes,
e.g. SMPTE, HMS,....
2011-01-17 07:25:22 +01:00
02653621f6 adapt the TimeGrid meta asset, so it can be published as Quantiser 2011-01-17 06:38:10 +01:00
484c771d2a establish hidden advice link to the session 2011-01-16 23:58:42 +01:00
71a80d3df6 integrate check for supported formats into Quantiser 2011-01-16 22:19:48 +01:00
92c4516cae implement this format-support descriptor 2011-01-16 19:50:42 +01:00
2c90335b1d WIP idea how to represent support for some timecode formats
concrete quantiser instances need a way to state
support for just some timecode formats -- yet I dont
want to push vectors aroud all over the place
2011-01-16 15:41:34 +01:00
aa5c78a30f TimeGridBasics_test pass 2011-01-15 15:04:23 +01:00
240c5ac232 extract asset iostream display into separate header 2011-01-15 14:43:50 +01:00
a70376dc4b grid asset passes first basic unit test! 2011-01-15 14:07:25 +01:00
8bc5bf88c9 fill in the missing parts to create a grid asset 2011-01-15 13:10:02 +01:00
ee0dcf3ba0 introduce generic grid API to subsume quantiser and grid asset 2011-01-15 03:49:35 +01:00
bdc1800470 add support for offset linear combinations 2011-01-15 01:45:55 +01:00
eb89547265 get rid of the QuantiserRef
this is going to become soooo complicated
better just bite the bullet and use a shared_ptr
2011-01-15 00:52:02 +01:00
Stefan Kangas
2fba7aba2c Move draw functionality to timeline::Entity base class 2011-01-14 18:46:41 +01:00
Stefan Kangas
1c284fb497 remove three unnecessary #includes 2011-01-14 18:36:26 +01:00
Stefan Kangas
a127ec7873 fix three #include paths for cairomm 2011-01-14 16:57:34 +01:00
Stefan Kangas
e947d6f053 Add DrawStrategy object for timeline entities 2011-01-14 16:57:34 +01:00
Stefan Kangas
944406f4a3 Remove redundant '*' in many doxygen style comments 2011-01-14 16:57:34 +01:00
Stefan Kangas
62a05d003c add new baseclass Entity for things placed on timeline 2011-01-14 16:57:34 +01:00
Stefan Kangas
7f615d734f WIP: make clips selectable in timeline 2011-01-14 16:57:34 +01:00
Stefan Kangas
5c4992310e several style fixes, underscore to camel case 2011-01-14 16:57:34 +01:00
Stefan Kangas
7500732976 Move Clips for ClipTracks to the GUI model. 2011-01-14 16:57:33 +01:00
Stefan Kangas
3f4c7a5e46 Spelling and style fixes 2011-01-14 16:57:33 +01:00
Stefan Kangas
aed9193cfa Move clip name and duration to GUI model. 2011-01-14 16:57:33 +01:00
Stefan Kangas
c01d6dbd0b Move Track enabled/locked state to GUI model. 2011-01-14 16:57:33 +01:00
457d4fb7c4 define or stub to get it to compile; add function time-from gridnr 2011-01-14 05:33:50 +01:00
a1f2a60427 WIP design draft regarding the interplay of quantisation and timecode 2011-01-13 23:56:52 +01:00
debe032f49 basic quantisation now working and covered by unit test 2011-01-13 03:36:12 +01:00
e2cab1f512 some more smoothing of rough edges 2011-01-13 03:36:12 +01:00
c7a887a528 Quantiser basic unit test pass, including corner case
ufff... finally
2011-01-13 03:36:12 +01:00
edc2598f27 cover additional time handling convenience shortcuts 2011-01-13 03:36:12 +01:00
af9c799fc8 Fix time quantisation to circumvent the precision problem
required to re-arrange several functions in order
to use the new util::floordiv and to get all relevant
calculations into time.h
2011-01-13 03:36:12 +01:00
237d287021 change time.h into a multilingual header 2011-01-13 03:36:12 +01:00
71aacc7698 implement an Integer-floor function for time quantisation
Contrary to the built-in division operator, this
function always truncates towards the next smaller
integer (also for negative numbers)
2011-01-13 03:36:11 +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
3cf9974211 provide unary minus to flip a TimeVar around origin 2011-01-13 03:36:11 +01:00
d30515c37e analysis of range limit problems in quantisation 2011-01-13 03:36:11 +01:00
48b3f39c49 improve and cover Time convenience handling shortcuts 2011-01-13 03:36:11 +01:00
b66b778c42 implement and test simple demo quantiser 2011-01-13 03:36:11 +01:00
dede87d384 implement basic quantisation operation for timehandling library 2011-01-13 03:36:11 +01:00
84c73c645d draft unit-test to cover basic quantiser behaviour 2011-01-13 03:36:10 +01:00
c85f7e0715 Add more special formatters and Digxel testcases
The Digxel implementation draft can be considered complete now
2011-01-13 03:36:10 +01:00
8e90b3d5dc Digxel unit test pass 2011-01-13 03:36:10 +01:00
159d3928d8 Timecode stub implementation...
now passes Compiler and Linker again
2011-01-13 03:36:10 +01:00
031f61f31d WIP prototypical Digxel implementation complete 2011-01-13 03:36:10 +01:00
e66bed65e4 WIP stubs for timecode string representation 2011-01-13 03:36:10 +01:00
2edaae5c5b simplify util::isnil implementation
doh!
2011-01-13 03:36:10 +01:00
25d7af449e WIP adapt / rewrite Digxel implementation 2011-01-13 03:36:10 +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
336264a6be WIP first implementation draft for Digxel -- problematic
This draft highlights problems with poliferation of
generated virtual methods (code bloat). Also it's
unnecessarily complex and especially the automatic
conversion to double *and* int creates a whole
shitload of problems....
2011-01-13 03:36:09 +01:00
b19fd1e634 WIP rework and adjust "Digxel" draft 2011-01-13 03:36:09 +01:00
6638120ec2 WIP test-driven dreaming... inventing a "Digxel" entity 2011-01-13 03:36:09 +01:00
607c8a2338 WIP enough stubbing to get it through the Compiler...
...but NOT yet the linker
2011-01-13 03:36:09 +01:00
62f9e84f2d reduce the prerequisites of trait.hpp
the AssignableRefWrapper is not in use anymore...
by not pulling in wrapper.hpp, we avoid <functional>
2011-01-13 03:36:09 +01:00
c40ba74bc6 WIP clarify ambiguity with fractional seconds
They are *not* intended to stand-in for gavl_time_t
Indeed, Time values should be handled as opaque
2011-01-13 03:36:09 +01:00
15214cc069 WIP start stubbing and defining time quantisation and timecode entities 2011-01-13 03:36:08 +01:00
f798428428 WIP start a unit test to cover simple time grids 2011-01-13 03:36:08 +01:00
04db5655f1 Implementation: building a simple time grid 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
3d4227d374 cover offsets, durations and timespans by unit test 2011-01-13 03:36:07 +01:00
f7588c36c4 basic time value entites defined roughly complete 2011-01-13 03:36:07 +01:00
ebd93b0f12 fix inclue path error pointed out by "esevece" 2011-01-13 03:35:22 +01:00
643859f6b8 add a mutable time value with full arithmetics 2010-12-28 02:27:42 +01:00
0c45fc47f3 defining the first elementary operations for time values 2010-12-28 02:27:41 +01:00
9d91869098 move Variant to lib namespace, a bit of cleanup and clarifying the code 2010-12-28 02:27:41 +01:00
09d400d5bc put asside the existing "lumitime" to build a new hierarchy from scratch
existing code will still use lumitime.hpp for now
while we're about to reorganise time handling altogether
2010-12-28 02:27:41 +01:00
Stefan Kangas
7a5ed1220d Replace relative #include paths with absolute paths. 2010-12-27 05:50:40 +01:00
784b094fa7 fix compilation problems with draft code 2010-12-26 23:00:34 +01:00
c1be39eacb Merge recent time quantisation analysis
Merge branch 'timequant' into proc
2010-12-26 22:30:28 +01:00
Stefan Kangas
bdb9832f29 Rename "Resources" to "Assets" 2010-12-26 22:30:07 +01:00
Stefan Kangas
86c7003d6d Commit CairoUtil class forgotten in commit 60ccdd. 2010-12-26 22:19:09 +01:00
Stefan Kangas
fffb1b89da Fix compilation problems on the buildserver, cont. (Ticket #735) 2010-12-26 09:55:34 +01:00
Stefan Kangas
60ccdda018 Replace several uses of GdkColor with Cairo::SolidPattern. 2010-12-25 21:29:53 +01:00
Stefan Kangas
063e5887b4 Fix Ardour Timecode widget: compilation problems on the buildserver. (Ticket #735) 2010-12-25 04:39:30 +01:00
Stefan Kangas
87ad80f17e Fix typos. 2010-12-24 23:19:04 +01:00
Stefan Kangas
e0da4c2378 Make Timeline default to Arrow Tool instead of Ibeamer Tool. 2010-12-24 23:10:00 +01:00
Stefan Kangas
0594ea26ad Make Timeline Arrow Tool use the standard left cursor. 2010-12-24 22:46:22 +01:00
Stefan Kangas
1166339387 Use Time instead of gavl_time_t in the timecode widget. 2010-12-24 19:39:12 +01:00
Stefan Kangas
799a8188de First implementation of track visible in timeline. 2010-12-24 19:34:25 +01:00
Stefan Kangas
74fce587bd Fix several incorrect comments (refering to the wrong file). 2010-12-24 19:34:25 +01:00
f18226e8ac WIP start drafting simple time values, offsets and intervals
questions: what is mutable / immutable?
what is the distinction between TimeValue and Time ?
what conversions make sense?
what mutations / operators to support?
2010-12-22 04:49:57 +01:00
000486e126 WIP create empty unit tests for time quantisation/handling 2010-12-22 04:09:27 +01:00
Stefan Kangas
a6fd1ec6fd Give names to the default ClipTracks in the GUI test code. 2010-12-21 09:52:27 +01:00
cce72e611e WIP: new namespace and compliation units for time quantisation
namespace lib::time
lumitime.cpp will define the basic time wrapper
quantiser.cpp the grid alitnment and formatting wrapper

header for
- timevalues / ranges
- quantised time valuse
- timecode valuse

"lumitime.hpp" will contain the interface facilities
2010-12-21 02:05:13 +01:00
e1708f33b9 Merge testsuite and builder changes from Lumiera master 2010-12-18 02:30:02 +01:00
459b1a061f Autotools fixes 2010-12-18 02:22:25 +01:00
2c992a1a4d Fix a printf warning in GUI 2010-12-18 01:01:27 +01:00
7fc462209e some naming cleanup and namespace indentation fixes 2010-12-18 00:58:19 +01:00
3f1b7651e9 GPL header whitespace 2010-12-17 23:28:49 +01:00
4410830f72 Merge Fixture datastructure and Testsuite work 2010-12-17 22:51:27 +01:00
Stefan Kangas
46d4b4ac66 First version of timecode widget adapted from Ardour. 2010-12-17 19:28:10 +01:00
e7191ed3c6 Planning Fixure: Segmentation datastructure (#726) 2010-12-13 03:22:11 +01:00
c4282560ce fix two regressions 2010-12-12 01:53:23 +01:00
8a54e00b6b ModelPort registry unit test pass (closes #727) 2010-12-11 23:40:12 +01:00
be6f555e04 Builder: registry for model ports coded up
passes compiler, but not yet unit test....
Needed to change asset::ID to encapsulate the embedded hash value
2010-12-11 01:52:02 +01:00
0464ca965c fill in ModelPort and ModelPortRegistry definition stubs
making test pass the compiler
2010-12-10 18:12:56 +01:00
7043db90ee introduce an explicit StreamType::ID 2010-12-10 17:39:39 +01:00
9c86deb18c augment asset ID: automatic conversion, typed NIL ID constants 2010-12-10 15:29:43 +01:00
2827961385 WIP: test driven brainstorming about model port registry 2010-12-10 01:27:17 +01:00
8802beb753 rereading (and rewrapping) the builder/engine code...
started this a long time ago, then got sidelined....
2010-12-09 22:43:32 +01:00
Stefan Kangas
41e6750163 Move time conversion logic from lumitime.cpp to time.c 2010-12-06 16:18:54 +01:00
Stefan Kangas
cc95c0df97 Fix two minor typos 2010-12-06 13:46:50 +01:00
Stefan Kangas
2909804538 Add preliminary implementation of a menu option Window/Close Window 2010-12-06 13:40:32 +01:00
Stefan Kangas
df15c3d654 Change format of placeholder in About/Credits to stop it from being a clickable link 2010-12-06 03:41:07 +01:00
Stefan Kangas
9a881c95df Enable lock/unlock and disable/enable individual tracks in the GUI 2010-12-06 03:40:15 +01:00
ee56ab36a0 Definition of ModelPort, model port reference and -table (#718) 2010-12-05 02:46:37 +01:00
145ad6c3a5 more (trivial) cleanup and renaming 2010-12-05 02:46:37 +01:00
828206e6b1 OutputMapping unit test pass (closes #651 and #716) 2010-11-28 05:18:57 +01:00
c7794e7cbf rewrite to retrieve default-pipe query from the defintion context 2010-11-28 02:16:39 +01:00
5ba7468f41 OutputMapping implementation complete, pending unit test 2010-11-28 01:43:55 +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
1e2d4d90f6 start using a typedef HashVal instead of size_t (#722) 2010-11-27 05:11:02 +01:00
f9bc292ac3 better use boost::operators for full equality comparison support 2010-11-27 04:21:39 +01:00
c3d29d1eb3 OutputMapping: interface refactorings to yield a cleaner structure 2010-11-27 03:59:07 +01:00
56c1387cd5 OutputMapping: finish interface draft (stubbed) 2010-11-25 05:35:50 +01:00
645ddd284c WIP Solution draft for defining an output mapping type 2010-11-25 04:52:49 +01:00
a7ec680955 WIP chewing on the problem how to define a output mapping type 2010-11-24 06:21:32 +01:00
0866d2c191 convenience lookup function for pipes 2010-11-24 06:20:53 +01:00
b42e5c859f Test-driven brainstorming: how should output mapping be used? 2010-11-23 03:40:11 +01:00
5ae1f819f2 Finished the design of global pipes 2010-11-21 02:29:26 +01:00
272f3d75ff finish OutputDesignation definition and outline. (closes #312) 2010-11-19 19:10:24 +01:00
9473fd3d67 OutputDesignation implementation draft 2010-11-19 05:01:43 +01:00
71f1dfede8 WIP output mapping draft (#716) 2010-11-17 04:49:21 +01:00
250bfeaee5 use the new OptionalRef to protect session shutdown
The original version was sensible to static initialisation order,
which shold be resolved now, because of OptionalLink's dtor
explicitly disabling any further access.
2010-11-06 22:56:17 +01:00
bd361523d1 better use functor-style access instead of implicit conversion 2010-11-06 22:49:32 +01:00
f597e7c8b4 optional object link implemented and working 2010-11-06 22:32:08 +01:00
07f7837a7b draft behaviour of a optional/switchable object link 2010-11-06 21:23:35 +01:00
1b95a02f14 Autotools fixes 2010-11-06 18:17:25 +01:00
40627b1c12 fix a regression, caused by removing the special Struct-ID handling 2010-11-05 04:32:35 +01:00