Commit graph

515 commits

Author SHA1 Message Date
77c3226948 TreeExplorer: identify yet another subtle type inference problem
surprising behaviour encountered while covering more cases

...obviously the return type of ExpandFunctor::operator()
was inferred as value, even while the invoked functor, from which
this type was deduced, clearly returns a reference.

Solution is simple not to rely on inference, moreover since we know
the exact type in the enclosing scope, thanks to the refactoring which
made this ExpandFunctor a nested class

NOTE:
as it turned out, this is not a compiler bug,
but works as defined by the language:
on return type inference, the detected type is decayed,
which usually helps to prevent returning a reference to a temporary
2017-11-27 05:02:57 +01:00
322467159f DOC: Considerations and Definitions regarding »Interaction Control«
..this collection of ideas, terms and conclusions has been shaped
since some time within the TiddlyWiki. Since I've now started even
some supporting implementation regarding these concepts, its time
to publish them in the design documentation section of the Website
2017-10-09 04:00:07 +02:00
937ad64596 DiffMessage: now uniformly plays the role of MutationMessage (closes #1066) 2017-08-13 07:25:32 +02:00
d4ac2d78e2 C++11: improve moving and forwarding of iterators
this becomes more relevant now, since the actual MutationMessage iterators
are implemented in terms of a shared_ptr to IterSource. Thus, when building
processing pipelines, we most definitively want to move that smart-ptr into
the destination, since this avoids touching the shared count and thus avoids
generating unnecessary memory barriers.
2017-08-12 03:01:35 +02:00
10c2e4b9a9 CmdAccess: rename the front-end to CmdContext to clarify the purpose 2017-04-17 20:00:07 +02:00
22c1a1d189 Commands: rename some of the planned components for command access
...to make the names more handy
2017-04-08 16:24:36 +02:00
afe07bdb16 decommission the safe-bool-idiom (closes #477)
obsoleted by C++11

 * in most cases, it can be replaced by an explicit conversion operator
 * especially for the Lumiera Forward Iterators, we need an implicit conversion
2017-04-02 06:42:23 +02:00
9c21164ae6 Doxygen Fixes (#1062)
This changeset fixes a huge pile of problems, as indicated in the
error log of the Doxygen run after merging all the recent Doxygen improvements

unfortunately, auto-linking does still not work at various places.
There is no clear indication what might be the problem.
Possibly the rather unstable Sqlite support in this Doxygen version
is the cause. Anyway, needs to be investigated further.
2017-04-02 04:22:51 +02:00
ada40609f5 more planning of command invocation structure 2017-03-17 04:09:44 +01:00
57a336ab49 more planning with respect to UI/Session command access (#1087) 2017-03-11 02:07:52 +01:00
c068779a80 command-invocation: use case analysis 2017-03-03 23:59:22 +01:00
567b00aa21 DOC: follow-up of removing boost::scoped_ptr 2017-01-05 01:20:34 +01:00
1ec883787a DOC: decision about where to home the SessionCommandService
After some consideration, it became clear that this service implementation
is closely tied to the DispatcherLoop -- which will consequently be
responsible to run and expose this service implementation
2016-12-15 05:07:40 +01:00
cbb5d57081 DOC: the Ref::THIS construct was removed from the Diff language (#996)
...because of questionable utility
And it turned out to be quite a liability when it comes to implementing
the building blocks for binding tree implementation data structures
2016-12-03 19:40:28 +01:00
9b8fae1a9b (re)consider the problem how to deal with mandatory/optional object fields
this is a tricky problem and a tough decision.
After quite some pondering I choose to enforce mandatory fields
through the ctor, and not to allow myself cheating my way around it
2016-12-03 19:37:52 +01:00
7c09f55a9a DOC: drawing to show the structure of timeline display 2016-12-02 04:07:46 +01:00
67beeab25a start with actual rework of the timeline display
draft a concept for timeline layout management
2016-12-01 21:01:45 +01:00
170c505a8a (cont) analysis of timeline display control 2016-11-28 03:41:25 +01:00
3757a56ac9 more detailed planning of architecture for clip presentation
...first UML diagram created with Umbrello!
2016-11-20 17:52:21 +01:00
c39c49b998 DOC: abandon BoUML and start over with Umbrello (closes #960)
BoUML was close sourced by its author and consequently dropped
from Debian. We use UML as a drawing and documentation tool,
and thus we'll just start over with the /obvious/ choice,
which is the Umbrello tool.
2016-11-19 00:13:19 +01:00
89bfbcab43 merge work on UI-Bus and diff framework to Master
a lot of important work done during Spring and Summer 2016
now mature enough to be considered official
2016-09-05 04:46:12 +02:00
fd2d56ca45 refactoring(#988): switch function-closure to std::tuple
not sure yet if any of this works, because the
technicalities of dealing with variadic types are
quite different to our LISP-style typelist processing.

The good news is that with variadic templates it is
indeed possible, to supply dynamically picked arguments
to another function taking arbitrary arguments.

This all relies on the feature to unpack argument packs,
and, more specifically, about the possiblity to "wrap"
this unpacking around interspersed function call syntax

template<size_t...i>
Xyz
do_something(MyTuple myTuple)
  {
    return Xyz (std::get<i> (myTuple) ... );
  }

Here the '...' will be applied to the i... and then
the whole std::get-construct will be wrapped around
each element. Mind bogging, but very powerful
2016-01-19 03:56:53 +01:00
e74d61da45 clarify some Doxygen settings (see #977) 2015-11-27 20:17:35 +01:00
60b6267eac DOC: after release 0.pre.03 -- checklist with steps for release preparation 2015-11-20 06:12:59 +01:00
96a4704738 DOC: some problems when building with GCC-5 2015-11-20 05:34:11 +01:00
d6d8ddd536 DOC: remove hotfix patch from backporting/Mint howto
this patch is no longer required; we lowered the
version dependencies in the package proper
2015-11-15 07:10:45 +01:00
e1f7165208 DOC: instructions for building/backporting on Mint 17.2 (Rafaela)
this is a bit trickty, since we need to install gcc-4.9 from a PPA.
Mint only provides the libstdc++ 4.8, which is known to break when
compiling in C++14 mode
2015-11-05 03:27:55 +01:00
80ea3b72c9 DOC: mention we could use help for porting the stylesheet
...something a beginner could do
2015-11-05 03:26:05 +01:00
8a707f3a41 post-release: tighten library dependencies
NOTE: we have the policy to always support current Debian/stable
amd at least one Ubuntu LTS release, unless hard dependency problems prevent that.
Currently, Ubuntu/Trusty is already a bit dated, but the only problematic dependency
could be libboost (1.54 in Trusty, 1.55 in Jessie).
GCC-4.8 can be replaced by GCC-4.9 in Trusty without problems

It is always a bit tricky to find out the precise lower boundary,
so we try to upgrade these requirements as our platform progresses.
For now we have used the level available on Ubuntu/Trusty to set
the lower constraints for most libraries
2015-11-03 03:39:00 +01:00
8b1f48bea2 release prep: bump version number
...this will be the third preview release
Lumiera is still in pre-alpha stage, and thus
there are no proper releases, just preview snapshots.

Again this version will be built and packaged
on several supported Linux platforms
2015-11-02 21:31:01 +01:00
12cefe914e release prep: clean-up obsolete information 2015-11-02 21:14:24 +01:00
b1b89c168e release prep: clean-up obsolete information 2015-11-02 19:38:43 +01:00
9c9b31f0f8 DOC: External Tree Description as a design concept
This page gives the rationale for the way our diff framework is built.
This reasoning might *reduce* the relevance of any decisions
regarding the implementation data structure and thus lead to
far reaching consequences for the whole architecture.
2015-11-02 04:50:53 +01:00
0e615e531f DOC: extension of the diff framework to represent structural changes 2015-11-02 03:51:04 +01:00
0b41ddefd0 DOC: how to use gcc-4.9 on Ubuntu Trusty (14.04 LTS) 2015-11-02 01:34:31 +01:00
8dcdce1a58 Doxygen: adjust ignores
now using Doxygen 1.8.8 -- which generates a SQLite-DB
2015-08-17 01:14:33 +02:00
80e78492d2 Reference platform for Lumeira is now Debian/Jessie 2015-08-16 02:49:53 +02:00
c2d5896a3b Project: switch to C++14
This means we have rather tight compiler requirements now.
Beyond that, we expect no serious impact; the most notable
C++14 feature we're likely to use soon is type inference
on lambda arguments.
2015-08-16 01:43:04 +02:00
ff0950fd3b DOC: a note regarding Lumiera Forward Iterators and the range-for loop 2015-08-16 01:35:28 +02:00
e40c85fd7b DOK: rename Track -> Fork (III) -- closes #155
Introduce the new term "Fork" at various relevant places
within the documentation. We do not entirely purge the
term "track" though; rather we

- make clear that "Fork" is the entity to build tracks
- use "fork" also synonymous to the "tree of tracks"
2015-05-31 03:46:05 +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
4c4a430728 DOC: summarise suitable mechanisms for dependency decoupling
This too was a long-standing issue. While these practices
basically can be considered "common knowledge", experience
showed those topics are frequently unknown even to practised
programmers.

So now we have a single page dealing with all those issues of
code bloat, dependency poliferation, binary dependency resolution
and issues of transitive and circular library dependencies
2015-05-28 03:05:49 +02:00
182f6ac8e5 DOC: upgrade dependencies to reflect the transition to GTK-3
the corresponding requirements are already reflected in the
SCons build, see Platform.py

NOTE: the current debian package is still based on the preview
Release 0.2.pre from last year. It will be upgraded probably after
the transition to Jessie as reference system
2015-05-28 00:24:25 +02:00
e447fa9a0e DOC: workaround when --as-needed linking breaks auto-registration (closes #948)
This piece of documentation describes an insideous special case, which
some time ago prevented us from switching to --as-needed linking.
We treat this as a special case (and it is way easier to do so
now, after the reorganisation of our test suite).

deliberately, I've left #948 open to nudge me about writing this doc
2015-05-27 21:12:55 +02:00
6c7628fdfe DOC: the RPATH and RUNPATH tags and the $ORIGIN token
This is very arkane, hard to find knowledge about some intricacies
of the dynamic library resolution. Very relevant for Lumiera,
since we use a resolution scheme relative to the location
of the executable. Documenting this stuff was a long-standing issue
2015-05-27 18:52:15 +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
Christoph Varga
4e3d113c7d complement note about the author 2015-04-25 22:12:00 +02:00
f20e07647c Website organisation: consolidate the GUI Discussion section
- improved overview pages
- move the proposals into subfolder
- incorporate the Interface Design by Clay Barnes
- fix various links
2015-04-15 17:48:48 +02:00
Clay Barnes
ecb99514bd Lumiera Timeline Interface Draft
Remarks: this contribution was originally published on Clay Barne's Blog
https://www.hci-matters.com/blog/2008/05/21/archives/41/
2015-04-15 17:41:52 +02:00
841b1b8e3f Website organisation: move the GUI proposals in a subfolder 2015-04-15 17:18:09 +02:00
6db3f270cf Include the conrtibution of Christoph Varga into the Workflow design section 2015-04-15 16:43:52 +02:00
Christoph Varga
b50bf82728 Lumiera Gui Concept -- introductory page 2015-04-11 12:00:00 +02:00
f90e9c7bbd adjust the related RfC "SystematicMetadata"
There is a long-standing RfC which basically describes the
same idea on a much wider, conceptual scope. Indeed I consider
this approach used here for solving the problem with GUI uptades
also as a proof of concept, to be expanded to a much wider scope
in case it works out well.

The new insight here is, that, by transferring a diff in pull mode,
we can circumvent the architectural problems with typing, which
showed up quite clearly in earlier design studies towards this
concept. The change from push to pull is by far not so fundamental
as it looks, since the sender still may initiate the exchange
by sending a message offering the diff iterator for the receiver
to pull. This way, we get a handshake and still sustain the
crucial part, which is to decouple the data representation
and give the receiver full control over the interpretation
of the exchanged data.
2015-03-22 01:37:16 +01:00
8b6177a1c5 Design: Backbone of the GUI
This is the first step towards a generic backbone to connect
any GUI elements to the session within Proc-Layer.

It is based on a spefic understanding of Model-View-Controller,
which turns the Model-Controller interactions into messages.
2015-01-06 23:44:58 +01:00
1a5e5eaa10 DOC: Wiki / UML clean-up
Remove some orphaned diagrams and PNG images not actually used
in the TiddlyWiki. Add a page with some hints regarding Bouml

See also #960 -- Bouml has been discontinued and is closed source now
not sure how to proceed with this
2015-01-05 15:44:17 +01:00
4e597cf0ce DOC: re-read and improve wording 2015-01-02 09:39:24 +01:00
beb57cde22 DOC: decision to use a simplistic implementation to start with
This means to discontinue any research into emitting an optimal
diff verb sequence for now and just to document the possible path
I see to reach at such a optimal solution later, when it turns out
to be really necessary performance wise.

Personal note: I arrived at this conclusion while whatching the
New Year fireworks 2014/2015 at the banks of the Isar river in
the centre of the city.
Too sad that 2014 didn't bring us World War III
2015-01-01 04:11:20 +01:00
73f310eb23 DOC: reread and slightly reworded 2014-12-23 02:18:28 +01:00
d1a5b0bf70 DOC: didactical improvement 2014-12-22 23:55:54 +01:00
d670f3bada DOC: fix in table 2014-12-22 19:19:30 +01:00
fe9105f321 DOC: reasoning behind the construction of our list diff algorithm
this is a theoretical description of our method, and gives
the reaoning why it is correct, plus the assesment of
size and complexity order.
2014-12-22 05:20:49 +01:00
42f69b6cb5 DOC: assumptions and definitions for diff handling
...plus a started draft of the list diff algorithm
2014-12-21 07:48:04 +01:00
3dc5c83b33 DOC: small howto improvements 2014-12-01 01:31:19 +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
7c9ab5fba2 reorganise test suite compartments
this change is prerequisite to allow linking against different scopes (#938)
2014-10-17 20:02:25 +02:00
3fb838a041 DOC: some notorious problems to check when breakpoints in Eclipse dont work 2014-10-14 02:42:16 +02:00
5b6ebeaa5f stylesheet: finish definition of a base style
- text entry colours
- hover / mouse over
- disabled entries
- ensure consistent menu styling
2014-10-09 03:44:02 +02:00
5f4871a46a DOC: how to learn styling and extract binary theme bundles 2014-10-08 05:14:07 +02:00
a603199207 DOC: start documentation of Lumiera GUI theming 2014-10-07 04:59:45 +02:00
5e9182b29c fix links in the "Statistics" page. Ohloh is now called OpenHub 2014-10-02 23:02:21 +02:00
e8657423a8 sync documentation and code trees 2014-10-02 04:10:51 +02:00
073efdf6a4 DOC: extend the description of dependency pitfals and intricasies
Still not complete, but a complete outline now
2014-10-02 04:08:26 +02:00
b5de8523b1 DOC: start a page to describe linking dependency intricasies 2014-10-01 04:07:18 +02:00
aaaad8d70f DOC: some clean-up in the page describing the build system 2014-10-01 01:19:56 +02:00
0eda9ff69c DOC: guidelines regarding c++11 move semantics 2014-09-25 21:23:19 +02:00
177eb0fab3 DOC: notes regarding the current level of C++11 support 2014-09-13 04:55:57 +02:00
be59e8c2e0 DOC: mark this RfC as dropped -- it was never implemented this way 2014-09-08 02:46:46 +02:00
a034c8be18 fix typo on RfC name
...spotted by looking into the Apache logs on www.lumiera.org
2014-09-08 01:29:48 +02:00
79b19b270f DOC: add a page with notes on the IDE setup 2014-08-16 00:03:55 +02:00
50faee12b3 DOC: update the Boost-page to reflect what's part of the language now
several C++11 features used to be Boost features in the past
2014-08-16 00:03:32 +02:00
faf62cf8af DOC: start a page with C++11 notes (here: about type conversion)
note down some results found out during the C++11 transition.
There is now a clear distinction between automatic type conversion
and the ability to construct a new instance
2014-08-13 03:08:00 +02:00
027386d76c DOC: Tighten the build requirements to C++11 and Boost-1.55 2014-04-29 09:51:00 +02:00
e7769b4bbf Build: make dependency on X-Lib explicit
The XV-Viewer widget in our GUI uses four direct calls
to the X-Lib. This was discovered by strict dependency checking,
as mandated by new Debian policy
2013-11-03 00:07:07 +01:00
0c55da28af release prep: bump version number
...this will be the second preview release
Lumiera is still in pre-alpha stage, and thus there
are no proper releases, just preview snapshots
from time to time.

But we're providing Debian packages allready
2013-10-29 06:13:55 +01:00
2cfc7030c0 release prep: clean-up obsolete information 2013-10-29 06:11:18 +01:00
d15ec47f9e DOC: some further round-up and polishsing 2013-10-28 06:14:42 +01:00
2c4ed4ca91 DOC: update and polish the building tutorial 2013-10-28 00:19:03 +01:00
9652c7ec5e Debian/Repo: reorganise the Git repository URLs
all debian package repositories are now located below
git://lumiera.org/debian/...
2013-10-27 10:18:38 +01:00
8b088d201e DOC: complete the "Contributing" tutorial with some proposed tasks to work on 2013-10-27 08:42:46 +01:00
39230436a3 DOC: slightly shorten and re-structure the "Contributing" tutorial
- prefer lower headline levels, more structuring
- turn some headlines into bullet lists
- cross-link to the "Building Lumiera" tutorial
2013-10-27 08:41:40 +01:00
a2c27dbcaa DOC: minor formatting tweaks to Benny's "contributing" page 2013-10-26 00:51:07 +02:00
bc185742aa DOC: rewrite and improve the 'contributing' tutorial; a Git 'mini HOWTO' 2013-10-26 00:03:19 +02: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
2b437b49ad DOC: switch on TOC and footnotes on some pages 2013-10-07 04:41:19 +02:00
48431d822d Build: adjust versions and naming to comply with Debian/Jessie
Note: this drops some backwards compatibility. We're targeting now
roughly the range between Ubuntu-Precise (LTS) and Debian/testing,
with Debian/stable as the reference system.

The naming scheme for Boost-Libraries was adjusted with Boost-1.42
for Unix-Platforms. Now the '-mt' suffix isn't included any more, but
the libraries available through the usual packaging mechanisms can be
assumed to be thread safe.

See also http://issues.lumiera.org/ticket/759
2013-10-07 01:52:57 +02:00
4f698f1bbb RFC: rework the SchedulerRequirements, promote to draft state
including some consequences taken from last developer meeting
2013-09-20 01:05:34 +02:00
d7b3445f62 DOC: update meeting and IRC transcript overview pages 2013-09-16 04:03:42 +02:00
b91b964d21 DOC: 9/2013 meeting sumary and IRC transcript 2013-09-16 04:03:15 +02:00
93226715a4 small tweaks to the doxygen config 2013-09-12 22:30:27 +02:00
00ce775a84 rework and clarify the SchedulerRequirements RfC 2013-09-10 02:19:16 +02:00