Commit graph

359 commits

Author SHA1 Message Date
08e7e3df15 prefer more readable bool operator spelling
especially the '!' for negation is sometimes too terse
and easily overlooked.
2015-09-25 03:12:04 +02:00
1c8cddba84 clean-up visibility of lib::P
this was introduced into namespace mobject and spread from there.
Since the habit is to use more specific typedefs like PClip,
it is preferrable to spell out the full namespace
2015-08-16 01:35:29 +02:00
8e16149a25 Ticket #155: rename Track -> Fork (II)
actual renaming of types and variables in the entire code base
2015-05-31 02:03:24 +02:00
97fec4179b clean-up: remove cockoo hash (unused and unmaintained)
Cockoo hashing is a thrilling algorithm.
We investigated it during the time or our first draft
towards a confirugation system in 2008. This usage turned
up some problems -- not sure if based on the implementation
or the algorithm itself; at that time, we just switched
to the probabilistic splay tree. The whole configuration
system effort stalled afterwards; so the cuckoo implementation
remained in tree as a zombie.
2015-05-30 17:53:09 +02:00
dece405801 LANDING: transition to GTK-3
This switches the Lumiera UI from GTK-2 to GTK-3
Unfortunately, this move breaks two crucial features, which have been
disabled for now: the display of video and our custom timeline widget.

Since both of these require some reworking, which in fact has already
started, we prefer to do the library and framework switch right away.
2015-05-30 17:11:41 +02:00
f17b1c8428 DOC: locating of dependencies and resources at application start-up
a long standing TODO to document the actual start-up sequence, which
is implemented this way since a long time now. There was an unwritten
section in the "Linking and Application Structure", which seems the
apropriate place for this kind of intricate techincal details.

Last week, Benny Lyons was here on visit in munich and he was pondering
the idea of an experimental secondary build system, as a way to learn
more about the source structure of Lumiera. This reminded me to fill
some missing parts of the documentation. Possibly this is also the
right moment to land the GTK-3 transition?
2015-05-27 04:01:09 +02:00
9a9e17578c extended planning to define the operation of UI-Bus and model update
this includes a decision about the tree diff representation and handling format
2015-01-17 16:08:56 +01:00
41ad41d1f1 clean-up: sourcefile layout and spell checking
Uniform sequence at start of source files
- copyright claim
- license
- file comment
- header guard
- lumiera includes
- library / system includes

