Skip to content

Algorithm Composition

py4pd offers a list of objects to create algorithm composition, they mimic some obcjets of OpenMusic.

I am yet implementing most of OpenMusic objects

Visual Language

Lisp

Basic functions defined in the programming language

  • py.first: Returns the first element of a list.
  • py.second: Returns the second element of a list.
  • py.third: Returns the third element of a list.
  • py.nth: Returns the element at a specified index in a list.
  • py.rest: Returns all elements of a list except the first.
  • py.nthcdr: Returns all elements of a list starting from a specified index.
  • py.butlast: Returns all elements of a list except the last.
  • py.reverse: Returns a new list with elements in reverse order.
  • py.length: Returns the number of elements in a list.
  • py.list: Converts arguments into a list.
  • py.remove: Returns a list with all occurrences of a given element removed.
  • py.cons: Constructs a new list by prepending an element to an existing list.
  • py.append: Concatenates two lists into a single list.
  • py.apply: Calls a function with a list of arguments.
  • py.funcall: Calls a function with given arguments directly.
  • py.mapcar: Applies a function to each element of a list and returns a list of results.
  • py.mapcan: Applies a function to each element of a list and concatenates all results into a single list.

Control

Special boxes implementing control operators, argument passing and memory

  • py.seq:
  • py.hub:
  • py.split:
  • py.default:

Loop

Special boxes for visual loop implementation

Special symbols:

  • py.iterate: Iterate over a list.
  • py.collect: Collect items. Must work with py.iterate.

Basic Tools

Objects and tools for data representation and processing

Arithmetic

  • py.+: + lists, number and list with number.
  • py.-: - lists, number and list with number.
  • py.*: * lists, number and list with number.
  • py./: / lists, number and list with number.