Discussion:
[ANN] PMLib: a physical modelling library for SuperCollider + Python
Michael Dzjaparidze
2014-09-22 14:18:12 UTC
Permalink
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".

Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.

The library can be found here: https://github.com/michaeldzjap/PMLib

And some musical examples of what you can do with the library can be found here:
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase

Hope it will prove useful to some of you and any questions or feedback are welcome.
Sébastien Clara
2014-09-22 15:16:04 UTC
Permalink
He's alive, alive ... on my linux debian testing :)

Yes for plug. But to play, it's another book ^^

Congratulations,
Sébastien
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling
library for SuperCollider I have been working on for the last two
years. It is based on a hybrid finite difference / modal method
approach. It uses Python (NumPy, SciPy) to calculate the modal data of
a system of inter-connected objects like linear strings, bars,
membranes and plates to be assembled by the user. I have tried to make
it relatively user-friendly, but I realize it is perhaps still not the
easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a
working Python version 2.7.x plus the NumPy and SciPy packages
installed. Also note that I have only tested it on OSX. It might be
easy to get it going on other platforms, but I can't give any
guarantees at the moment unfortunately. There are some simple examples
which show you how to get to the stage of producing actual sound
output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Michael Dzjaparidze
2014-09-22 20:09:05 UTC
Permalink
Hi Sebastien, thanks for testing. Good to know it is working on linux!

Date: Mon, 22 Sep 2014 17:16:04 +0200
From: sebastienclara-n+LsquliYkMdnm+***@public.gmane.org
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python






He's alive, alive ... on my linux debian testing :)



Yes for plug. But to play,
it's another book
^^



Congratulations,

Sébastien




Le 22/09/2014 16:18, Michael
Dzjaparidze a écrit :




For those who are interested, I want to share a
physical modelling library for SuperCollider I have been working
on for the last two years. It is based on a hybrid finite
difference / modal method approach. It uses Python (NumPy,
SciPy) to calculate the modal data of a system of
inter-connected objects like linear strings, bars, membranes and
plates to be assembled by the user. I have tried to make it
relatively user-friendly, but I realize it is perhaps still not
the easiest to work with. It is definitely not just simply "plug
and play".



Anyway, in order to use it you will first of all need to have a
working Python version 2.7.x plus the NumPy and SciPy packages
installed. Also note that I have only tested it on OSX. It might
be easy to get it going on other platforms, but I can't give any
guarantees at the moment unfortunately. There are some simple
examples which show you how to get to the stage of producing
actual sound output in the FDObjNetwork.schelp file.



The library can be found here: https://github.com/michaeldzjap/PMLib



And some musical examples of what you can do with the library
can be found here:

https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1

https://soundcloud.com/michaeldzjap/stable-equilibrium

https://soundcloud.com/michaeldzjap/disparity

https://soundcloud.com/michaeldzjap/sets/extase



Hope it will prove useful to some of you and any questions or
feedback are welcome.
Martin Marier
2014-09-29 03:50:39 UTC
Permalink
Hi Michael,

It works perfectly on my Arch Linux machine as well. For those who
might be interested, here is what I did.

On Arch, Python 3 is the default. Python 2 can be installed in parallel
and executed using /usr/bin/python2. And then, pip2 can be installed
and ran with /usr/bin/pip2.

So basically, I installed numpy and scipy using pip2:

sudo pip2 install numpy
sudo pip2 install scipy

scipy required a Fortran compiler that I had to install. After
installing gcc-fortran using the package manager, scipy compiled and
installed normally.

I then cloned PMLib in my Extensions directory:

cd ~/.local/share/SuperCollider/Extensions
git clone git-9UaJU3cA/F/QT0dZR+***@public.gmane.org:michaeldzjap/PMLib.git

I also had to modify FDObjNetwork.sc
The diff is pasted below. It's just two lines.

Thank you for the great work, Michael!
I still have to get down to it, but in the mean time, the examples sound
really good.

Cheers,

Martin




Changes from HEAD to working tree
1 file changed, 2 insertions(+), 2 deletions(-)
FDObjNetwork.sc | 4 ++--

