Csound Csound-dev Csound-tekno Search About

[Csnd] Re: Re: Re: Re: Re: csound on Fedora 11 and rawhide

Date2009-09-08 23:05
From"Art Hunkins"
Subject[Csnd] Re: Re: Re: Re: Re: csound on Fedora 11 and rawhide
----- Original Message ----- 
From: "Peter Robinson" 
To: "Art Hunkins" 
Cc: ; 
Sent: Tuesday, September 08, 2009 5:38 PM
Subject: Re: [Csnd] Re: Re: Re: Re: csound on Fedora 11 and rawhide


>> My remaining problem is MIDI input. Here are my :
>> -odac -+rtaudio=alsa -+rtmidi=alsa -M hw:1,0 -m0d --expression-opt -b128
>> -B2048 -+raw_controller_mode=1
>> (It seems that *both* -+rtaudio=alsa and -+rtmidi=alsa are required 
>> here.)
>
>> No sound, and the log shows real confusion on the MIDI front. Here is the
>> relevent portion:
>> ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC1D0
>> failed: No such file or directory
>>
>> ALSA: error opening MIDI input device
>>
>> *** error opening MIDI in device: -1 (Unknown MIDI error)
>>
>> Seems like there is something missing for alsa MIDI.
>
> Does the sound card midi require sound fonts or samples to be loaded,
> or even support midi? I think a lot of the newer cheap mother board
> sound cards like the Intel HDA audio don't even support it. Can you
> get it working using one of the other midi packages? There's a list in
> Fedora here
> https://fedoraproject.org/wiki/SIGs/AudioCreation#Packages_Accepted_into_Fedora

MIDI is essential to realtime Csound.

Portmidi has long been the MIDI standard in Csound. I note it's on the list 
you cite.

Any reason it can't be used?

OTOH, alsa was used (on the XO-1) for rtmidi. Can't it continue?

(My activities are meant both for the XO-1 and SoaS; so as much 
consistency/continuity as possible would be helpful to me. [The XO-1 used 
alsa for both audio and midi.] Otherwise, I think separate versions will be 
required, unfortunately.)

Art Hunkins 

Date2009-09-08 23:50
FromPeter Robinson
SubjectRe: [Csnd] Re: Re: Re: Re: csound on Fedora 11 and rawhide
>> Does the sound card midi require sound fonts or samples to be loaded,
>> or even support midi? I think a lot of the newer cheap mother board
>> sound cards like the Intel HDA audio don't even support it. Can you
>> get it working using one of the other midi packages? There's a list in
>> Fedora here
>>
>> https://fedoraproject.org/wiki/SIGs/AudioCreation#Packages_Accepted_into_Fedora
>
> MIDI is essential to realtime Csound.
>
> Portmidi has long been the MIDI standard in Csound. I note it's on the list
> you cite.
>
> Any reason it can't be used?

I don't plan on compiling it into csound on Fedora as its not the
default sound platform on Fedora. There's alsa and pulseaudio support
compiled in so that gives you two options. Also it was never supported
in the previous release of olpcsound used on the XO. To add to this I
barely have time to support csound with 2 sound options compiled in, I
certainly don't have the time to support 3. If you want to step up and
assist in supporting csound in Fedora I might reconsider the option.

> OTOH, alsa was used (on the XO-1) for rtmidi. Can't it continue?

Sure, I haven't disabled it but looking at all the devices I have on
hand and digging out the XO-1 I don't see a single device that has
hardware midi (including 2 laptops, a netbook, another geode based
desktop system and a couple of other desktops) so I suspect if it was
working it was emulated in software. I have no idea how any of that
works so I have no idea what's broken but I don't have any way to
debug it. Feel free to submit patches that fix the issue though.

> (My activities are meant both for the XO-1 and SoaS; so as much
> consistency/continuity as possible would be helpful to me. [The XO-1 used
> alsa for both audio and midi.] Otherwise, I think separate versions will be
> required, unfortunately.)

As mentioned it must have been software midi as I don't see HW midi on
the XO-1 using the old 802 release that's running on XO-1 that was
closest to hand. I don't see what could have broken as looking at the
olpcsound build config (included below) the only audio option that was
used was alsa. In the current build we actually have significantly
more things enabled. Are you sure that midi is working on your
machines? have you tested another application to see if they work? Can
you include (as mentioned by Felipe the output of "ls -al /dev/snd" ?)

Peter


        if env['buildOLPC'] == '1':
            env['pythonVersion']    = '2.5'
            env.Prepend(CPPFLAGS    = ['-DOLPC'])
            env.Prepend(CPPFLAGS    = ['-DENABLE_OPCODEDIR_WARNINGS=0'])

            if util.getPlatform() != 'linux': print "Build platform is
not linux"
            # Set other options??
            env['useGettext']           = '1'
            env['useDouble']            = '0'
            env['usePortAudio']         = '0'
            env['useJack']              = '0'
            env['buildCsoundAC']        = '0'
            env['buildCsound5GUI']      = '0'
            env['useDouble']            = '0'
            env['usePortMIDI']          = '0'
            env['useALSA']              = '1'
            env['useFLTK']              = '0'
            env['buildCsoundVST']       = '0'
            env['buildCsoundAC']        = '0'
            #'buildCsound5GUI'
            env['buildLoris']           = '0'
            env['buildStkOpcodes']      = '0'
            env['useOSC']               = '1'
            env['buildFluidOpcodes']    = '0'
            env['prefix']               = '/usr'
            env['buildUtilities']       = '0'
            ##env['gcc4opt']            = '1'
            env['useLrint']             = '1'
            env['Word64']               = '0'
            env['Lib64']                = '0'
            env['buildPDClass']         = '0'
            env['buildDSSI']            = '0'
            env['buildVirtual']         = '1'
            env['buildInterfaces']      = '1'
            env['buildSDFT']            = '0'
            env['buildJavaWrapper']     = '0'
            env['buildNewParser']       = '0'
            env['buildvst4cs']          = '0'
            env['buildImageOpcodes']    = '1'
            env['dynamicCsoundLibrary'] = '1'