Gencaster / gencaster

A non-linear audio streaming framework for real-time radiophonic experiences and live music.
https://gencaster.org
GNU Affero General Public License v3.0
22 stars 0 forks source link

Add place sensitive cue points in editor #651

Open capital-G opened 9 months ago

capital-G commented 9 months ago

A place for discussion and sketches on how to implement location based services in the editor of Gencaster

Elementary

ToDo

See also

vin-ni commented 8 months ago

Frame 139

capital-G commented 8 months ago

We had an exchange today on how to tackle the difficulties of generative playback, absolute positions on a map as well as relative/generated positions on a map.

The main idea is to

See the sketch above

Open questions

capital-G commented 8 months ago

I think it would be a good idea to create sequence diagrams which cover the cases of

I started with a simple mermaid diagram for now (yay, github finally has a way to display graphs which are stored as code)

sequenceDiagram
    create actor User
    create participant Start
    create participant BackgroundMusic
    create participant LocationB
    User-->>+LocationB: user entered location B
    Start->>BackgroundMusic: NormalFlow

    create participant MapNode
    BackgroundMusic->>MapNode : NormalFlow

    create participant LocationA
    %% create participant LocationB
    MapNode->>+LocationA : check if entered
    MapNode->>LocationB : check if entered
    LocationB->>MapNode: user entered B
    MapNode->>LocationB: run script cells
    LocationB->LocationB: execute script cell 1
    LocationB-->>-User: user left location B
    LocationB->>MapNode: script cell 1 executed - terminate?
    MapNode->MapNode: is exit condition met? -> No
    MapNode->>LocationB: continue
    User-->>+LocationA: user is in location A
    LocationB->LocationB: execute script cell 2
    LocationA->>MapNode: user entered A
    LocationA-->>-User: user leaves location A
    LocationB->>MapNode: finished
    MapNode->MapNode: is exit condition met? -> Yes

    create participant StopBackgroundMusic
    MapNode->>StopBackgroundMusic: jump to next node

    %% Alice->>+John: John, can you hear me?
    %% John-->>-Alice: Hi Alice, I can hear you!
    %% John-->>-Alice: I feel great!