glibmm threads and gtkmm, some example code.



Hi all,

I noticed there has been a few questions recently regarding having
mutliple threads and interaction with the gtk/gtkmm event loop.

I was part of Google's Summer of Code program this year and my project
was to port an audio application called ardour to windows. The ardour
user interface is written using gtkmm and is a multi-threaded
application. The ardour code is setup such that the application logic
is separated from the user interface in a typical MVC fashion with the
help of libsigc++.

As part of the porting work I introduced glibmm as a dependency to
nearly all the non-gui components/libraries in order to utilise the
great cross platform facilities that glib/glibmm provides.

I wrote a number of utility classes and functions during the process
that some people on this list might be interested in if they are
looking for example code. In saying that I don't have any simple
examples online I can point out but I did manage to write some doxygen
based documentation before deadline which for the moment is located
at:

http://soc2006.linuxaudio.info/docs/index.html

The code could definately be improved and some of design is I think a
result of limitations in the time I had to complete the project and my
lack of knowledge but it might be helpful to some people all the same.

The code relating to glibmm threads and gtkmm can be found in the PBD
and Gtkmm2ext namespaces.

Tim.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]