Lumiera uses Brittish spelling. Add an according note to the styleguide.
2014-10-23 23:04:35 +02:00
3dccb77245 clean-up: use dashes in filenames 2014-10-23 23:04:33 +02:00
92b06e2f03 fix segfault at plugin-deregistration (due to #864)
The actual problem is not resolved; the pluginloader
should detect the duplicate and not add the handle
to the database initially. Or it should add it
as "duplicate" or "alternate implementation"

Which probably means we need to coder some additional
corner cases. But certainly not now, we have other
more important stuff to do first... we've already
lost the battle against Duke Nukem Forever :-P
2014-10-18 04:57:48 +02:00
1596f83266 subsystem-runner: signal should not be kalled "kill"
...since it doesn't kill, rather ask to terminate.
2014-10-13 02:21:14 +02:00
d064623bab Reworked MultiFact(#388): switch in the new implementation 2014-09-14 23:58:05 +02:00
b2b75fbe43 attempt to make factory invocation more evident in the code
...but the whole design looks still overengineered. See #388

- should get rid of the explicit specialisation
- always use a function signature and thus have arguments?
- why inheriting from the wrapper?
2014-09-08 03:37:41 +02:00
21079f3145 re-reading and rewording comments
still puzzled why this instantiation of MultiFact fails to compile with GCC 4.8

so I'm bound to understand why the types involved
need indeed to be are structured the way they are right now.
2014-09-08 02:52:38 +02:00
7faa2e784d CLang-Compatibility: zero argument ctor now treated as function definition
previous versions used to resolve this ambiguity in favour of a ctor call,
but now the compiler treats such constructs as function definition;
this is reasonable, since C++11 introduced the notion of a "generalised
initialisation", which is always written as a (possibly empty) list
in braces.

In these specific cases here, we just omit the empty parens
2014-08-26 03:31:03 +02:00
e35a45a65e tricky header reordering to support a hackish-workaround (#944)
right now we have to defeat an unfortunate static assertion in
the standard library, which is expected to go away in the future.
We use a hack to hijack the problematic definition with the preprocessor,
which requires our header to be first.
2014-08-17 08:03:21 +02:00
561e036e0b remove any remaining use of boost::lambda
obsolete now, we can use the lambdas of the stock language
2014-05-12 01:12:45 +02:00
027386d76c DOC: Tighten the build requirements to C++11 and Boost-1.55 2014-04-29 09:51:00 +02:00
7be1b7d35d Switch from TR1 preveiw to the new standard headers
- functional
- memory
- unordered collections
2014-04-03 22:42:48 +02:00
5be52d4a55 Ticket #925: remove LUID from interface/plugin specifications
In the November developer meeting, Christian and I agreed that
it's best to remove that offending LUID specifications altogether.

Those embedded LUIDs where one of the issues blocking the transition to C++11
2014-03-16 02:21:07 +01:00
c848903fea Pre-release 0.pre.02
This is a development snaphot pre release of Lumiera.
Update README, AUTHORS, LICENSE and similar release docs.
2013-10-30 02:35:20 +01:00
2cfc7030c0 release prep: clean-up obsolete information 2013-10-29 06:11:18 +01:00
888099466f release prep: remove defunct autotools buildsystem 2013-10-29 03:47:50 +01:00
974c670d41 fix **** in doxygen comments
to make them stand out more prominently, some entity comments
where started with a line of starts. Unfortunately, doxygen
(and javadoc) only recogise comments which are started exactly
with /**

This caused quite some comments to be ignored by doxygen.
Credits to Hendrik Boom for spotting this problem!

A workaround is to end the line of stars with *//**
2013-10-24 23:06:36 +02:00
d43a4c2c86 resolve problem with static initialisation order
...uncovered by the better checks of the new DependencyFactory!
2013-10-20 03:21:24 +02:00
0ea37402d2 Ticket #934: switch entire code-base to use the new Singleton factory
lib::Depend<TY>  works as drop-in replacement for lib::Singleton<TY>

This changeset removes the convoluted special cases like
SingletonSub and MockInjector.
2013-10-20 03:19:36 +02:00
3ef3886395 reduce log level of config system startup message 2013-04-15 03:43:42 +02:00
56d42e9b04 comments and tidying within BasicStetup and AppState 2013-01-05 04:50:59 +01:00
1c5ceaef15 Boost filesystem Ver 2/3 transition
This is kind of a workaround to avoid having to maintain two variants.
Explanation: between Boost 1.42 and 1.52 there was the transition to a
reworked version of the filesystem library, itroducing some breaking changes
The new version distinguishes much clearer between the native and the
generic representation of paths -- which becomes relevant when porting
to non-POXIX operating systems.

Actually the intention was to use the generic path representation in all
configuration; currently this distinction is moot, since we're caring
only for POSIX systems.

So the workaround is to use the fsys::path::string() function, which
is available in both versions, but changed meaning to yield the native
string. Later, when able to deprecate older Boost versions, we should
switch to generic_string()

Note: an alternative solution was found by Mike Fisher in 3b39f35
using the compiletime define BOOST_FILESYSTEM_VERSION=2

See also ticket #896
2013-01-05 04:50:29 +01:00
4ede0453be resolve the remaining liblumieracommon.so dependency problems
now this library doesn't refer to any symbols from
Proc-Layer anymore. Resolving these problems
highlighted IMHO a serious shortcomming of our
interface system, which hinders the building
of abstractions at interface level
2013-01-04 07:45:18 +01:00
1328ef4aa6 solution: how to retrieve syntactic representation
there is now a mechanism to allow sprcialised queries
to generate this syntactic representation only on demand

The actual concrete representation e.g. for scope queries
still remains TODO, but this won't really change
until we target the integration of a real resoloution engine
2013-01-02 04:18:05 +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
933e486cf9 clarify some aspects of Session lifecycle
- consider especially where the reset of internal indices happens
- actively purge the Assets, the ConfigRules and Defaults
2012-12-27 02:31:58 +01:00
aadc7ec7f8 allow to clear the session wide registration for defaults 2012-12-27 02:10:38 +01:00
01792739f3 change Query ordering and hash to include the type information 2012-12-26 01:11:57 +01:00
d73c2fa842 adapt the fake-config-rules to use the new Query::Builder 2012-12-25 01:16:19 +01:00
9369709a46 fix breakage uncovered by unit-test 2012-12-24 03:20:52 +01:00
bccb7a11b5 restore defs-registry Unit test 2012-12-22 22:01:51 +01:00
a9600387ba refactor defaults-manager to use the reworked query interface 2012-12-22 00:39:23 +01:00
5cddc57932 WIP extend query with a warpper for indexing and ordering
...to extract the syntetic ordering from
DefsRegistry and make that a responsibility
of the (internal) syntactic representation
of the query.

doesn't pass the compiler yet
2012-12-17 23:17:32 +01:00
1bde72cccf implement another builder function; adapt OutputDesignation 2012-12-11 04:45:18 +01:00
08ff817afd implement builder/accesor function; adapt StructFactory 2012-12-09 02:42:36 +01:00
8630e888a5 integrate (placeholder) query definition
effectively this joins the two existing lines
of "Query" classes into one systematic representation
Next step would be to move all mutation operations
over to the Query::Builder
2012-12-07 01:49:35 +01:00
d306bb3cdf fix includes 2012-12-03 00:18:18 +01:00
6c8bf1f9e4 bring the plain query utilities back into lib 2012-12-02 23:32:30 +01:00
a79ba2c507 refactor use of HashVal typedef (#722) 2012-12-02 23:03:37 +01:00
3852c8f8e8 provide a time mutation for nudging based on symbolic grid reference
time handling is part of the library, while this
convenience shortcut relies on the Advice system,
which resides in the application lib.
To allow this kind of symbolic acces to a grid
entity defined "elesewhere", client code needs
to be linked against liblumieracore.so
2012-12-02 01:17:02 +01:00
5dfe5e099f refactor namespaces for query and defaults manager 2012-12-01 08:44:07 +01:00
8ee8eb1e73 create a new integration point for using application services
especially this allows to use the Advice system
or the query resolvers from within library facilities
to refer to other implementation level services by name
2012-12-01 07:46:49 +01:00
626b1d4356 re-arrange query- rules- and resolver facilities within Core
the rules-based configuration and query system
will be located within the core application,
while the concrete implementation facilities
are expected to reside within the session or
maybe also the GUI.

This is kind of a 'rochade' refactoring to resolve
circular library dependencies and confine the parts
dependant on the session and MObjects to the Proc-Layer

And while we're in the middle of chainsaw surgery,
we'll concentrate further query-based facilities
alongside the config-rules within the App core.
2012-11-27 02:17:21 +01:00
dd8a88d095 adjustments and stubbing to get it past the compiler 2012-11-26 01:22:01 +01:00
baefd74ae7 prepare refactoring of the Query interface 2012-11-25 02:04:19 +01:00
23cac22a9f Sync Documentation 2012-10-10 06:14:58 +02:00
Michael Fisher
e267e0ad0b GCC 4.7 compilation fixes
clarify binding of function (by specifying 'this')
2012-10-10 05:25:42 +02:00
a8e4b57548 Comments and Doxygen improved 2012-08-25 19:20:05 +02: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
eb79a00cf4 cleanup: rectify Proc-Layer namespaces (I) 2011-12-02 16:10:03 +01: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
20f95ca26f draft the player facade interface 2011-09-25 19:25:50 +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
2dde33ec42 remove unecessary double calls to lumiera_config_destroy()
config system is initialised and closed automatically
2011-05-21 06:52:25 +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
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
65d28b4018 Gui: rework resource loading to make the application fully relocatable 2011-02-07 09:56:27 +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
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
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
35953b335b SCons: rearrange output directory to target/modules 2011-01-29 02:06:21 +01:00
3f1b7651e9 GPL header whitespace 2010-12-17 23:28:49 +01:00
4cef8474ed fake-configrules: remove magic "make" token (closes #707)
use backdoor function on the StructFactory instead
Mark such backdoor-functions with Ticket #710
2010-11-02 04:09:06 +01:00
7a53f65508 remove the separate pipeID field, because now the asset name is sufficient 2010-10-29 06:09:06 +02: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
61a2e26bc8 rework fake-resolution, now searching the session
this whole creation-logic seems to be somewhat broken
2010-10-27 07:26:33 +02:00
0733b0c39b add a faked query resolution, creating new Timelines and Sequences on demand 2010-10-26 04:54:51 +02:00
987026f4c8 implement creation of "default" Timeline 2010-10-25 06:08:36 +02:00
796c4488a5 planning session lifecycle implementation 2010-10-23 05:58:14 +02:00
Christian Thaeter
3c338d1b19 FIX: tmpbuf.h include for common/plugin 2010-07-21 05:05:33 +02:00
Christian Thaeter
2f92a958a8 FIX: tmpbuf.h includes in common/config 2010-07-21 05:05:33 +02:00
Christian Thaeter
99d5d3765f FIX: Add remaining tests to the Makefiles, sort Makefiles 2010-07-16 21:44:44 +02:00
562e571624 Purge Track-Asset from codebase (Ticket #581)
From now on EntryID<mobject::session::Track> will play this role
2010-06-21 03:43:25 +02:00
0f6c2e84d2 test-driven brainstorming: TypedID usage 2010-06-03 04:37:22 +02:00
cdaff1566f Template instantiations for the new asset types Timeline and Sequence 2010-06-03 04:37:15 +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
acd0671390 clarify some comments regarding GUI start 2010-02-13 17:41:16 +01:00
Christian Thaeter
9fc68c9d32 Merge remote branch 'public/nobug201001.2' into backend_devel
* public/nobug201001.2:
  integrating nobug context passing
  updates for nobug 201001.2

Conflicts:
	configure.ac
	src/lib/condition.h
	src/lib/reccondition.h
	tests/backend/test-threads.c
2010-01-23 06:56:39 +01:00
Christian Thaeter
c15f2247d7 integrating nobug context passing
Somewhat more intrusive than the previous patch,
adds contexts everywhere except for sync.hpp where only default ctors
are used.
2010-01-23 01:40:27 +01:00
Christian Thaeter
b8336879f7 autoconf/automake cleanup
* refactor configure.ac to have distinct sections to configure each
   subsystem.
 * Dedicated LUMIERA_<subsys>_CFLAGS|_LIBS vars
 * Fix Makefile.am's to use them, remove unnecessary dependencies

Stray dependencies to be refacored:
 * tests/Makefile.am has dependencies on proc and backend
  - should be moved to tests/library/Makefile.am etc anyways
 * tests/lib/Makefile.am has dependency on GUI left


 * src/tool/Makefile.am links GUI stuff generally, thats ok

 * one threading test is broken, we don't care, merging new threadpool in
   next.
2010-01-17 15:48:30 +01:00
2b46574da3 move the for_each helpers into a separate header
(because util.hpp is used pervasively, and I don't want
<tr1/functional> in such a widely used header...
2009-12-29 04:39:27 +01:00
3835399c5f Testsuite: catch exceptions at the level of invoking individual tests 2009-10-11 05:57:42 +02:00