Commit Graph

22 Commits

Author SHA1 Message Date
Tobias Doerffel
f3e13c4427 RemotePlugin: added QSTR_TO_STDSTR macro and use it in LVSL/ZASF
QString::toStdString() is not aware of locale specific characters (it
just converts to ASCII). Therefore added new macro QSTR_TO_STDSTR which
converts a QString to std::string with UTF8 characters.

Use this new macro in LMMS VST Support Layer and ZynAddSubFX plugin.
This fixes for example VST plugins not being loaded when the path to
the DLL contains non-ASCII (e.g. cyrillic) characters.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-07-29 17:05:57 +02:00
Tobias Doerffel
2ef5dffec0 RemotePlugin: refactored system feature configuration
Variuos features (native/Qt semaphores/shared memory) are now
configured by macros like USE_QT_SHMEM and USE_QT_SEMAPHORES. This
allows central and individual configuration of features according to
the platform to build for at the beginning of the file.

Finally makes RemotePlugin work on OS X by not using native semaphores
rather than QSystemSemaphore's.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-07-07 01:46:14 +02:00
Tobias Doerffel
1802b91e55 RemotePlugin: allow waitForInitDone() without busy waiting
An additional parameter to waitForInitDone() allows to disable busy
waiting which could be desired in various places to avoid deadlocks.
2009-04-18 17:41:37 +02:00
Tobias Doerffel
7200eb8158 RemotePlugin: made lock() and unlock() methods public
Made RemotePlugin::lock() and RemotePlugin::unlock() public allowing
to use RemotePlugin class without subclassing it.
2009-04-18 17:18:24 +02:00
Tobias Doerffel
656b195cfd RemotePlugin: never lock up if remote plugin died
Up to now there were insufficient checks whether the remote plugin
has died and so the result usually has been a complete lock-up of LMMS
(especially when using buggy VST plugins or similiar). By adding
according checks to remotePlugin::lock() and remotePlugin::unlock()
as well as remotePluginBase::waitForMessage() those lock-ups are gone.
2009-04-14 00:34:37 +02:00
Tobias Doerffel
46097b72d7 Various fixes for better OpenBSD compatibility (thanks to Jacob Meuser) 2009-03-12 19:34:03 +01:00
Tobias Doerffel
9bbb701dac Fixed file mode for files that were executable although they shouldn't be 2009-02-27 00:21:41 +01:00
Tobias Doerffel
f17d64723a added support for debug messages from remote plugin
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1896 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-10 00:39:52 +00:00
Tobias Doerffel
bc473ef91a removed line which was inserted accidentally
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1763 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-17 22:40:10 +00:00
Tobias Doerffel
820c5ec8ba added helper thread processWatcher which monitors the remote plugin process - if it terminates unexpectedly, invalidate remotePlugin so LMMS doesn't lock up - fixes crashes and lockups when using VST plugins or ZynAddSubFX plugin
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1762 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-17 22:36:08 +00:00
Tobias Doerffel
13c00f55a1 * added missing includes to compile with GCC 4.4
* optimized various loops for getting tree-vectorized, especially with upcoming GCC 4.4



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1733 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-04 14:27:55 +00:00
Tobias Doerffel
fce25dc625 fixed a bunch warnings and remarks issued by Intel Compiler
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1722 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-02 11:48:59 +00:00
Tobias Doerffel
adf8aed93c removed obsolete instrument-parallelization support as this is handled much better by worker threads and adds unneccessary complexity
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1718 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-30 11:14:32 +00:00
Tobias Doerffel
782fd7de09 made remotePluginClient::process() have no return value
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1694 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-22 23:36:37 +00:00
Tobias Doerffel
778293b31e fixed compiler warnings
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1680 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-21 23:47:02 +00:00
Tobias Doerffel
fa1a9f4967 * rewrote the way plugins can handle certain filetypes
* rewrote various parts of file-browser to be less redundant and more stable (closes #2071891)



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1582 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-07 22:38:23 +00:00
Tobias Doerffel
9b8e8575cb * set common numeric locale to make atof() work properly in Germany
* increased SHM_FIFO_SIZE from 4000 to 64000 for not getting stuck when exchanging bigger messages (e.g. parameter dumps)



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1548 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-04 22:30:50 +00:00
Tobias Doerffel
a7e2ca44bb made VST support layer work on native win32
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1546 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-04 16:21:38 +00:00
Tobias Doerffel
014ecfa901 * added channel splitting mode
* made initial wait optional
* messages now can be constructed and set inline



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1541 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-03 16:04:56 +00:00
Tobias Doerffel
c73f2e35f1 use QSystemSemaphore in win32-version as libpthread-w32 does not support process shared mutexes and semaphores
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1531 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-02 15:30:43 +00:00
Tobias Doerffel
c0c241c9b5 added shmFifo class which replaces communication via pipes and is portable as well
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1524 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-31 21:07:58 +00:00
Tobias Doerffel
d3763240b3 added remotePlugin-framework allowing to easily write plugins which actually run as external process
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1518 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-30 00:03:58 +00:00