[LAD] Looking for an introduction to rt programming with a gui

Gabriel M. Beddingfield gabrbedd at gmail.com
Thu May 20 17:26:08 UTC 2010



On Thu, 20 May 2010, Charles Fleche wrote:

>> well (e.g. if you write LV2 plugins based on Qt, as I have, you may
>> uncover some strange bugs).
>
> Really ? What happened ?

When I released the Composite Sampler, I had to solve two 
tricky bugs:

   1. zynjacku's UI would freeze when loading it.
      Cause: Glib event loop initialization and PyGtk.
      Fix:   zynjacku now initializes the Glib event
             loop, but this comes with some other
             undesirable side-effects.

   2. Ingen would crash at exit if you loaded the
      Composite plugin, and then unloaded it.
      Cause:  When Qt initialized thread-local storage,
              it made an assumption that QtCore would
              only be unloaded at application exit.
      Fix:    Qt's trunk has a fix to clean up TLS
              when the library is unloaded.  I don't
              think it was backported to older
              release branches.[1]

Anyway, Qt is a large framework for cross-platform 
application development (and very good at that).  So, when 
you use its core library (QString, QThread, etc.) in new and 
non-standard ways (LV2 plugins) you're liable to find bugs 
that violate the assumption: "This is a Qt application."

:-)

hth,
gabriel

[1] http://bugreports.qt.nokia.com/browse/QTBUG-9436



More information about the Linux-audio-dev mailing list