Re: Alsa Compile Problems & Checking for GTKMM

Robert Hart <[email protected]> Wed, 04 Feb 2004 20:48:38 +0000
Newsgroups gmane.comp.audio.zinf.devel
Message-ID <1075927717.2652.4.camel@euclid>
I think you might have broken the build if --enable-experimental wasn't
used.

I will try a fresh CVS pull in case I landed in the middle of something,
but I am getting undefined symbols in the regular musicbrowser.

Did you apply the alsa patch below? I have something similar in my tree
after reading a bug report on the debian bugs page, but I wasn't sure if
the fix was debian specific or not.

I am trying to find the crash on watch directory bug, but it's an
absolute stinker to debug. I think the seg-fault happens so quickly
after a new thread is created the gdb doesn't have a chance to attach to
the new thread. I got the impression from a previous e-mail of yours
that it works flawlessly for you.

Rob

On Wed, 2004-02-04 at 20:23, David Hough wrote:
> hi,
> 
> I've added checking for GTKMM to configure.ac and also made it only check 
> for boost and GTKMM when the experimental flag is specified. I'm assuming 
> that boost is still only used in the mdb and browsermm code, if its not 
> I'll move it back out.
> 
> Also, the alsa plugin now refuses to compile with version of alsa earlier 
> then v1-0-0pre1. Below is a patch I think makes it compile with both old 
> and new versions of alsa. I've reversed the recent patch to make it 
> compile with new versions and instead done a define that tells alsa we are 
> using old api's. I think its possible to tell alsa we're using new api's 
> instead and not reverse the patch, but I'm guessing that as the plugin was 
> originally designed for the old api's, there's less chance of things 
> breaking if we stick to the old api for the moment.
> 
> David
> 
> Index: io/alsa/unix/linux/include/alsapmo.h
> ===================================================================
> RCS file: /cvsroot/zinf/zinf/io/alsa/unix/linux/include/alsapmo.h,v
> retrieving revision 1.15
> diff -u -r1.15 alsapmo.h
> --- io/alsa/unix/linux/include/alsapmo.h	27 Jan 2004 02:25:39 -0000	1.15
> +++ io/alsa/unix/linux/include/alsapmo.h	4 Feb 2004 19:41:17 -0000
> @@ -111,8 +111,7 @@
>       int		m_iChannel;
>       snd_pcm_t	*m_handle;
>       FAContext   *m_context;
> -    int		m_channels, m_samplesPerFrame;
> -    unsigned    m_samples;
> +    int		m_channels, m_samples, m_samplesPerFrame;
>       long int		totalWrittenToALSABuffer;
>   };
> 
> Index: io/alsa/unix/linux/src/alsapmo.cpp
> ===================================================================
> RCS file: /cvsroot/zinf/zinf/io/alsa/unix/linux/src/alsapmo.cpp,v
> retrieving revision 1.29
> diff -u -r1.29 alsapmo.cpp
> --- io/alsa/unix/linux/src/alsapmo.cpp	27 Jan 2004 02:25:40 -0000	1.29
> +++ io/alsa/unix/linux/src/alsapmo.cpp	4 Feb 2004 19:41:18 -0000
> @@ -32,7 +32,8 @@
>   ____________________________________________________________________________*/
> 
>   /* system headers */
>   #include <stdlib.h>
> +#define ALSA_PCM_OLD_HW_PARAMS_API 1
>   #include <alsa/asoundlib.h>
>   #include <ctype.h>
>   #include <errno.h>
> @@ -78,7 +79,7 @@
> 
>      m_handle = NULL;
>      m_channels = -1;
> -   m_samples = 0;
> +   m_samples = 
> -1;
>       snd_mixer_elem_t *selem;
>       snd_mixer_selem_id_t *m_sid;
>       snd_mixer_selem_id_alloca(&m_sid);
> @@ -238,7 +239,7 @@
>       err = snd_pcm_hw_params_set_format(m_handle, params, 
> SND_PCM_FORMAT_S16_BE);
>   #endif
>       err = snd_pcm_hw_params_set_channels(m_handle, params, m_channels);
> -    err = snd_pcm_hw_params_set_rate_near(m_handle, params, &m_samples, 
> 0);
> +    err = snd_pcm_hw_params_set_rate_near(m_handle, params, m_samples, 0);
>       err = snd_pcm_hw_params_set_period_size(m_handle, 
> params,m_iDataSize/16, 0);
>       err = snd_pcm_hw_params(m_handle, params);
>       if (err < 0){
-- 
Robert Hart <[email protected]>



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn