Fix compilation with 'AUDIO_PORT_SUPPORT' defined (#5841)

Co-authored-by: PhysSong <tteu.ingog@gmail.com>
This commit is contained in:
zserik
2020-12-21 11:05:33 +01:00
committed by GitHub
parent 53b2a33c88
commit eeec3f8664
3 changed files with 17 additions and 4 deletions

View File

@@ -448,11 +448,18 @@ IF(WANT_JACK)
# use dlsym instead
SET(JACK_LIBRARIES ${CMAKE_DL_LIBS})
SET(LMMS_HAVE_JACK TRUE)
SET(LMMS_HAVE_JACK_PRENAME TRUE)
SET(JACK_FOUND TRUE)
ELSE()
PKG_CHECK_MODULES(JACK jack>=0.77)
IF(JACK_FOUND)
SET(LMMS_HAVE_JACK TRUE)
SET(STATUS_JACK "OK")
SET(CMAKE_REQUIRED_LIBRARIES_BACKUP "${CMAKE_REQUIRED_LIBRARIES}")
SET(CMAKE_REQUIRED_LIBRARIES "${JACK_LIBRARIES}")
CHECK_LIBRARY_EXISTS(jack jack_port_rename "" LMMS_HAVE_JACK_PRENAME)
SET(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES_BACKUP}")
UNSET(CMAKE_REQUIRED_LIBRARIES_BACKUP)
ENDIF()
ENDIF()

View File

@@ -329,8 +329,13 @@ void AudioJack::renamePort( AudioPort * _port )
_port->name() + " R" };
for( ch_cnt_t ch = 0; ch < DEFAULT_CHANNELS; ++ch )
{
#ifdef LMMS_HAVE_JACK_PRENAME
jack_port_rename( m_client, m_portMap[_port].ports[ch],
name[ch].toLatin1().constData() );
#else
jack_port_set_name( m_portMap[_port].ports[ch],
name[ch].toLatin1().constData() );
#endif
}
}
#endif
@@ -359,22 +364,22 @@ int AudioJack::processCallback( jack_nframes_t _nframes, void * _udata )
#ifdef AUDIO_PORT_SUPPORT
const int frames = qMin<int>( _nframes, mixer()->framesPerPeriod() );
for( jackPortMap::iterator it = m_portMap.begin();
for( JackPortMap::iterator it = m_portMap.begin();
it != m_portMap.end(); ++it )
{
for( ch_cnt_t ch = 0; ch < channels(); ++ch )
{
if( it.data().ports[ch] == NULL )
if( it.value().ports[ch] == NULL )
{
continue;
}
jack_default_audio_sample_t * buf =
(jack_default_audio_sample_t *) jack_port_get_buffer(
it.data().ports[ch],
it.value().ports[ch],
_nframes );
for( int frame = 0; frame < frames; ++frame )
{
buf[frame] = it.key()->firstBuffer()[frame][ch];
buf[frame] = it.key()->buffer()[frame][ch];
}
}
}

View File

@@ -12,6 +12,7 @@
#cmakedefine LMMS_HAVE_ALSA
#cmakedefine LMMS_HAVE_FLUIDSYNTH
#cmakedefine LMMS_HAVE_JACK
#cmakedefine LMMS_HAVE_JACK_PRENAME
#cmakedefine LMMS_HAVE_WEAKJACK
#cmakedefine LMMS_HAVE_LV2
#cmakedefine LMMS_HAVE_SUIL