Download presentation
Presentation is loading. Please wait.
Published byAldous McDonald Modified over 9 years ago
1
SE-3910 Real-time Systems Week 7, Class 1 – GStreamer – QT SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling, Some from Dr. Hornick, etc. 1
2
Gstreamer – a pipeline-based multimedia framework written in the C programming langauge with a type based on the Gobject(?) concept? Build audio-visual apps easily from existing algorithms SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 2
3
What are your dream A/V apps? How would you structure your app? – What are the key classes? How do they relate? What are the processes? How do you get data from one to another? SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 3
4
gstreamer SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 4
5
gstreamer pipeline SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 5 Element Pad
6
GUI Toolkits Java – AWT – Swing C/C++ – Qt – FLTK – GTK – Motif – MFC SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 6
7
What makes a good toolkit? SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 7
8
Qt Features Fully object-oriented Consistent interfaces Rich set of widgets (controls) Have native look and feel Drag and drop Customizable appearance Utility classes OpenGL support Network support Database support Plugin support Unicode/Internationaliz ation support GUI builder SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 8
9
Qt Widgets Java Swing vs. Qt SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 9 http://ocw.mit.edu/courses/civil-and- environmental-engineering/1-124j- foundations-of-software-engineering-fall- 2000/recitations/recitation_9/ JButton Timer
10
Example QT Widgets SE3910 Real Time Systems
11
QT Built in Dialog Boxes File dialog Font dialog Color dialog Printer dialog SE3910 Real Time Systems
12
Layouts Java – FlowLayout – GridLayout – BorderLayout Qt – Flow Layout Flow Layout – Grid Layout – Horizontal – Vertical – Border Layout Border Layout SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 12
13
Events/Signals Java – Event E.g. ActionEvent – Event Listener E.g. ActionListener – How do you initiate an event in Java? Qt – Signal – Slot – emit Pre-processor directive Auto writes the signal-generating code for you SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 13
14
Signals/Slots in QT These code examples… signals: void clicked(); connect(button, SIGNAL(clicked()), qApp, SLOT(quit())); emit progressNotification(1000 * seconds); Are translated by moc to the “magic” code to make these event occur SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 14
15
Qt command-line tools… moc – Program to convert.moc files to.cpp files qmake - Program that automatically creates a makefile to run moc and gcc at the correct time SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 15
16
Demo – Connecting to Beaglebone [TODO] – Perhaps another time! – I may eventually put instructions for setting up a DHCP server on your laptop using “connection sharing” on website under “Objectives” – Ask me if you don’t find it when you need it – You know my number. SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 16
17
Demo – Watchdog One prompt for i in `seq 0 1000`; do echo $(($i*10)); sleep 10; done; Another cat > /dev/watchdog SE-3910 - Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling 17
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.