ossia / ossia/score

[feature request] extending the control structure

Open
#930 2 comments 0 reactions 1 assignee View on GitHub

@thibaudk is already working on this.

Since Apr 7, 2019.

Dominant language
C++
Stars
2.1k
Forks
129
Avg merge
19h 7m
Merged PRs (30d)
48

Description

At the moment, multiple conditions under the same sync have no relationship to one another apart from the offset behavior (if I am not mistaking).
This means extras step have to be taken for otherwise quite intuitive branch offs, especially with a condition tree inside a loop :

  • random validation, with and without repetitions
  • predefined order, forwards and backwards
  • switching from one of the above behavior to the next

These types of scenarios would be greatly facilitated if the offset behavior list included an "after" operator, and provided the condition's siblings as arguments.
(a "before" operator could also be interesting, and a probability factor would be royal !)

Since the control structure can only be accessed through individual events, modifying it at execution time currently requires tedious tweaking of each expressions in the local tree.
But the addition of a single expression at the parent sync level would also provide the flexibility to cover most of these user cases.
A single expression to define the order of execution, with arguments "sequential" (conditions sorted alphabetically by name maybe), "reverse", "random", "random once"
...

Just a thought for now

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.