Skip to content

Native Python PTSL (Pro Tools Scripting Library) RPC interface

License

Notifications You must be signed in to change notification settings

iluvcapra/py-ptsl

Repository files navigation

Lint and Test codecov Documentation Status GitHub last commit

Pro Tools Version - 2024.6 PTSL Version - 4

py-ptsl

Native Python PTSL (Pro Tools Scripting Library) RPC interface

Important Notice!

This software is developed by enthusiasts and is not a work of or supported by Avid. Developers who wish to contribute to this project should obtain the PTSL SDK from Avid's Developer site for the most current documentation and protobuf source files.

Example

See the examples directory for scripts demonstrating how to use the client.

  • session_info.py - This example prints a list of gettable properties from the currently-open session.
  • print_tracks.py - This example prints a list of every track in the currently-open session, including state information like selection, mute and solo state, track color and track ID.
  • make_session.py - Creates a new session interactively from the terminal.
  • pt_set.py - Allows several session setup options to be set from the terminal.
  • pt_pasteboard.py - Demonstrates triggering cut/copy/paste actions.

Sending Commands To Pro Tools with the Engine class

The Engine class exposes ptsl commands with a method call interface.

from ptsl import open_engine

with open_engine(company_name="MY_COMPANY", application_name="MY_TOOL") as engine:
    session_name = engine.session_name()