Closed hyansuper closed 5 years ago
Are you able to run p1 >> pluck()
before changing to FoxDot? By default Troop will start up with the FoxDot interpreter so you shouldn't have to change
Same result without changing to Foxdot. I don't need to open FoxDot when using Troop, right?
You need to run FoxDot.start
in SuperCollider as you would when running FoxDot normally - but you don't need to start FoxDot using python -m FoxDot
. Do you have SuperCollider open and have you run FoxDot.start
?
I have solved the issue by installing FoxDot with python2.7.
previously I was using python3.6 and I install FoxDot with python3.6, then I run python3 run-server.py
and python3 run-client.py
, but somehow troop is actually using python2.7 as interpretor (just my guess), but I didn't install FoxDot with python2.7
Now I installed FoxDot with python2.7 and the problem is solved even if I run troop with python3.
One more detail to confirm my guess: I set SC3_PLUGINS=True
in /usr/local/lib/python3.6/dist-packages/FoxDot/lib/Settings/conf.txt and run server and client with python3.6 but still unable to use the piano function. only after I set SC3_PLUGINS=True
in /usr/local/lib/python2.7/dist-packages/FoxDot/lib/Settings/conf.txt, then I run server and client with python3.6 and the piano function is avaiable.
I don't find a option to explicitly set which version of python as the interpretor in the conf.txt file. I don't know if it's a bug or just my computers are messy (both my PC and laptop have the problem). anyway It is working now and I am happy with it :+1: Thanks for this great tool~
Ahh, the issue is because Troop just runs python -m FoxDot --pipe
and uses the version of Python that is associated with the Python command. Troop spawns a new process instead of importing FoxDot so the version of Python you start Troop with won't necessarily be the version of Python FoxDot starts with. Users with only one version installed may not be able to use python3
or python2
from the command line so I'm going to leave it as it is I'm afraid. I would suggest maybe switching your default version of Python to Python3 by adding something like alias python python3
to your .bashrc file
EDIT: I might be able to use sys.executable
to use the correct version of Python - will let you know
EDIT 2: Should work now! Try starting Troop with Python 3 then running print(sys.version)
Great! now It works as I expect. Troop and FoxDot use the same version of python.
SuperCollider and FoxDot works fine, but I if evaluate any code in Troop, nothing happens, no sound or error message. For example, If I start the server, and in the client I choose language as FoxDot, then I type "p1 >> pluck()" and evaluate (ctrl + Enter), nothing happens except the following output: `======================================== Changing interpreted lanaguage to FoxDot
======================================== me : p1 >> pluck() ` there is no sound nor any error message in the tenimal window of the server or client by the way, I'm using Ubuntu18.04 and python3.6