Phonon video example
Thu Jul 23 00:16:26 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* 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 06:59:47.000000000 +0100
+++ new-qt.examples/make-bundle.sh 2014-10-30 06:59:47.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 06:59:47.000000000 +0100
+++ new-qt.examples/qt.examples.mbd 2014-10-30 06:59:47.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 06:59:47.000000000 +0100
+++ new-qt.examples/src/package.lisp 2014-10-30 06:59:47.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 06:59:47.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))))