Modified FDObjNetwork.sc
diff --git a/FDObjNetwork.sc b/FDObjNetwork.sc
index 0eeadc0..78aa72b 100644
--- a/FDObjNetwork.sc
+++ b/FDObjNetwork.sc
@@ -5,7 +5,7 @@ FDObjNetwork {
*initClass {
Class.initClassTree(String);
pythonScriptPath = this.class.filenameSymbol.asString.dirname ++ "/python";
- pythonPath = "/Library/Frameworks/Python.framework/Versions/Current/bin"
+ pythonPath = "/usr/bin"
}

*new { arg objDescs,connPointMatrix,massMatrix,excPointMatrix,readoutPointMatrix;
@@ -114,7 +114,7 @@ FDObjNetwork {
this.prCheckMatrixDimensions;
this.prParseSCArgs(gain);
// have to use systemCmd instead of unixCmd here, since we want synchronous execution
- ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;
+ ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python2 systemSetup.py").systemCmd;
this.prParsePythonOutput;
("cd" + pythonScriptPath + "&& rm -rf networkArgs.txt").systemCmd;
modalData.discardModes(eps,minFreq,maxFreq)
--
Martin Marier
http://www.martinmarier.com
http://www.prisedesoncreative.com

Vous pouvez utiliser ma clé publique pour m'envoyer des courriels chiffrés.
You can use my public key to send me encrypted emails.
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xFB5BDFBE93D31280












_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Michael Dzjaparidze
2014-09-29 07:21:06 UTC
Permalink
Hi Martin,
Thanks for sharing this info and great to hear it is working for you after those two minor modifications.
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Sun, 28 Sep 2014 23:50:39 -0400
Hi Michael,
It works perfectly on my Arch Linux machine as well. For those who
might be interested, here is what I did.
On Arch, Python 3 is the default. Python 2 can be installed in parallel
and executed using /usr/bin/python2. And then, pip2 can be installed
and ran with /usr/bin/pip2.
sudo pip2 install numpy
sudo pip2 install scipy
scipy required a Fortran compiler that I had to install. After
installing gcc-fortran using the package manager, scipy compiled and
installed normally.
cd ~/.local/share/SuperCollider/Extensions
I also had to modify FDObjNetwork.sc
The diff is pasted below. It's just two lines.
Thank you for the great work, Michael!
I still have to get down to it, but in the mean time, the examples sound
really good.
Cheers,
Martin
Changes from HEAD to working tree
1 file changed, 2 insertions(+), 2 deletions(-)
FDObjNetwork.sc | 4 ++--
Modified FDObjNetwork.sc
diff --git a/FDObjNetwork.sc b/FDObjNetwork.sc
index 0eeadc0..78aa72b 100644
--- a/FDObjNetwork.sc
+++ b/FDObjNetwork.sc
@@ -5,7 +5,7 @@ FDObjNetwork {
*initClass {
Class.initClassTree(String);
pythonScriptPath = this.class.filenameSymbol.asString.dirname ++ "/python";
- pythonPath = "/Library/Frameworks/Python.framework/Versions/Current/bin"
+ pythonPath = "/usr/bin"
}
*new { arg objDescs,connPointMatrix,massMatrix,excPointMatrix,readoutPointMatrix;
@@ -114,7 +114,7 @@ FDObjNetwork {
this.prCheckMatrixDimensions;
this.prParseSCArgs(gain);
// have to use systemCmd instead of unixCmd here, since we want synchronous execution
- ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;
+ ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python2 systemSetup.py").systemCmd;
this.prParsePythonOutput;
("cd" + pythonScriptPath + "&& rm -rf networkArgs.txt").systemCmd;
modalData.discardModes(eps,minFreq,maxFreq)
--
Martin Marier
http://www.martinmarier.com
http://www.prisedesoncreative.com
Vous pouvez utiliser ma clé publique pour m'envoyer des courriels chiffrés.
You can use my public key to send me encrypted emails.
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xFB5BDFBE93D31280
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Victor Bombi
2014-09-29 08:39:43 UTC
Permalink
Seeing all different cases (phyton2, python, :,;) perhaps best solution would be not doing os detection but having a string with the excutable and path included that could be set by the user

executeString = bla/blabla/pythonx

then dont change PATH env variable and just do

("cd" + pythonScriptPath + "&& executeString systemSetup.py").systemCmd;

Great work!!!

----- Original Message -----
From: Michael Dzjaparidze
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Monday, September 29, 2014 9:21 AM
Subject: RE: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python


Hi Martin,


Thanks for sharing this info and great to hear it is working for you after those two minor modifications.
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Sun, 28 Sep 2014 23:50:39 -0400
Hi Michael,
It works perfectly on my Arch Linux machine as well. For those who
might be interested, here is what I did.
On Arch, Python 3 is the default. Python 2 can be installed in parallel
and executed using /usr/bin/python2. And then, pip2 can be installed
and ran with /usr/bin/pip2.
sudo pip2 install numpy
sudo pip2 install scipy
scipy required a Fortran compiler that I had to install. After
installing gcc-fortran using the package manager, scipy compiled and
installed normally.
cd ~/.local/share/SuperCollider/Extensions
I also had to modify FDObjNetwork.sc
The diff is pasted below. It's just two lines.
Thank you for the great work, Michael!
I still have to get down to it, but in the mean time, the examples sound
really good.
Cheers,
Martin
Changes from HEAD to working tree
1 file changed, 2 insertions(+), 2 deletions(-)
FDObjNetwork.sc | 4 ++--
Modified FDObjNetwork.sc
diff --git a/FDObjNetwork.sc b/FDObjNetwork.sc
index 0eeadc0..78aa72b 100644
--- a/FDObjNetwork.sc
+++ b/FDObjNetwork.sc
@@ -5,7 +5,7 @@ FDObjNetwork {
*initClass {
Class.initClassTree(String);
pythonScriptPath = this.class.filenameSymbol.asString.dirname ++ "/python";
- pythonPath = "/Library/Frameworks/Python.framework/Versions/Current/bin"
+ pythonPath = "/usr/bin"
}
*new { arg objDescs,connPointMatrix,massMatrix,excPointMatrix,readoutPointMatrix;
@@ -114,7 +114,7 @@ FDObjNetwork {
this.prCheckMatrixDimensions;
this.prParseSCArgs(gain);
// have to use systemCmd instead of unixCmd here, since we want synchronous execution
- ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;
+ ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python2 systemSetup.py").systemCmd;
this.prParsePythonOutput;
("cd" + pythonScriptPath + "&& rm -rf networkArgs.txt").systemCmd;
modalData.discardModes(eps,minFreq,maxFreq)
--
Martin Marier
http://www.martinmarier.com
http://www.prisedesoncreative.com
Vous pouvez utiliser ma clé publique pour m'envoyer des courriels chiffrés.
You can use my public key to send me encrypted emails.
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xFB5BDFBE93D31280
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Michael Dzjaparidze
2014-09-29 09:42:07 UTC
Permalink
Yes, that indeed would be the "best" solution I guess. Regarding setting the PATH variable explicitly. I recall that my reason for doing this was that when I was still on osx 10.6.8 (Snow Leopard) this was the only way to get things to work. Can't remember the exact reason, but as I remember numpy and scipy were not being recognized as .systemCmd would use the Python version already installed and this was Python 2.5.x/2.6.x instead of 2.7.x. The .setenv option looks like a cleaner alternative though to what I am doing now.

From: sonoro-***@public.gmane.org
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Mon, 29 Sep 2014 10:39:43 +0200








Seeing all different cases (phyton2, python, :,;)
perhaps best solution would be not doing os detection but having a string with
the excutable and path included that could be set by the user

executeString = bla/blabla/pythonx

then dont change PATH env variable and just
do

("cd" + pythonScriptPath + "&& executeString systemSetup.py").systemCmd;

Great work!!!


----- Original Message -----
From:
Michael Dzjaparidze
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Monday, September 29, 2014 9:21
AM
Subject: RE: [sc-users] [ANN] PMLib: a
physical modelling library for SuperCollider + Python


Hi Martin,


Thanks for sharing this info and great to hear it is working for you
after those two minor modifications.
sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for
SuperCollider + Python
Post by Michael Dzjaparidze
Date: Sun, 28 Sep 2014 23:50:39 -0400
Hi Michael,
It works perfectly on my Arch Linux
machine as well. For those who
Post by Michael Dzjaparidze
might be interested, here is what I
did.
Post by Michael Dzjaparidze
On Arch, Python 3 is the default. Python 2 can be
installed in parallel
Post by Michael Dzjaparidze
and executed using /usr/bin/python2. And then,
pip2 can be installed
Post by Michael Dzjaparidze
and ran with /usr/bin/pip2.
So
sudo pip2
install numpy
Post by Michael Dzjaparidze
sudo pip2 install scipy
scipy required
a Fortran compiler that I had to install. After
Post by Michael Dzjaparidze
installing gcc-fortran
using the package manager, scipy compiled and
Post by Michael Dzjaparidze
installed
normally.
Post by Michael Dzjaparidze
I then cloned PMLib in my Extensions
cd ~/.local/share/SuperCollider/Extensions
I also had to
modify FDObjNetwork.sc
Post by Michael Dzjaparidze
The diff is pasted below. It's just two
lines.
Post by Michael Dzjaparidze
Thank you for the great work, Michael!
I still
have to get down to it, but in the mean time, the examples sound
really good.
Post by Michael Dzjaparidze
Cheers,
Martin
Changes from HEAD to working tree
1 file
changed, 2 insertions(+), 2 deletions(-)
Post by Michael Dzjaparidze
FDObjNetwork.sc | 4
++--
Post by Michael Dzjaparidze
Modified FDObjNetwork.sc
diff --git
a/FDObjNetwork.sc b/FDObjNetwork.sc
Post by Michael Dzjaparidze
index 0eeadc0..78aa72b
100644
Post by Michael Dzjaparidze
--- a/FDObjNetwork.sc
+++ b/FDObjNetwork.sc
@@
*initClass {
Class.initClassTree(String);
Post by Michael Dzjaparidze
pythonScriptPath =
this.class.filenameSymbol.asString.dirname ++ "/python";
Post by Michael Dzjaparidze
- pythonPath
= "/Library/Frameworks/Python.framework/Versions/Current/bin"
Post by Michael Dzjaparidze
+
pythonPath = "/usr/bin"
Post by Michael Dzjaparidze
}
*new { arg
objDescs,connPointMatrix,massMatrix,excPointMatrix,readoutPointMatrix;
@@ -114,7 +114,7 @@ FDObjNetwork {
this.prCheckMatrixDimensions;
Post by Michael Dzjaparidze
this.prParseSCArgs(gain);
//
have to use systemCmd instead of unixCmd here, since we want synchronous
execution
Post by Michael Dzjaparidze
- ("export PATH=" ++ pythonPath ++ ":$PATH && cd" +
pythonScriptPath + "&& python systemSetup.py").systemCmd;
Post by Michael Dzjaparidze
+
("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath +
"&& python2 systemSetup.py").systemCmd;
this.prParsePythonOutput;
Post by Michael Dzjaparidze
("cd" + pythonScriptPath + "&& rm
-rf networkArgs.txt").systemCmd;
modalData.discardModes(eps,minFreq,maxFreq)
Post by Michael Dzjaparidze
--
Martin Marier
http://www.martinmarier.com
Post by Michael Dzjaparidze
http://www.prisedesoncreative.com
Vous pouvez utiliser ma clé publique pour m'envoyer des courriels
chiffrés.
Post by Michael Dzjaparidze
You can use my public key to send me encrypted
emails.
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xFB5BDFBE93D31280
_______________________________________________
Post by Michael Dzjaparidze
sc-users mailing
list
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
http://www.listarc.bham.ac.uk/marchives/sc-users/
http://www.listarc.bham.ac.uk/lists/sc-users/search/
Edward Nixon
2014-09-29 11:52:09 UTC
Permalink
Post by Michael Dzjaparidze
Yes, that indeed would be the "best" solution I guess. Regarding setting the PATH variable explicitly. I recall that my reason for doing this was that when I was still on osx 10.6.8 (Snow Leopard) this was the only way to get things to work. Can't remember the exact reason, but as I remember numpy and scipy were not being recognized as .systemCmd would use the Python version already installed and this was Python 2.5.x/2.6.x instead of 2.7.x. The .setenv option looks like a cleaner alternative though to what I am doing now.
I don’t think the default bash environment is initialized with .systemCmd. I’m foggy on the details but there is a mention in the help, perhaps under the Unix variant.

…edN
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Mon, 29 Sep 2014 10:39:43 +0200
Seeing all different cases (phyton2, python, :,;) perhaps best solution would be not doing os detection but having a string with the excutable and path included that could be set by the user
executeString = bla/blabla/pythonx
then dont change PATH env variable and just do
("cd" + pythonScriptPath + "&& executeString systemSetup.py").systemCmd;
Great work!!!
----- Original Message -----
From: Michael Dzjaparidze
Sent: Monday, September 29, 2014 9:21 AM
Subject: RE: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Hi Martin,
Thanks for sharing this info and great to hear it is working for you after those two minor modifications.
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Sun, 28 Sep 2014 23:50:39 -0400
Hi Michael,
It works perfectly on my Arch Linux machine as well. For those who
might be interested, here is what I did.
On Arch, Python 3 is the default. Python 2 can be installed in parallel
and executed using /usr/bin/python2. And then, pip2 can be installed
and ran with /usr/bin/pip2.
sudo pip2 install numpy
sudo pip2 install scipy
scipy required a Fortran compiler that I had to install. After
installing gcc-fortran using the package manager, scipy compiled and
installed normally.
cd ~/.local/share/SuperCollider/Extensions
I also had to modify FDObjNetwork.sc
The diff is pasted below. It's just two lines.
Thank you for the great work, Michael!
I still have to get down to it, but in the mean time, the examples sound
really good.
Cheers,
Martin
Changes from HEAD to working tree
1 file changed, 2 insertions(+), 2 deletions(-)
FDObjNetwork.sc | 4 ++--
Modified FDObjNetwork.sc
diff --git a/FDObjNetwork.sc b/FDObjNetwork.sc
index 0eeadc0..78aa72b 100644
--- a/FDObjNetwork.sc
+++ b/FDObjNetwork.sc
@@ -5,7 +5,7 @@ FDObjNetwork {
*initClass {
Class.initClassTree(String);
pythonScriptPath = this.class.filenameSymbol.asString.dirname ++ "/python";
- pythonPath = "/Library/Frameworks/Python.framework/Versions/Current/bin"
+ pythonPath = "/usr/bin"
}
*new { arg objDescs,connPointMatrix,massMatrix,excPointMatrix,readoutPointMatrix;
@@ -114,7 +114,7 @@ FDObjNetwork {
this.prCheckMatrixDimensions;
this.prParseSCArgs(gain);
// have to use systemCmd instead of unixCmd here, since we want synchronous execution
- ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;
+ ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python2 systemSetup.py").systemCmd;
this.prParsePythonOutput;
("cd" + pythonScriptPath + "&& rm -rf networkArgs.txt").systemCmd;
modalData.discardModes(eps,minFreq,maxFreq)
--
Martin Marier
http://www.martinmarier.com
http://www.prisedesoncreative.com
Vous pouvez utiliser ma clé publique pour m'envoyer des courriels chiffrés.
You can use my public key to send me encrypted emails.
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xFB5BDFBE93D31280
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Edward Nixon
2014-09-23 12:43:02 UTC
Permalink
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.

I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.

I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.

My apologies to the list, I should probably have done this off-line and continue so if there’s a need to continue the exchange. here’s the post window output:

ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER:
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
CALL STACK:
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
Michael Dzjaparidze
2014-09-23 15:55:45 UTC
Permalink
Not completely sure what is causing the error, but probably best to start at the root.

Python:
If you haven't installed Python 2.7.8 already you can get it from here: https://www.python.org/downloads/
After running the installer you need to set the correct PATH variable in your .profile or .bash_profile:

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

Then next install NumPy and SciPy. Easiest I found is not to bother with macports or anything like that, but just download and install the .dmg:
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download

After that, open up terminal and type python to start python. Then import numpy with the statement import numpy as np. Next, check if numpy can be imported by executing the statement numpy.version.version. If this prints the version number of numpy everything is fine. Repeat the same two previous steps to check if scipy is installed properly.

If you manage to complete the above steps, python should be ready for use and you can try the examples in FDObjNetwork.schelp again. If this doesn't work for you, then msg me offlist and I'll try to help you out further.

Hope this helps,

Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Tue, 23 Sep 2014 08:43:02 -0400
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
Stefan Nussbaumer
2014-09-23 18:52:13 UTC
Permalink
I'm on Linux and I got the same Error. Installing NumPy and SciPy
helped. I *guess* these can be installed through macports or homebrew?

Very interesting listening experience (even the "simple" help examples)
- though, I don't have any knowledge about the theory behind physical
modelling in sound (unfortunately)...

cheers, stefan
Post by Michael Dzjaparidze
Not completely sure what is causing the error, but probably best to start at the root.
If you haven't installed Python 2.7.8 already you can get it from here: https://www.python.org/downloads/
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download
After that, open up terminal and type python to start python. Then import numpy with the statement import numpy as np. Next, check if numpy can be imported by executing the statement numpy.version.version. If this prints the version number of numpy everything is fine. Repeat the same two previous steps to check if scipy is installed properly.
If you manage to complete the above steps, python should be ready for use and you can try the examples in FDObjNetwork.schelp again. If this doesn't work for you, then msg me offlist and I'll try to help you out further.
Hope this helps,
Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Tue, 23 Sep 2014 08:43:02 -0400
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Michael Dzjaparidze
2014-09-23 20:35:20 UTC
Permalink
Yes, they can be installed using macports or homebrew. Compiling numpy and scipy from source was a real headache though, last time I tried... So fortunately there is the easier .dmg option for osx.
I didn't have any experience with physical modelling myself 2 years ago, and I certainly wouldn't call myself an expert now. This book I found to be very helpful though: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470510463.html
Date: Tue, 23 Sep 2014 20:52:13 +0200
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
I'm on Linux and I got the same Error. Installing NumPy and SciPy
helped. I *guess* these can be installed through macports or homebrew?
Very interesting listening experience (even the "simple" help examples)
- though, I don't have any knowledge about the theory behind physical
modelling in sound (unfortunately)...
cheers, stefan
Post by Michael Dzjaparidze
Not completely sure what is causing the error, but probably best to start at the root.
If you haven't installed Python 2.7.8 already you can get it from here: https://www.python.org/downloads/
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download
After that, open up terminal and type python to start python. Then import numpy with the statement import numpy as np. Next, check if numpy can be imported by executing the statement numpy.version.version. If this prints the version number of numpy everything is fine. Repeat the same two previous steps to check if scipy is installed properly.
If you manage to complete the above steps, python should be ready for use and you can try the examples in FDObjNetwork.schelp again. If this doesn't work for you, then msg me offlist and I'll try to help you out further.
Hope this helps,
Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Tue, 23 Sep 2014 08:43:02 -0400
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Arthur Carabott
2014-09-23 22:41:57 UTC
Permalink
NumPy and SciPy can most easily be installed with pip:
http://pip.readthedocs.org/en/latest/installing.html then

pip install numpy
pip install scipy
Post by Michael Dzjaparidze
Yes, they can be installed using macports or homebrew. Compiling numpy and
scipy from source was a real headache though, last time I tried... So
fortunately there is the easier .dmg option for osx.
I didn't have any experience with physical modelling myself 2 years ago,
and I certainly wouldn't call myself an expert now. This book I found to be
http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470510463.html
Date: Tue, 23 Sep 2014 20:52:13 +0200
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for
SuperCollider + Python
I'm on Linux and I got the same Error. Installing NumPy and SciPy
helped. I *guess* these can be installed through macports or homebrew?
Very interesting listening experience (even the "simple" help examples)
- though, I don't have any knowledge about the theory behind physical
modelling in sound (unfortunately)...
cheers, stefan
Post by Michael Dzjaparidze
Not completely sure what is causing the error, but probably best to
start at the root.
Post by Michael Dzjaparidze
If you haven't installed Python 2.7.8 already you can get it from
here: https://www.python.org/downloads/
Post by Michael Dzjaparidze
After running the installer you need to set the correct PATH variable
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Then next install NumPy and SciPy. Easiest I found is not to bother
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download
Post by Michael Dzjaparidze
After that, open up terminal and type python to start python. Then
import numpy with the statement import numpy as np. Next, check if numpy
can be imported by executing the statement numpy.version.version. If this
prints the version number of numpy everything is fine. Repeat the same two
previous steps to check if scipy is installed properly.
Post by Michael Dzjaparidze
If you manage to complete the above steps, python should be ready for
use and you can try the examples in FDObjNetwork.schelp again. If this
doesn't work for you, then msg me offlist and I'll try to help you out
further.
Post by Michael Dzjaparidze
Hope this helps,
Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for
SuperCollider + Python
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Date: Tue, 23 Sep 2014 08:43:02 -0400
On Sep 22, 2014, at 10:18 AM, Michael Dzjaparidze <
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling
library for SuperCollider I have been working on for the last two years. It
is based on a hybrid finite difference / modal method approach. It uses
Python (NumPy, SciPy) to calculate the modal data of a system of
inter-connected objects like linear strings, bars, membranes and plates to
be assembled by the user. I have tried to make it relatively user-friendly,
but I realize it is perhaps still not the easiest to work with. It is
definitely not just simply "plug and play".
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Anyway, in order to use it you will first of all need to have a
working Python version 2.7.x plus the NumPy and SciPy packages installed.
Also note that I have only tested it on OSX. It might be easy to get it
going on other platforms, but I can't give any guarantees at the moment
unfortunately. There are some simple examples which show you how to get to
the stage of producing actual sound output in the FDObjNetwork.schelp file.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
The library can be found here: https://github.com/michaeldzjap/PMLib
And some musical examples of what you can do with the library can be
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or
feedback are welcome.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Very much enjoyed listening to the Soundcloud tracks so I wondered
whether or not I could experiment with this with a minimum of bruising.
I’ve spent the last day looking into the welter of ways one gets a "working
Python 2.7" going on Mavericks. I’ve tried a number of options which I’m
sure simply complicates things: direct download and install; Annaconda;
MacPorts and finally this morning Hommebrew — which seems like the most
‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
I don’t want to make this a totally off topic, Python thread, but
below is the post window error output when I run the first block of your
help entry under FDObjnetwork.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
I’d just like to confirm that it is probably related to my Python
installation _and_ ask if you can point me to a reasonably clear and
straightforward way of getting a Python that your library will function
with.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
My apologies to the list, I should probably have done this off-line
and continue so if there’s a need to continue the exchange. here’s the post
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine'
failed.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
felix
2014-09-24 11:21:21 UTC
Permalink
+1

my 2c:

pip is the first method to try.

then try the DMG

use homebrew only is you have installed python with homebrew
(which is the easiest way to swap python versions)
Post by Arthur Carabott
http://pip.readthedocs.org/en/latest/installing.html then
pip install numpy
pip install scipy
Post by Michael Dzjaparidze
Yes, they can be installed using macports or homebrew. Compiling numpy
and scipy from source was a real headache though, last time I tried... So
fortunately there is the easier .dmg option for osx.
I didn't have any experience with physical modelling myself 2 years ago,
and I certainly wouldn't call myself an expert now. This book I found to be
http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470510463.html
Date: Tue, 23 Sep 2014 20:52:13 +0200
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for
SuperCollider + Python
I'm on Linux and I got the same Error. Installing NumPy and SciPy
helped. I *guess* these can be installed through macports or homebrew?
Very interesting listening experience (even the "simple" help examples)
- though, I don't have any knowledge about the theory behind physical
modelling in sound (unfortunately)...
cheers, stefan
Post by Michael Dzjaparidze
Not completely sure what is causing the error, but probably best to
start at the root.
Post by Michael Dzjaparidze
If you haven't installed Python 2.7.8 already you can get it from
here: https://www.python.org/downloads/
Post by Michael Dzjaparidze
After running the installer you need to set the correct PATH variable
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Then next install NumPy and SciPy. Easiest I found is not to bother
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download
Post by Michael Dzjaparidze
After that, open up terminal and type python to start python. Then
import numpy with the statement import numpy as np. Next, check if numpy
can be imported by executing the statement numpy.version.version. If this
prints the version number of numpy everything is fine. Repeat the same two
previous steps to check if scipy is installed properly.
Post by Michael Dzjaparidze
If you manage to complete the above steps, python should be ready for
use and you can try the examples in FDObjNetwork.schelp again. If this
doesn't work for you, then msg me offlist and I'll try to help you out
further.
Post by Michael Dzjaparidze
Hope this helps,
Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library
for SuperCollider + Python
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Date: Tue, 23 Sep 2014 08:43:02 -0400
On Sep 22, 2014, at 10:18 AM, Michael Dzjaparidze <
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling
library for SuperCollider I have been working on for the last two years. It
is based on a hybrid finite difference / modal method approach. It uses
Python (NumPy, SciPy) to calculate the modal data of a system of
inter-connected objects like linear strings, bars, membranes and plates to
be assembled by the user. I have tried to make it relatively user-friendly,
but I realize it is perhaps still not the easiest to work with. It is
definitely not just simply "plug and play".
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Anyway, in order to use it you will first of all need to have a
working Python version 2.7.x plus the NumPy and SciPy packages installed.
Also note that I have only tested it on OSX. It might be easy to get it
going on other platforms, but I can't give any guarantees at the moment
unfortunately. There are some simple examples which show you how to get to
the stage of producing actual sound output in the FDObjNetwork.schelp file.
https://github.com/michaeldzjap/PMLib
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
And some musical examples of what you can do with the library can
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or
feedback are welcome.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Very much enjoyed listening to the Soundcloud tracks so I wondered
whether or not I could experiment with this with a minimum of bruising.
I’ve spent the last day looking into the welter of ways one gets a "working
Python 2.7" going on Mavericks. I’ve tried a number of options which I’m
sure simply complicates things: direct download and install; Annaconda;
MacPorts and finally this morning Hommebrew — which seems like the most
‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
I don’t want to make this a totally off topic, Python thread, but
below is the post window error output when I run the first block of your
help entry under FDObjnetwork.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
I’d just like to confirm that it is probably related to my Python
installation _and_ ask if you can point me to a reasonably clear and
straightforward way of getting a Python that your library will function
with.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
My apologies to the list, I should probably have done this off-line
and continue so if there’s a need to continue the exchange. here’s the post
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput >
0x1082aa328
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine'
failed.
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
--
..
http://soundcloud.com/crucialfelix
http://github.com/crucialfelix
.
Edward Nixon
2014-09-24 12:56:42 UTC
Permalink
Michael and I seem to have determined that the numpy and scipy modules are installed here and working. Or at least importable.

There’s still some testing to do and I’m wondering whether it might be a permissions or other access problem given the nature of the diagnostic, i.e., file operation failure. This might explain inconsistent behaviour over different installations.

More to do, I guess. It’s a good excuse to get on with a long backburnered project to get more familiar with Python.

…edN
Post by felix
+1
pip is the first method to try.
then try the DMG
use homebrew only is you have installed python with homebrew
(which is the easiest way to swap python versions)
NumPy and SciPy can most easily be installed with pip: http://pip.readthedocs.org/en/latest/installing.html then
pip install numpy
pip install scipy
Yes, they can be installed using macports or homebrew. Compiling numpy and scipy from source was a real headache though, last time I tried... So fortunately there is the easier .dmg option for osx.
I didn't have any experience with physical modelling myself 2 years ago, and I certainly wouldn't call myself an expert now. This book I found to be very helpful though: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470510463.html
Date: Tue, 23 Sep 2014 20:52:13 +0200
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
I'm on Linux and I got the same Error. Installing NumPy and SciPy
helped. I *guess* these can be installed through macports or homebrew?
Very interesting listening experience (even the "simple" help examples)
- though, I don't have any knowledge about the theory behind physical
modelling in sound (unfortunately)...
cheers, stefan
Post by Michael Dzjaparidze
Not completely sure what is causing the error, but probably best to start at the root.
If you haven't installed Python 2.7.8 already you can get it from here: https://www.python.org/downloads/
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download
After that, open up terminal and type python to start python. Then import numpy with the statement import numpy as np. Next, check if numpy can be imported by executing the statement numpy.version.version. If this prints the version number of numpy everything is fine. Repeat the same two previous steps to check if scipy is installed properly.
If you manage to complete the above steps, python should be ready for use and you can try the examples in FDObjNetwork.schelp again. If this doesn't work for you, then msg me offlist and I'll try to help you out further.
Hope this helps,
Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Tue, 23 Sep 2014 08:43:02 -0400
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
--
..
http://soundcloud.com/crucialfelix
http://github.com/crucialfelix
.
Michael Zacherl
2014-09-24 13:54:17 UTC
Permalink
Post by felix
+1
pip is the first method to try.
then try the DMG
use homebrew only is you have installed python with homebrew
(which is the easiest way to swap python versions)
IIRC homebrew relies on pip








--
http://mz.klingt.org


_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Edward Nixon
2014-09-25 15:20:40 UTC
Permalink
Post by Michael Dzjaparidze
Yes, they can be installed using macports or homebrew. Compiling numpy and scipy from source was a real headache though, last time I tried... So fortunately there is the easier .dmg option for osx.
I didn't have any experience with physical modelling myself 2 years ago, and I certainly wouldn't call myself an expert now. This book I found to be very helpful though: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470510463.html
Boy! I’d need a grant to cover the cost of that book, even in electronic format. Does anyone have any other, perhaps web based, sources for this area? Thanks.

…edN
Sébastien Clara
2014-09-24 06:04:51 UTC
Permalink
Hi Stefan,
I just installed these dependencies from official repositories of my
linux distribution(debian testing) !?

apt install python-scipy python-numpy

I have not done anything more to make it work.

Cheers,
Sébastien
Post by Stefan Nussbaumer
I'm on Linux and I got the same Error. Installing NumPy and SciPy
helped. I *guess* these can be installed through macports or homebrew?
Very interesting listening experience (even the "simple" help examples)
- though, I don't have any knowledge about the theory behind physical
modelling in sound (unfortunately)...
cheers, stefan
Post by Michael Dzjaparidze
Not completely sure what is causing the error, but probably best to start at the root.
If you haven't installed Python 2.7.8 already you can get it from here: https://www.python.org/downloads/
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0-py2.7-python.org-macosx10.6.dmg/download
http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0-py2.7-python.org-macosx10.6.dmg/download
After that, open up terminal and type python to start python. Then import numpy with the statement import numpy as np. Next, check if numpy can be imported by executing the statement numpy.version.version. If this prints the version number of numpy everything is fine. Repeat the same two previous steps to check if scipy is installed properly.
If you manage to complete the above steps, python should be ready for use and you can try the examples in FDObjNetwork.schelp again. If this doesn't work for you, then msg me offlist and I'll try to help you out further.
Hope this helps,
Michael D
Post by Michael Dzjaparidze
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Tue, 23 Sep 2014 08:43:02 -0400
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Oliver Larkin
2014-09-26 11:56:25 UTC
Permalink
Same error for me on latest Mavericks. I installed python 2.7.8 and scipy/numpy via pip.

ERROR: Primitive '_FileReadLine' failed.

oli
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Edward Nixon
2014-09-26 12:19:26 UTC
Permalink
I’ve neglected to give Michael my thanks publicly; he spent a couple of days with me painstakingly testing this issue and we got it sorted out, at least for my machine and installation.
Here’s what I would suggest you check/try.

In the terminal, type ‘which python’ to find the location of your python installation.

Open the file FDObjNetwork.sc in the PMLib distribution. Then check that the *initClass variable pythonPath matches the result of the terminal query

Then scroll down to line 120 or so, to the statement:
// ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;

copy it and comment out one version; edit the other as follows:
("export PATH=" ++ pythonPath.shellQuote ++ ":$PATH && cd" + pythonScriptPath.shellQuote + "&& python systemSetup.py").systemCmd;

Save these changes and recompile the class library. Then try the example code again.

I think this is the nub of what resulted from our testing but perhaps Michael remembers it better than me.

…edN
Post by Oliver Larkin
Same error for me on latest Mavericks. I installed python 2.7.8 and scipy/numpy via pip.
ERROR: Primitive '_FileReadLine' failed.
oli
Post by Edward Nixon
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Oliver Larkin
2014-09-26 12:54:38 UTC
Permalink
thanks, working now

oli
I’ve neglected to give Michael my thanks publicly; he spent a couple of days with me painstakingly testing this issue and we got it sorted out, at least for my machine and installation.
Here’s what I would suggest you check/try.
In the terminal, type ‘which python’ to find the location of your python installation.
Open the file FDObjNetwork.sc in the PMLib distribution. Then check that the *initClass variable pythonPath matches the result of the terminal query
// ("export PATH=" ++ pythonPath ++ ":$PATH && cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;
("export PATH=" ++ pythonPath.shellQuote ++ ":$PATH && cd" + pythonScriptPath.shellQuote + "&& python systemSetup.py").systemCmd;
Save these changes and recompile the class library. Then try the example code again.
I think this is the nub of what resulted from our testing but perhaps Michael remembers it better than me.
…edN
Post by Oliver Larkin
Same error for me on latest Mavericks. I installed python 2.7.8 and scipy/numpy via pip.
ERROR: Primitive '_FileReadLine' failed.
oli
Post by Michael Dzjaparidze
Post by Michael Dzjaparidze
For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".
Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.
The library can be found here: https://github.com/michaeldzjap/PMLib
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase
Hope it will prove useful to some of you and any questions or feedback are welcome.
Very much enjoyed listening to the Soundcloud tracks so I wondered whether or not I could experiment with this with a minimum of bruising. I’ve spent the last day looking into the welter of ways one gets a "working Python 2.7" going on Mavericks. I’ve tried a number of options which I’m sure simply complicates things: direct download and install; Annaconda; MacPorts and finally this morning Hommebrew — which seems like the most ‘responsible’ way to go. Plus pip-ing NumPy and SciPy.
I don’t want to make this a totally off topic, Python thread, but below is the post window error output when I run the first block of your help entry under FDObjnetwork.
I’d just like to confirm that it is probably related to my Python installation _and_ ask if you can point me to a reasonably clear and straightforward way of getting a Python that your library will function with.
ERROR: Primitive '_FileReadLine' failed.
Failed.
Instance of File { (0x115e7bff8, gc=C8, fmt=00, flg=00, set=02)
instance variables [1]
fileptr : nil
}
MethodError:reportError 0x10df02fd8
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x10eb49328
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x10ea80cd8
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x10ec3f128
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x10e473458
arg this = <instance of File>
< FunctionDef in Method FDObjNetwork:prParsePythonOutput > 0x1082aa328
var str = ""
FDObjNetwork:prParsePythonOutput 0x115e3e798
arg this = <instance of FDObjNetwork>
var file = <instance of File>
var readFunc = <instance of Function>
var modeFreqs = nil
var t60Times = nil
var biquadCoefs = nil
var modeCalcTime = nil
FDObjNetwork:calcModes 0x115e411c8
arg this = <instance of FDObjNetwork>
arg eps = 1e-06
arg minFreq = 25
arg maxFreq = 24000
arg gain = 1
< closed FunctionDef > 0x115e431e8
var objs = [*2]
var massMatrix = <instance of Array2D>
var connPointMatrix = <instance of Array2D>
var excPointMatrix = <instance of Array2D>
var readoutPointMatrix = <instance of Array2D>
Interpreter:interpretPrintCmdLine 0x115e43658
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
var objs,massMatrix,connPo..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x10e770718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_FileReadLine' failed.
Failed.
RECEIVER: a File
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Victor Bombi
2014-09-28 14:01:23 UTC
Permalink
Thank you very much for sharing this.
I was much interested in your work.
I am on win32 sc3.6.6 and getting the error Primitive '_FileReadLine' failed.

(I have already installed NumPy and SciPy for Python2.7 and also changed shellQuote in pythonPath and pythonScriptPath)

Any suggestions?
----- Original Message -----
From: Michael Dzjaparidze
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Monday, September 22, 2014 4:18 PM
Subject: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python


For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".

Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.

The library can be found here: https://github.com/michaeldzjap/PMLib

And some musical examples of what you can do with the library can be found here:
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase

Hope it will prove useful to some of you and any questions or feedback are welcome.
Victor Bombi
2014-09-28 15:53:20 UTC
Permalink
have changed to
"PATH".setenv(pythonPath ++ ";" ++ "PATH".getenv);
("cd" + pythonScriptPath + "&& python systemSetup.py").systemCmd;

because PATH was not set
it is almost portable as : in linux needs ; on win32
ideally it should be set only once but allowing the user to set the pythonPath in the script

also:
("cd" + pythonScriptPath + "&& rm -rf networkArgs.txt").systemCmd;
rm should be del in win32

so some os detection should be used (I dont know how)
----- Original Message -----
From: Victor Bombi
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Sunday, September 28, 2014 4:01 PM
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python


Thank you very much for sharing this.
I was much interested in your work.
I am on win32 sc3.6.6 and getting the error Primitive '_FileReadLine' failed.

(I have already installed NumPy and SciPy for Python2.7 and also changed shellQuote in pythonPath and pythonScriptPath)

Any suggestions?
----- Original Message -----
From: Michael Dzjaparidze
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Monday, September 22, 2014 4:18 PM
Subject: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python


For those who are interested, I want to share a physical modelling library for SuperCollider I have been working on for the last two years. It is based on a hybrid finite difference / modal method approach. It uses Python (NumPy, SciPy) to calculate the modal data of a system of inter-connected objects like linear strings, bars, membranes and plates to be assembled by the user. I have tried to make it relatively user-friendly, but I realize it is perhaps still not the easiest to work with. It is definitely not just simply "plug and play".

Anyway, in order to use it you will first of all need to have a working Python version 2.7.x plus the NumPy and SciPy packages installed. Also note that I have only tested it on OSX. It might be easy to get it going on other platforms, but I can't give any guarantees at the moment unfortunately. There are some simple examples which show you how to get to the stage of producing actual sound output in the FDObjNetwork.schelp file.

The library can be found here: https://github.com/michaeldzjap/PMLib

And some musical examples of what you can do with the library can be found here:
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase

Hope it will prove useful to some of you and any questions or feedback are welcome.
Michael Dzjaparidze
2014-09-28 20:58:23 UTC
Permalink
Glad you figured it out. Yeah, os detection would be a nice feature, but no idea how or even if this can be done somehow.

From: sonoro-***@public.gmane.org
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Subject: Re: [sc-users] [ANN] PMLib: a physical modelling library for SuperCollider + Python
Date: Sun, 28 Sep 2014 17:53:20 +0200








have changed to
"PATH".setenv(pythonPath ++ ";" ++
"PATH".getenv);
("cd" + pythonScriptPath + "&& python
systemSetup.py").systemCmd;

because PATH was not set
it is almost portable as : in linux needs ; on
win32
ideally it should be set only once but allowing the
user to set the pythonPath in the script

also:
("cd" + pythonScriptPath + "&& rm -rf
networkArgs.txt").systemCmd;
rm should be del in win32

so some os detection should be used (I dont know
how)

----- Original Message -----
From:
Victor
Bombi
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Sunday, September 28, 2014 4:01
PM
Subject: Re: [sc-users] [ANN] PMLib: a
physical modelling library for SuperCollider + Python


Thank you very much for sharing
this.
I was much interested in your work.
I am on win32 sc3.6.6 and getting the error
Primitive '_FileReadLine' failed.

(I have already installed NumPy and SciPy
for Python2.7 and also changed shellQuote in pythonPath and
pythonScriptPath)

Any suggestions?

----- Original Message -----
From:
Michael Dzjaparidze
To: sc-users-lSHO60Uw44Cwa9SdKMSz+***@public.gmane.org
Sent: Monday, September 22, 2014 4:18
PM
Subject: [sc-users] [ANN] PMLib: a
physical modelling library for SuperCollider + Python


For those who are interested, I want to share a physical
modelling library for SuperCollider I have been working on for the last two
years. It is based on a hybrid finite difference / modal method approach. It
uses Python (NumPy, SciPy) to calculate the modal data of a system of
inter-connected objects like linear strings, bars, membranes and plates to
be assembled by the user. I have tried to make it relatively user-friendly,
but I realize it is perhaps still not the easiest to work with. It is
definitely not just simply "plug and play".

Anyway, in order to use
it you will first of all need to have a working Python version 2.7.x plus
the NumPy and SciPy packages installed. Also note that I have only tested it
on OSX. It might be easy to get it going on other platforms, but I can't
give any guarantees at the moment unfortunately. There are some simple
examples which show you how to get to the stage of producing actual sound
output in the FDObjNetwork.schelp file.

The library can be found
here: https://github.com/michaeldzjap/PMLib

And some
musical examples of what you can do with the library can be found
here:
https://soundcloud.com/michaeldzjap/excite-me-27-11-2012-1
https://soundcloud.com/michaeldzjap/stable-equilibrium
https://soundcloud.com/michaeldzjap/disparity
https://soundcloud.com/michaeldzjap/sets/extase

Hope
it will prove useful to some of you and any questions or feedback are
welcome.
Stefan Nussbaumer
2014-09-28 22:14:52 UTC
Permalink
Post by Michael Dzjaparidze
Yeah, os detection would be a nice feature, but no idea how or even if this can be done somehow.
http://doc.sccode.org/Classes/Platform.html

maybe?


_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Michael Dzjaparidze
2014-09-29 07:18:49 UTC
Permalink
Post by Stefan Nussbaumer
http://doc.sccode.org/Classes/Platform.html
maybe?
Yes, that will do it. Thanks for bringing that to my attention.
Loading...