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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions