aboutsummaryrefslogtreecommitdiffstats
path: root/imports
diff options
context:
space:
mode:
authorHenrik Persson <henrik.persson@intunio.se>2016-09-16 09:47:02 +0200
committerHenrik Persson <henrik.persson@intunio.se>2016-10-05 07:58:36 +0000
commit8c18130960801ba1c9bdf39316aac3801e879a6a (patch)
tree97ee0cbe23ae69b437bc11e106b0a38d9bdd9eb6 /imports
parent800bcbfaaaba19fec02a3f37974389b12989574f (diff)
Radio application using the QtIvi am/fm tuner
A very basic sample of a radio application Change-Id: I7d26482726791356f558b0182b99df37af9d465b Reviewed-by: Nedim Hadzic <nedim.hadzic@pelagicore.com>
Diffstat (limited to 'imports')
-rw-r--r--imports/shared/service/tuner/RadioService.qml61
-rw-r--r--imports/shared/service/tuner/TunerService.qml84
-rw-r--r--imports/shared/service/tuner/qmldir2
3 files changed, 147 insertions, 0 deletions
diff --git a/imports/shared/service/tuner/RadioService.qml b/imports/shared/service/tuner/RadioService.qml
new file mode 100644
index 0000000..0d6f662
--- /dev/null
+++ b/imports/shared/service/tuner/RadioService.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.0
+import QtMultimedia 5.0
+import "." 1.0
+
+QtObject {
+ id: root
+
+ property QtObject player: QtObject {
+ id: player
+
+ property bool playback: false
+ property real volume: 1.0
+ }
+
+ property alias volume: player.volume
+ property bool playing: player.playback
+
+ function play() {
+ player.playback = true
+ }
+
+ function pause() {
+ player.playback = false
+ }
+
+ function togglePlay() {
+ player.playback = !player.playback
+ }
+}
diff --git a/imports/shared/service/tuner/TunerService.qml b/imports/shared/service/tuner/TunerService.qml
new file mode 100644
index 0000000..0ee1024
--- /dev/null
+++ b/imports/shared/service/tuner/TunerService.qml
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.0
+import QtIvi 1.0
+import QtIvi.Media 1.0
+
+QtObject {
+ id: root
+
+ property AmFmTuner tunerControl: AmFmTuner {
+ discoveryMode: AmFmTuner.AutoDiscovery
+
+ onStationChanged: root.station.current = station
+ }
+
+ property var station: QtObject{
+ property var current
+ }
+
+ property QtObject band: QtObject {
+ readonly property var value: tunerControl.band
+ }
+
+ property QtObject frequency: QtObject {
+ property real minimum: convertHzToMHz(tunerControl.minimumFrequency)
+ property real maximum: convertHzToMHz(tunerControl.maximumFrequency)
+ property real current: convertHzToMHz(tunerControl.frequency)
+ }
+
+ function setFrequency(frequency) {
+ var newFrequency = Math.round(frequency * 10) * 100000 // Round to get a nice number in the MHz interval
+ tunerControl.setFrequency(newFrequency);
+ }
+
+ function stepUp() {
+ tunerControl.stepUp()
+ }
+
+ function stepDown() {
+ tunerControl.stepDown()
+ }
+
+ function seekUp() {
+ tunerControl.seekUp()
+ }
+
+ function seekDown() {
+ tunerControl.seekDown()
+ }
+
+ function convertHzToMHz(frequency) {
+ return frequency * 0.000001
+ }
+}
diff --git a/imports/shared/service/tuner/qmldir b/imports/shared/service/tuner/qmldir
new file mode 100644
index 0000000..dea013c
--- /dev/null
+++ b/imports/shared/service/tuner/qmldir
@@ -0,0 +1,2 @@
+singleton TunerService 1.0 TunerService.qml
+singleton RadioService 1.0 RadioService.qml