ciscorucin...@gmail.com writes: > Basically I am creating a program that will stream musical notes into > a program called Lilypond one-by-one and it will create the sheet > music for that stream of music via OS command. Your understanding of > Lilypond is not needed, but you need to know that for each new note > that is streamed in "real-time", a PNG image file will be created for > that stream of music up to that point...via Lilypond. > > What I am looking at doing is to monitor the directory where the image > files are being created in real-time, and update the GUI (build with > gtk.Builder and Glade) with the most recent image file. I have the > program multithreaded and it appears that all of the images are being > created sequentially; however, I need to make sure that an older image > (an image with less notes displayed) is NOT going to be displayed over > a newer image.
The "canonical" way to monitor file system changes (in Linux) is to use inotify. There is a python wrapper, at https://github.com/seb-m/pyinotify But it would be much simpler to have Lilypond (or a wrapper) write out the name of the files it produces (e.g., to a fifo) and have your GUI to synchronize on that. > I have looked at creating a Stack from the python List, along with > os.walk(). However, I am not sure if those are adequate with a > directory that is actively adding new files. Also, how I imagined > using the Stack with taking the next item off of the stack meant that > older ones would be replacing new ones...and with a queue, it might be > updating too slow; especially if the notes being streamed in are > played fast. So I would like for the most recent image to be used and > all others discarded. I'm lost. -- Alain. -- http://mail.python.org/mailman/listinfo/python-list