MCPcopy Create free account
hub / github.com/LMMS/lmms / guiLoop

Method guiLoop

plugins/zynaddsubfx/RemoteZynAddSubFx.cpp:173–255  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171
172
173void RemoteZynAddSubFx::guiLoop()
174{
175 int exitProgram = 0;
176 MasterUI * ui = NULL;
177
178 while( !m_guiExit )
179 {
180 if( ui )
181 {
182 Fl::wait( m_guiSleepTime / 1000.0 );
183 }
184 else
185 {
186#ifdef LMMS_BUILD_WIN32
187 Sleep( m_guiSleepTime );
188#else
189 usleep( m_guiSleepTime*1000 );
190#endif
191 }
192 if( exitProgram == 1 )
193 {
194 pthread_mutex_lock( &m_master->mutex );
195 sendMessage( IdHideUI );
196 exitProgram = 0;
197 pthread_mutex_unlock( &m_master->mutex );
198 }
199 pthread_mutex_lock( &m_guiMutex );
200 while( m_guiMessages.size() )
201 {
202 RemotePluginClient::message m = m_guiMessages.front();
203 m_guiMessages.pop();
204 switch( m.id )
205 {
206 case IdShowUI:
207 // we only create GUI
208 if( !ui )
209 {
210 Fl::scheme( "plastic" );
211 ui = new MasterUI( m_master, &exitProgram );
212 }
213 ui->showUI();
214 ui->refresh_master_ui();
215 break;
216
217 case IdLoadSettingsFromFile:
218 {
219 LocalZynAddSubFx::loadXML( m.getString() );
220 if( ui )
221 {
222 ui->refresh_master_ui();
223 }
224 pthread_mutex_lock( &m_master->mutex );
225 sendMessage( IdLoadSettingsFromFile );
226 pthread_mutex_unlock( &m_master->mutex );
227 break;
228 }
229
230 case IdLoadPresetFile:

Callers 1

mainFunction · 0.80

Calls 5

getStringMethod · 0.80
sizeMethod · 0.45
popMethod · 0.45
showUIMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected