pythonsupercollider

FoxDot doesn't open


I'm trying to create music using FoxDot. However, I've failed to run it. I'd greatly appreciate it if anyone could help me solve this issue.

Let's go through it: OS Windows 10 Pro, SuperCollider 3.13.0, Git, sc3 plugins, Python 2.7.18, and FoxDot are installed. I followed these steps:

  1. Open the SuperCollider IDE.

  2. Type Quarks.install("FoxDot") and run it by pressing Ctrl+Enter.

  3. Recompile the SuperCollider class library by going to Menu -> Language -> Recompile Class Library.

  4. On the next line, type FoxDot.start and evaluate it by going to Menu -> Language -> Evaluate Selection or Line.

  5. Open cmd.

  6. Run python -m FoxDot. However, FoxDot does not open. Instead, the following error message appears:

    Traceback (most recent call last):
    File "C:\Python27\lib\runpy.py", line 163, in _run_module_as_main
    mod_name, _Error)
    File "C:\Python27\lib\runpy.py", line 111, in _get_module_details
    __import__(mod_name)  # Do not catch exceptions initializing package
    File "C:\Python27\lib\site-packages\FoxDot\__init__.py", line 106, in <module>
    from .lib import *
    File "C:\Python27\lib\site-packages\FoxDot\lib\__init__.py", line 227, in <module>
    now = var([0]).transform(lambda a: Clock.now())
    File "C:\Python27\lib\site-packages\FoxDot\lib\TimeVar.py", line 858, in __call__
    return TimeVar(*args, **kwargs)
    File "C:\Python27\lib\site-packages\FoxDot\lib\TimeVar.py", line 55, in __init__
    self.update(values, dur)
    File "C:\Python27\lib\site-packages\FoxDot\lib\TimeVar.py", line 140, in update
    self.dur = asStream(dur)
    File "C:\Python27\lib\site-packages\FoxDot\lib\Patterns\Main.py", line 1522, in asStream
    return data if isinstance(data, Pattern) else Pattern(data)
    File "C:\Python27\lib\site-packages\FoxDot\lib\Patterns\Main.py", line 111, in __init__
    self.make()
    File "C:\Python27\lib\site-packages\FoxDot\lib\Patterns\Main.py", line 1016, in make
    if isinstance(self.data, (str, range)):
    TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types
    

Thank you in advance for your help!


Solution

  • The traceback indicates a TypeError related to the 'isinstance' function, suggesting there might be an issue with the Python version compatibility or some package dependencies. One potential solution could be to check if all the required Python packages are installed correctly and if they are compatible with Python 2.7.18. Additionally, ensuring that FoxDot is compatible with the specific versions of SuperCollider and its associated plugins might also help resolve the issue.

    Since you're using Python 2.7.18, it's possible that some dependencies or modules in FoxDot might not be fully compatible. Consider upgrading to Python 3.x, as many libraries and frameworks have dropped support for Python 2.x. This could potentially resolve compatibility issues and allow FoxDot to run smoothly. Additionally, double-checking the installation steps and verifying that all dependencies are correctly installed could help identify any missing components or misconfigurations that might be causing the error.