-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add initial troubleshooting docs and links
- Loading branch information
Showing
12 changed files
with
137 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Troubleshooting: DeviceNotFoundException | ||
|
||
## Example | ||
|
||
``` | ||
signalflow.DeviceNotFoundException: Could not find device name: Scarlett 2i2 | ||
``` | ||
|
||
## Description | ||
|
||
This exception occurs because the audio device specified in the configuration could not be found, or no audio devices at all could be found. | ||
|
||
## Solution | ||
|
||
Check that the device name that you have selected exists, and is connected to your computer and powered on. | ||
|
||
- SignalFlow selects its output device based on the device that you have selected in your `~/.signalflow/config`, in the environmental variable `SIGNALFLOW_OUTPUT_DEVICE_NAME` (or `SIGNALFLOW_INPUT_DEVICE_NAME` for input devices), or in the `config` property passed to the `AudioGraph` | ||
- A list of all available devices can be found by running the terminal command `signalflow list-output-device-names` | ||
``` | ||
[audio] | ||
output_buffer_size = 8192 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Troubleshooting | ||
|
||
## Exceptions | ||
|
||
- [InsufficientBufferSizeException](insufficient_buffer_size_exception.md) | ||
- [DeviceNotFoundException](device_not_found_exception.md) | ||
- [NodeNotPlayingException](node_not_playing_exception.md) | ||
- [NodeAlreadyPlayingException](node_already_playing_exception.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Troubleshooting: Installation problems | ||
|
||
## General Python installation guidelines | ||
|
||
- You should a version of Python that is separate from the system Python, either using Homebrew or Python.org installers | ||
- You should also ideally create a virtual environment to avoid conflicts with other local Python installs | ||
|
||
## On macOS | ||
|
||
Please follow the [installation guidelines for macOS](../installation/macos/index.md). Some general recommendations: | ||
|
||
- macOS 10.15 (Catalina) or above is required | ||
- Python 3.8 or above is required | ||
|
||
## On Linux | ||
|
||
Unfortunately, Pipewire is not currently supported due to lack of support from the [libsoundio](https://github.com/andrewrk/libsoundio) subsystem that SignalFlow relies on for cross-platform audio I/O. | ||
|
||
## On Windows | ||
|
||
If `pip install signalflow` returns `ERROR: No matching distribution found for signalflow`, please note that SignalFlow for Windows currently only supports Python 3.12. | ||
|
22 changes: 22 additions & 0 deletions
22
docs/troubleshooting/insufficient_buffer_size_exception.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Troubleshooting: InsufficientBufferSizeException | ||
|
||
## Example | ||
|
||
``` | ||
Exception in AudioGraph: Node audioout-soundio cannot render because output | ||
buffer size is insufficient (8192 samples requested, buffer size = 2048). | ||
Increase the buffer size. | ||
``` | ||
|
||
## Description | ||
|
||
This exception occurs because the audio hardware is requesting more samples than a node has currently allocated. This allocation is controlled by SignalFlow's `output_buffer_size` config parameter. | ||
|
||
## Solution | ||
|
||
Increase the `output_buffer_size` within your [SignalFlow configuration](../graph/config.md). This can be done by adding the below to your `~/.signalflow/config` file: | ||
|
||
``` | ||
[audio] | ||
output_buffer_size = 8192 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Troubleshooting: NodeAlreadyPlayingException | ||
|
||
## Example | ||
|
||
``` | ||
signalflow.NodeAlreadyPlayingException: Node cannot be played as it is already | ||
playing | ||
``` | ||
|
||
## Description | ||
|
||
This exception occurs when `play()` is called on a `Node` object that is already playing. | ||
|
||
## Solution | ||
|
||
Calling `play()` on a `Node` object simply connects the output of that node to the output endpoint of the audio graph, which means that frames will be requested from it in future audio I/O blocks. | ||
|
||
Calling `play()` a second time therefore has no effect, because the `Node` is already connected. | ||
|
||
If you want to play a particular sound twice, you should instead create two copies of the `Patch` and play them individually. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Troubleshooting: NodeNotPlayingException | ||
|
||
## Example | ||
|
||
``` | ||
signalflow.NodeNotPlayingException: Node cannot be played as it is already | ||
playing | ||
``` | ||
|
||
## Description | ||
|
||
This exception occurs when `stop()` is called on a `Node` object that has not yet been played. | ||
|
||
## Solution | ||
|
||
Calling `stop()` on a `Node` object that is not connected to an output is invalid, and should be avoided. | ||
|
||
If you want to check whether a `Node` is connected before stopping it, you can check the boolean `is_playing` property. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters