Thu Jul 23 00:16:26 CEST 2009 Tobias Rautenkranz * Phonon video example diff -rN -u old-qt.examples/make-bundle.sh new-qt.examples/make-bundle.sh --- old-qt.examples/make-bundle.sh 2014-10-30 07:37:04.000000000 +0100 +++ new-qt.examples/make-bundle.sh 2014-10-30 07:37:04.000000000 +0100 @@ -14,5 +14,6 @@ '(\"src/widget.ui\" \"src/hello-world_de.qm\" \ \"/usr/local/lib/libsmokeqt.so.2\" \ \"/usr/local/lib/libsmokeqtuitools.so.2\" \ + \"/usr/local/lib/libsmokephonon.so.2\" \ \"/usr/local/lib/libsmokeqtwebkit.so.2\" ))" \ --eval '(quit)' diff -rN -u old-qt.examples/qt.examples.mbd new-qt.examples/qt.examples.mbd --- old-qt.examples/qt.examples.mbd 2014-10-30 07:37:04.000000000 +0100 +++ new-qt.examples/qt.examples.mbd 2014-10-30 07:37:04.000000000 +0100 @@ -47,13 +47,14 @@ (:documentation "Qt examples.") (:author "Tobias Rautenkranz") (:license "X11") - (:needs :qt :qt.webkit :qt.uitools :sysdef.cmake) + (:needs :qt :qt.webkit :qt.uitools :qt.phonon :sysdef.cmake) (:components ("src" module (:components ("CMakeLists" cmake-file) "package" ("hello-world" (:needs "package")) + ("video" (:needs "package")) ("hello-world-quit" (:needs "package")) ("i18n-hello-world" (:needs "package" "CMakeLists")) ("tick-tack-toe" (:needs "package")) diff -rN -u old-qt.examples/src/package.lisp new-qt.examples/src/package.lisp --- old-qt.examples/src/package.lisp 2014-10-30 07:37:04.000000000 +0100 +++ new-qt.examples/src/package.lisp 2014-10-30 07:37:04.000000000 +0100 @@ -12,6 +12,8 @@ #:tick-tack-toe #:repl + + #:play-video #:launcher diff -rN -u old-qt.examples/src/video.lisp new-qt.examples/src/video.lisp --- old-qt.examples/src/video.lisp 1970-01-01 01:00:00.000000000 +0100 +++ new-qt.examples/src/video.lisp 2014-10-30 07:37:04.000000000 +0100 @@ -0,0 +1,24 @@ +(in-package :qt.examples) + +(defun play-video () + "Play video" + (qt:with-app () + (setf (cxx:application-name (qt:app)) "Lisp") + (let ((widget (make-instance 'qt:widget)) + (video-player (make-instance 'qt:phonon.video-player + :arg0 qt:phonon.+video-category+))) + (let ((layout (make-instance 'qt:vbox-layout)) + (open-button (make-instance 'qt:push-button :arg0 "Open"))) + (cxx:add-widget layout video-player) + (cxx:add-widget layout open-button) + (qt:connect (qt:get-signal open-button "clicked()") + #'(lambda () + (let ((file (qt:file-dialog.get-open-file-name + video-player + "Select the file to play"))) + (when (> (length file) 0) + (cxx:play video-player file))))) + (cxx:set-layout widget layout)) + (cxx:resize widget 300 300) + (cxx:show widget) + (qt:exec))))