scamp.playback_implementations.OSCPlaybackImplementation
- class scamp.playback_implementations.OSCPlaybackImplementation(port: int, ip_address: str = '127.0.0.1', message_prefix: str = 'scamp', osc_message_addresses: dict = 'default')[source]
Bases:
PlaybackImplementation
Playback implementation that sends outgoing OSC messages to an external synthesizer / program
- Parameters:
port – OSC port to use for playback
ip_address – ip_address to send OSC messages to
message_prefix – prefix used in the address of all messages sent. Defaults to the name of the instrument
osc_message_addresses – dictionary mapping the kind of the message to the address for that message. Defaults to playback_settings.osc_message_addresses
Methods
change_note_parameter
(note_id, ...)Method that implements the change of a parameter other than pitch or volume
change_note_pitch
(note_id, new_pitch)Method that implements the change of a note's pitch
change_note_volume
(note_id, new_volume)Method that implements the change of a note's volume
end_note
(note_id)Method that implements the end of a note
set_max_pitch_bend
(semitones)This method does nothing in the case of an OSC-based implementation
start_note
(note_id, pitch, volume, ...)Method that implements the start of a note
Inherited Methods
Returns a copy of this object by serializing to and from JSON.
Dump this object as a JSON string.
json_loads
(s)Load this object from a JSON string.
load_from_json
(file_path)Load this object from a JSON file with the given path.
save_to_json
(file_path)Save this object to a JSON file using the given path.
- start_note(note_id: int, pitch: float, volume: float, properties: NoteProperties, note_info_dict: dict) None [source]
Method that implements the start of a note
- Parameters:
note_id – unique identifier for the note we are starting
pitch – floating-point MIDI pitch value
volume – floating-point volume value (from 0 to 1)
properties – a NotePropertiesDictionary
other_parameter_values – dictionary mapping parameter name to parameter value for parameters other than pitch and volume. (This information was extracted from the properties dictionary.)
note_info_dict – dictionary with auxiliary info about this note (e.g. the clock it’s running on, time stamp, various flags)
- end_note(note_id: int) None [source]
Method that implements the end of a note
- Parameters:
note_id – unique identifier of the note to end
- change_note_pitch(note_id: int, new_pitch: float) None [source]
Method that implements the change of a note’s pitch
- Parameters:
note_id – unique identifier of the note whose pitch to change
new_pitch – new (floating-point) MIDI pitch value
- change_note_volume(note_id: int, new_volume: float) None [source]
Method that implements the change of a note’s volume
- Parameters:
note_id – unique identifier of the note whose volume to change
new_volume – new floating point volume value from 0 to 1
- change_note_parameter(note_id: int, parameter_name: str, new_value: float) None [source]
Method that implements the change of a parameter other than pitch or volume
- Parameters:
note_id – unique identifier of the note to effect
parameter_name – name of the parameter to change
new_value – new floating-point value of that parameter
- set_max_pitch_bend(semitones: int) None [source]
This method does nothing in the case of an OSC-based implementation
- duplicate() T
Returns a copy of this object by serializing to and from JSON.
- json_dumps() str
Dump this object as a JSON string. This uses a custom encoder that recognizes and appropriately converts any attributes that are object inheriting from SavesToJSON.
- classmethod json_loads(s: str) T
Load this object from a JSON string. This uses a custom decoder that looks for a “_type” key in any object/dictionary being parsed and converts it to the class specified (assuming it a subclass of SavesToJSON).
- Parameters:
s – a string representing this object in JSON format
- classmethod load_from_json(file_path: str) T
Load this object from a JSON file with the given path. This uses a custom decoder that looks for a “_type” key in any object/dictionary being parsed and converts it to the class specified (assuming it a subclass of SavesToJSON).
- Parameters:
file_path – path for loading the file
- save_to_json(file_path: str) None
Save this object to a JSON file using the given path. This uses a custom encoder that recognizes and appropriately converts any attributes that are object inheriting from SavesToJSON.
- Parameters:
file_path – path for saving the file