Skip to content

Aserver-nodes #32

@thomas-hermann

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.

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