mainwindow.cpp.html from marsyas at Krugle
Show mainwindow.cpp.html syntax highlighted
<!-- Generator: GNU source-highlight 2.4
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><i><font color="#9A1900">/*</font></i>
<i><font color="#9A1900">** Copyright (C) 2007 Graham Percival </font></i><u><font color="#0000FF"><gperciva@uvic.ca></font></u>
<i><font color="#9A1900">** </font></i>
<i><font color="#9A1900">** This program is free software; you can redistribute it and/or modify</font></i>
<i><font color="#9A1900">** it under the terms of the GNU General Public License as published by</font></i>
<i><font color="#9A1900">** the Free Software Foundation; either version 2 of the License, or</font></i>
<i><font color="#9A1900">** (at your option) any later version.</font></i>
<i><font color="#9A1900">** </font></i>
<i><font color="#9A1900">** This program is distributed in the hope that it will be useful,</font></i>
<i><font color="#9A1900">** but WITHOUT ANY WARRANTY; without even the implied warranty of</font></i>
<i><font color="#9A1900">** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</font></i>
<i><font color="#9A1900">** GNU General Public License for more details.</font></i>
<i><font color="#9A1900">** </font></i>
<i><font color="#9A1900">** You should have received a copy of the GNU General Public License</font></i>
<i><font color="#9A1900">** along with this program; if not, write to the Free Software </font></i>
<i><font color="#9A1900">** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</font></i>
<i><font color="#9A1900">*/</font></i>
<b><font color="#000080">#include</font></b> <font color="#FF0000">"mainwindow.h"</font>
MarQTwindow<font color="#990000">::</font><b><font color="#000000">MarQTwindow</font></b><font color="#990000">(</font>string fileName<font color="#990000">)</font>
<font color="#FF0000">{</font>
<i><font color="#9A1900">// typical Qt front-end</font></i>
QPushButton <font color="#990000">*</font>quit <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> <b><font color="#000000">QPushButton</font></b><font color="#990000">(</font><b><font color="#000000">tr</font></b><font color="#990000">(</font><font color="#FF0000">"Quit"</font><font color="#990000">));</font>
<b><font color="#000000">connect</font></b><font color="#990000">(</font>quit<font color="#990000">,</font> <b><font color="#000000">SIGNAL</font></b><font color="#990000">(</font><b><font color="#000000">clicked</font></b><font color="#990000">()),</font> qApp<font color="#990000">,</font> <b><font color="#000000">SLOT</font></b><font color="#990000">(</font><b><font color="#000000">quit</font></b><font color="#990000">()));</font>
QPushButton <font color="#990000">*</font>updatePos <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> <b><font color="#000000">QPushButton</font></b><font color="#990000">(</font><b><font color="#000000">tr</font></b><font color="#990000">(</font><font color="#FF0000">"Update position"</font><font color="#990000">));</font>
QSlider <font color="#990000">*</font>volume <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> <b><font color="#000000">QSlider </font></b><font color="#990000">(</font>Qt<font color="#990000">::</font>Horizontal<font color="#990000">);</font>
volume<font color="#990000">-></font><b><font color="#000000">setRange</font></b><font color="#990000">(</font><font color="#993399">0</font><font color="#990000">,</font><font color="#993399">100</font><font color="#990000">);</font>
volume<font color="#990000">-></font><b><font color="#000000">setValue</font></b><font color="#990000">(</font><font color="#993399">50</font><font color="#990000">);</font>
lcd_ <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> <b><font color="#000000">QLCDNumber</font></b><font color="#990000">();</font>
lcd_<font color="#990000">-></font><b><font color="#000000">setNumDigits</font></b><font color="#990000">(</font><font color="#993399">10</font><font color="#990000">);</font>
QVBoxLayout <font color="#990000">*</font>layout <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> QVBoxLayout<font color="#990000">;</font>
layout<font color="#990000">-></font><b><font color="#000000">addWidget</font></b><font color="#990000">(</font>volume<font color="#990000">);</font>
layout<font color="#990000">-></font><b><font color="#000000">addWidget</font></b><font color="#990000">(</font>updatePos<font color="#990000">);</font>
layout<font color="#990000">-></font><b><font color="#000000">addWidget</font></b><font color="#990000">(</font>lcd_<font color="#990000">);</font>
layout<font color="#990000">-></font><b><font color="#000000">addWidget</font></b><font color="#990000">(</font>quit<font color="#990000">);</font>
<b><font color="#000000">setLayout</font></b><font color="#990000">(</font>layout<font color="#990000">);</font>
<i><font color="#9A1900">// make the Marsyas backend</font></i>
marBackend_ <font color="#990000">=</font> <b><font color="#0000FF">new</font></b> <b><font color="#000000">MarBackend</font></b><font color="#990000">();</font>
marBackend_<font color="#990000">-></font><b><font color="#000000">openBackendSoundfile</font></b><font color="#990000">(</font>fileName<font color="#990000">);</font>
<i><font color="#9A1900">// make connections between the Qt front-end and the Marsyas backend:</font></i>
<i><font color="#9A1900">// Qt -> Marsyas</font></i>
<b><font color="#000000">connect</font></b><font color="#990000">(</font>volume<font color="#990000">,</font> <b><font color="#000000">SIGNAL</font></b><font color="#990000">(</font><b><font color="#000000">valueChanged</font></b><font color="#990000">(</font><font color="#009900">int</font><font color="#990000">)),</font>
marBackend_<font color="#990000">,</font> <b><font color="#000000">SLOT</font></b><font color="#990000">(</font><b><font color="#000000">setBackendVolume</font></b><font color="#990000">(</font><font color="#009900">int</font><font color="#990000">)));</font>
<i><font color="#9A1900">// Marsyas -> Qt</font></i>
<b><font color="#000000">connect</font></b><font color="#990000">(</font>marBackend_<font color="#990000">,</font> <b><font color="#000000">SIGNAL</font></b><font color="#990000">(</font><b><font color="#000000">changedBackendPosition</font></b><font color="#990000">(</font><font color="#009900">int</font><font color="#990000">)),</font>
<b><font color="#0000FF">this</font></b><font color="#990000">,</font> <b><font color="#000000">SLOT</font></b><font color="#990000">(</font><b><font color="#000000">setMainPosition</font></b><font color="#990000">(</font><font color="#009900">int</font><font color="#990000">)));</font>
<i><font color="#9A1900">// Qt -> Marsyas (getBackendPosition) -> Qt (changedBackendPosition)</font></i>
<b><font color="#000000">connect</font></b><font color="#990000">(</font>updatePos<font color="#990000">,</font> <b><font color="#000000">SIGNAL</font></b><font color="#990000">(</font><b><font color="#000000">clicked</font></b><font color="#990000">()),</font>
marBackend_<font color="#990000">,</font> <b><font color="#000000">SLOT</font></b><font color="#990000">(</font><b><font color="#000000">getBackendPosition</font></b><font color="#990000">()));</font>
<font color="#FF0000">}</font>
MarQTwindow<font color="#990000">::~</font><b><font color="#000000">MarQTwindow</font></b><font color="#990000">()</font>
<font color="#FF0000">{</font>
<b><font color="#0000FF">delete</font></b> marBackend_<font color="#990000">;</font>
<font color="#FF0000">}</font>
<font color="#009900">void</font> MarQTwindow<font color="#990000">::</font><b><font color="#000000">setMainPosition</font></b><font color="#990000">(</font><font color="#009900">int</font> newPos<font color="#990000">)</font>
<font color="#FF0000">{</font>
lcd_<font color="#990000">-></font><b><font color="#000000">display</font></b><font color="#990000">(</font>newPos<font color="#990000">);</font>
<font color="#FF0000">}</font>
</tt></pre>
See more files for this project here