Skip to content

Aserver-nodes #32

Description

@thomas-hermann

The current Aserver doesn't allow to free a scheduled or playing signal.
For the branch Aserver-nodes, I propose

  • to add automatic node_id allocation for any played asig
    • this will require the introduction of a src_nodes list
  • Aserver.play() to return that node_id (Asig.play() to store it in its context dict (_['node_id'])
  • service functions to interact with existing nodes, e.g.
    • free_all(): to remove all scheduled and playing entries
    • free(node_id): to remove a specific node_id
    • ... (any other useful suggestion?)
      I have added a threading.Lock(), hope I have secured all critical parts...

A code could be

alongsig1.play()
node = alongsig1._['node_id']  # later with Metadata:  node = alongsig1.info.node_id
alongsig2.play()
s.free(node)  # at a later time
# alongsig2 will keep playing...
  • So far only free_all() works. Please try it and comment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions