Patch notes 1.0.0
Source directivity
- Source directivity library of sound sources.
- Source directivity import (.CF2 format)
Device receivers
- DRTF support
- Ability to change/rotate device for device receivers in a completed simulation without needing to re-run the simulation.
Material import
- The ability to create custom materials.
Other changes
- Remove the ability to create multiple
projects
with the samename
within an organization. - Remove the ability to upload
models
with the samename
within a project. tsdk.get_project_by_name
added.project.get_model_by_name
added.tsdk.device_library.get_device_by_name
added.
Breaking changes
Version 1.0 includes a lot of new features and improvements, unfortunately that forced us to make a few changes that are not backwards compatible.
Here is a list of breaking changes combined with code examples on how to update you code.
- The
directive_speech
anddirective_loudspeaker
source types have been folded into the Source Directivity library.
# Old way of creating a directive speech source.
my_source = treble.Source(
x=1,
y=2,
z=3,
source_type=treble.SourceType.directive_speech,
label="source_speech",
)
# New way of creating a directive speech source.
# Load speech directivity from source directivity library.
speech_directivity = tsdk.source_directivity_library.query(
name="Speech",
category=treble.SourceDirectivityCategory.natural
)[0]
my_source = treble.Source(
x=1,
y=2,
z=3,
source_type=treble.SourceType.directive,
label="source_speech",
source_properties=treble.SourceProperties(source_directivity=speech_directivity)
)
tsdk.materal_library.get_by_category
has been folded into thetsdk.materal_library.get
method.
# Old way of fetching by category.
tsdk.materal_library.get_by_category('Porous')
# New way of fetching by category.
tsdk.material_library.get(category='Porous')
- Devices have been moved from
project
totsdk.device_library
making it possible to use the same devices in multiple projects, so creating, fetching and deleting devices has changed a bit.
# Old way of fetching devices
project.get_devices()
# Old way of fetching a single device
project.get_device(id)
# Old way of creating a device
project.add_device(device_definition)
# Old way of deleting a device
project.delete_device(device)
# New way of fetching devices
tsdk.device_library.get_devices()
# New way of fetching a single device
tsdk.device_library.get_device(id)
# New way of creating a device
tsdk.device_library.add_device(device_definition)
# New way of deleting a device
tsdk.device_library.delete_device(device)