[CSOUND-DEV:4754] csound5 on OSX
Date | 2004-05-19 07:54 |
From | jpff@codemist.co.uk |
Subject | [CSOUND-DEV:4754] csound5 on OSX |
I have made some updates to allow OSX to get further. (there was a typo in Top/dl_opcodes.c) I am now seriously stuck with generating .so files In man gcc I see -shared This option is not supported on Mac OS X. There must be an alternative. Any suggestions? Does this not matter? I thought of just removing -shared but that seem internal to scons The other stopper at present is that I need a version of getChar for OSX. I had assumed it might be like unix but that fails as well. Any ideas? ==John ffitch |
Date | 2004-05-19 09:41 |
From | "Matt J. Ingalls" |
Subject | [CSOUND-DEV:4756] Re: csound5 on OSX |
steven probably could explain better, but to my memory this is what was added to deal with the -shared problem: if getPlatform() == 'darwin': pluginEnvironment.Append(LINKFLAGS = ['-dynamiclib']) pluginEnvironment['SHLIBSUFFIX'] = '.dylib' i did check this into cvs, is it not in the current file? i think that sensekey should be removed out of pitch.c and put into the kernel because getChar() is in the API. btw, here is some changes i made to that: static char inChar_ = 0; // these should really be in the static int kbHit_ = 0; // ENVIRONS struct PUBLIC void csoundKeyPress(void *csound, char c) { inChar_ = c; kbHit_ = 1; } char getChar() { if (kbHit_) { kbHit_ = 0; return inChar_; } return -1; } it also would be REALLY USEFUL to implement a 'sensekeyup' opcode! -m On Wed, 19 May 2004 jpff@codemist.co.uk wrote: > I have made some updates to allow OSX to get further. (there was a > typo in Top/dl_opcodes.c) > > I am now seriously stuck with generating .so files > In man gcc I see > > -shared > This option is not supported on Mac OS X. > > There must be an alternative. Any suggestions? Does this not matter? > I thought of just removing -shared but that seem internal to scons > > The other stopper at present is that I need a version of getChar for > OSX. I had assumed it might be like unix but that fails as well. Any > ideas? > > ==John ffitch > > |
Date | 2004-05-19 11:36 |
From | jpff@codemist.co.uk |
Subject | [CSOUND-DEV:4759] Re: csound5 on OSX |
>>>>> "Matt" == Matt J Ingalls |
Date | 2004-05-19 20:05 |
From | "Matt J. Ingalls" |
Subject | [CSOUND-DEV:4763] Re: csound5 on OSX |
> Yes it is, but the -shared option is still there and gives a warning > message on every compilation hmm i dont see that, maybe i should refresh from cvs.. > > Matt> i think that sensekey should be removed out of pitch.c > Matt> and put into the kernel because getChar() is in the API. > > Did not know that it was in the API. What difference does it make > being in teh kernel rather than loadable? so you dont have to have a function pointer to getChar() in the ENVIRONS. what really should happen i think is that all the #ifdef stuff should be removed out of pitch.c and be replace with: int ksense(KSENSE *p) { *p->ans = getChar(); return OK; } THEN in csound.c you can define getChar() and put in the platform specific code for _getch() or whatever. [ i would hope the linux implementation would work for OSX too? ] something like: static char inChar_ = 0; // these should really be in the static int kbHit_ = 0; // ENVIRONS struct PUBLIC void csoundKeyPress(void *csound, char c) { inChar_ = c; kbHit_ = 1; } char getChar() { if (kbHit_) { // if host has sent a keypress kbHit_ = 0; return inChar_; } else { # ifdef WIN32 if (_kbhit()) return _getch(); #else if (kbhit()) return getchar(); #endif } return -1; // no recent keyhit so return, -1 } > Do not understand that. How does that get the character? the host calls csoundKeyPress() everytime a new key is pressed. > > Matt> it also would be REALLY USEFUL to implement a 'sensekeyup' > Matt> opcode! > > Not sure how to detect a change withjout continuous monitoring dont know if there is a unix way to do it, but definitely through the api it should be supported as other oses/programs can trap key ups. implementing this would allow you to use the keyboard as a piano keyboard, holding down notes, etc.. as you can guess, i use sensekey A LOT in my own stuff!! -m |