Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down
13 changes: 9 additions & 4 deletions src/core/audio/AudioJack.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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];
}
}
}
Expand Down
1 change: 1 addition & 0 deletions src/lmmsconfig.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down