Re: Newcomer (Getting Started with Siren)
"[Gauthier]" <[email protected]> Sun, 11 Jan 2004 01:00:17 +0100
| Newsgroups | gmane.comp.audio.siren |
|---|---|
| Message-ID | <002a01c3d7d5$e75948e0$0100a8c0@gauthier> |
Hi Stephen, thanks for your support!
1: I'm getting used to the smalltalk basic tools (class browser and debug=
er,
wich form an impressive embeded IDE), and I'm learning the language as a
hobby with Squeak since I've found this gem, so I'm almost able to run an=
d
debug (so understand) in the smalltalk environment. I find the whole
environment very addictive and the learning curve is quite accessible for
anyone wich know the basic of OOP. So I'm happy to dive into Smalltalk
mostly if I can use it with SIREN!
2: Doh, I missed to grab the Goodies package, so I've now the needed parc=
els
running on my installation.
3: That the most "c/c++ hacking" part (something I'm not very used to), b=
ut
I'm going to succeed (if you really really want, you can achieve anything
;).
Sorry if it's a bit verbose but I think it will help other persons that
build the whole thing under windows platform, also sorry for my english w=
ich
is far from perfect...
I've compiled all of the three external libraries (either with cygwin+gcc=
or
vc) and got the following output:
libsndfile.dll (244kb)
portaudio_v18_1.lib (153kb)
portmidi.lib (441kb)
porttime.lib (4kb).
I'm unable to compile fftw with cygwin+gcc but that another story...
now I'm creating a project with vc7 including your *_lite interfaces but =
I
got some errors due to late declaration of variables in some functions of
theses two files:
-portaudio_lite.c
-portmidi_lite.c
here is a summary of the changes needed in order to compile with vc
portaudio_lite.c:
in function pa_open_p line:156
moved "unsigned i;" to the line 146 after "PaError err;"
in function pa_callback_sem
line:43 add "OEoop sem;"
line:52 replace "OEoop sem =3D oeRegisteredHandleAt(io_sem);" with "s=
em =3D
oeRegisteredHandleAt(io_sem);"
portmidi_lite.c:
in function pm_open
line 112: add "int index;" just after "PmError err;"
line 116: replace "int index =3D pm_free_index();" with "index =3D
pm_free_index();"
I've joined the updated file in case it will be of any help
I've added libsndfile.lib, portaudio_v18_1.lib and portmidi.lib as
Additional dependencies in my VC project, also
I actually can compile only with libsndfile, and I got several linking
errors when compiling, here is the output of the compiler:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
portaudio_lite.obj : error LNK2019: unresolved external symbol
_oeSignalSemaphore referenced in function _pa_callback_sem
portaudio_lite.obj : error LNK2019: unresolved external symbol
_oeRegisteredHandleAt referenced in function _pa_callback_sem
portaudio_lite.obj : error LNK2019: unresolved external symbol _bzero
referenced in function _pa_callback_sem
portaudio_lite.obj : error LNK2019: unresolved external symbol _UPfail
referenced in function _pa_initialize
portmidi_lite.obj : error LNK2001: unresolved external symbol _UPfail
portaudio_lite.obj : error LNK2019: unresolved external symbol
_oeRegisteredHandleAtPut referenced in function _pa_open_s
portaudio_lite.obj : error LNK2019: unresolved external symbol
_oeAllocRegistrySlot referenced in function _pa_open_s
portmidi_lite.obj : error LNK2019: unresolved external symbol
_oeCopyCtoOEstring referenced in function _pm_get_name
portmidi_lite.obj : error LNK2019: unresolved external symbol _usleep
referenced in function _pm_read
portmidi.lib(pmwin.obj) : error LNK2019: unresolved external symbol
_pm_set_close_function referenced in function _pm_init
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
most error seems to come because I've missed to link a .lib that may come
with vw but I don't know wich one it is (I've found vwmnt.lib,
vwmntoeimport.lib and 13 .dll files within my visualworks installation
folder.
I've also one error that don't rely on the missing .lib from vw, wich is:
portmidi.lib(pmwin.obj) : error LNK2019: unresolved external symbol
_pm_set_close_function referenced in function _pm_init
So it would be glad if anyone could help me with theses errors last error.
If I'm right, once I've compiled the whole external pluggins dll, I've to
some definitions in the smalltalk classes, it seems I'm pretty close to h=
ave
SIREN running :)
Thanks
Gauthier
----- Original Message -----=20
From: "Stephen Travis Pope" <[email protected]>
To: "[Gauthier]" <[email protected]>
Cc: "Stephen Travis Pope" <[email protected]>; <[email protected]>
Sent: Saturday, January 10, 2004 8:15 PM
Subject: Re: [Siren] Newcomer (Getting Started with Siren)
|
| Salut Gauthier!
|
| 1. Getting started with Siren
|
| If you're new to Smalltalk, I'd recommend taking the time to read
| through a Smalltalk textbook or on-line tutorial. To approach Siren,
| you'll need to:
| Be able to read complex expressions the Smalltalk language
| Be familiar with the core hierarchies of magnitudes, collections, and
| streams
| Be comfortable using browsers and (esp.) debuggers
|
| There are numerous references in the Siren manual (see, of course,
| http://create.ucsb.edu/Siren/Siren_Workbook.html).
|
| 2. Loading the parcels
|
| On my machine, the GH ComposedTextEditor parcel file is in the parcel
|
| /Developer/VisualWorks/7.2/goodies/other/Heeg/GHNamespaces.pcl
|
| Load this parcel, then try to open a Workbook (available from the
| Launcher's Tools menu) and loading the Workbook.bos outline file (menu
| item Page/LoadAll).
|
| 3. Getting the IO external interfaces working
|
| To use the DLLCC External Interfaces, you need to
| Compile dynamic libraries (.dll, .so, or .dylib) for libSndFile,
| PortAudio, and PortMIDI
| Recompile the ExternalInterface classes to point to libraries
|
| For the first step, look at the Makefile in the dllcc directory. Edit
| this for your platform, or make a project file in your favorite C/C++
| development environment. Use the appropriate linker flags to create DLL
| files for libSndFile, PortAudio, and PortMIDI. (Look at the on-line doc
| for DLLCC for your platform's build procedures.)
|
| In Siren, edit the class definitions of the ExternalInterface classes
| in the category MusicIO-External, for example,
|
| Smalltalk.Siren defineClass: #LibSndFileInterface
| [ ... ]
| attributes: #(
| #(#includeFiles #('sndfile_lite.h')) "standard header file"
| #(#includeDirectories #('DLLCC')) "default include dir"
| #(#libraryFiles #('sndfile_lite.dylib' 'libsndfile.a')) "edit lib
| names here"
| #(#libraryDirectories #('DLLCC' '/usr/local/lib')) "edit lib dirs
| here"
| #(#beVirtual false)
| #(#optimizationLevel #full))
|
| Edit in your library file and folder names (e.g., for
| 'sndfile_lite.dylib') and compile the class definition. You can put the
| libraries in a shared folder, or local to the folder where VisualWorks
| is running.
|
| Now try the class examples in each of the ExternalInterface classes,
| and the SirenUtility test panel (available from the Launcher's Tools
| menu).
|
| Enjoy!
|
| stp
|
| --
| Stephen Travis Pope -- http://create.ucsb.edu/~stp
|
| Faith, surrender, and hope are only as important to life as, say,
| breathing.
|
|
| Begin forwarded message:
|
| > From: "[Gauthier]" <[email protected]>
| > Date: January 10, 2004 9:45:14 AM PST
| > To: <[email protected]>
| > Subject: [Siren] Newcomer
| >
| > Hi,
| >
| > I found this SIREN project some days ago, and I will to use it as an
| > introduction for MIDI programming, I'm not a Smalltalk programmer but
| > I've
| > started to play arround with this language as well some days ago
| > (firstly
| > with Squeak).
| >
| > Let me tell that the SIREN api / abstraction layer design seems very
| > compelling to me, and I want to thanks those who work hard on it.
| >
| > I've choose to to try the last release of SIREN, that is v7.2 for
| > VisualWorks , so I've downloaded the non commercial Windows version (=
I
| > don't
| > have a mac at this time) and I got it running, I've also downloaded a=
nd
| > installed the DLLCC parcel in my VisualWorks installation.
| >
| > Now I'm trying to install the siren parcel that come in the
| > siren7.2.tgz ,
| > so I've first read the README and the Workbook but I'm stuck with a
| > very
| > simple question:
| >
| > Where can I find the GHeeg ComposedTextEditor parcel?
| > I've only found 1 page in google that mention this component:
| > http://www.cincomsmalltalk.com:8080/CincomSmalltalkWiki/VW+GoodiesOth=
er
| >
| > but it doesn't include a download link for this component.
| >
| > Will someone be kind enough to give me a link on a downloadable
| > version or
| > send it to me via email?
| >
| > I've also another question about DLLCC (sorry for me asking here...):
| > I've downloaded the CSL.libs_MSW.zip wich contain the compiled
| > libraries
| > that SIREN use for interoperrating with hardware, fileformats and
| > computing
| > fft, I also have the DLLCC folder that come with siren7.2.tgz distrib.
| >
| > My question is:
| >
| > Where should I put theses files in my visualwork installation
| > directory?
| >
| > Thanks
| >
| > Gauthier
|
| _____________________________________________________________________
| Envie de discuter en "live" avec vos amis ? T=E9l=E9charger MSN Messeng=
er
| http://www.ifrance.com/_reloc/m la 1=E8re messagerie instantan=E9e de F=
rance
_____________________________________________________________________
Envie de discuter en "live" avec vos amis ? T=E9l=E9charger MSN Messenger
http://www.ifrance.com/_reloc/m la 1=E8re messagerie instantan=E9e de Fra=
nce