diff --git a/ChangeLog b/ChangeLog index 38b29771..baed46ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,7 +5,7 @@ 3.5.7git -- add new "slim channel" skin, intended for large ensembles (#339) +- add new "compact" skin, intended for large ensembles (#339) - support sorting faders by channel instrument, coded by Alberstein8 (#356) diff --git a/Jamulus.pro b/Jamulus.pro index e1ab05fd..852647f4 100755 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -6,6 +6,17 @@ contains(CONFIG, "noupcasename") { TARGET = jamulus } +# support multi-threading with OMP if requested +contains(CONFIG, "multithreading") { + unix { + message(The OpenMP multithreading is enabled.) + message(NOTE THAT THE OpenMP IMPLEMENTATION IS STILL EXPERIMENTAL AND MAY NOT BE STABLE.) + DEFINES += USE_OMP + QMAKE_CXXFLAGS += -fopenmp + QMAKE_LFLAGS += -fopenmp + } +} + CONFIG += qt \ thread \ release diff --git a/src/server.cpp b/src/server.cpp index 0f2aa184..27d8f04a 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -993,6 +993,9 @@ static CTimingMeas JitterMeas ( 1000, "test2.dat" ); JitterMeas.Measure(); // TE vecChannelLevels ); } +#ifdef USE_OMP +# pragma omp parallel for +#endif for ( int i = 0; i < iNumClients; i++ ) { int iClientFrameSizeSamples = 0; // initialize to avoid a compiler warning