move driverFactory() into separate file

This commit is contained in:
ws 2013-04-03 15:45:12 +02:00
parent 53cb0ec925
commit f866d7903a
6 changed files with 113 additions and 100 deletions

View file

@ -2,9 +2,9 @@ import QtQuick 1.1
Rectangle {
id: screen
width: 640
height: 75
border.width: 2
width: 642
height: 77
border.width: 1
border.color: "white"
radius: 5
color: "#3f3f3f"
@ -18,6 +18,7 @@ Rectangle {
Text {
anchors.fill: parent
text: "no effect"
color: "white"
horizontalAlignment: Text.AlignCenter
verticalAlignment: Text.AlignCenter
}

View file

@ -2,9 +2,9 @@ import QtQuick 1.1
Rectangle {
id: screen
width: 640
height: 75
border.width: 2
width: 642
height: 77
border.width: 1
border.color: "white"
radius: 5
smooth: true
@ -25,6 +25,8 @@ Rectangle {
}
Row {
x: 1
y: 1
Image {
source: "qrc:/zita1/revsect.png"
fillMode: Image.PreserveAspectCrop

View file

@ -10,7 +10,6 @@
// the file LICENCE.GPL
//=============================================================================
#include <string.h>
#include "xml.h"
#include "icon.h"

View file

@ -201,6 +201,8 @@ add_executable ( ${ExecutableName}
musicxmlsupport.cpp exportxml.cpp importxml.cpp importxmlfirstpass.cpp
savePositions.cpp pluginManager.cpp inspectorJump.cpp inspectorMarker.cpp
inspectorGlissando.cpp inspectorNote.cpp paletteBoxButton.cpp
driver.cpp
${OMR_FILES}
${AUDIO}
${SCRIPT_FILES}

102
mscore/driver.cpp Normal file
View file

@ -0,0 +1,102 @@
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2002-2012 Werner Schweer
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#include "config.h"
#include "preferences.h"
#include "driver.h"
#ifdef USE_JACK
#include "jackaudio.h"
#endif
#ifdef USE_PULSEAUDIO
extern Driver* getPulseAudioDriver(Seq*);
#endif
#ifdef USE_ALSA
#include "alsa.h"
#endif
#ifdef USE_PORTAUDIO
#include "pa.h"
#endif
//---------------------------------------------------------
// driverFactory
//---------------------------------------------------------
Driver* driverFactory(Seq* seq)
{
Driver* driver = 0;
#define useJackFlag (preferences.useJackAudio || preferences.useJackMidi)
#define useAlsaFlag preferences.useAlsaAudio
#define usePortaudioFlag preferences.usePortaudioAudio
#define usePulseAudioFlag preferences.usePulseAudio
#ifdef USE_PULSEAUDIO
if (usePulseAudioFlag) {
driver = getPulseAudioDriver(seq);
if (!driver->init()) {
qDebug("init PulseAudio failed");
delete driver;
driver = 0;
}
else
usePortaudio = true;
}
#endif
#ifdef USE_PORTAUDIO
if (usePortaudioFlag) {
driver = new Portaudio(seq);
if (!driver->init()) {
qDebug("init PortAudio failed");
delete driver;
driver = 0;
}
else
usePortaudio = true;
}
#endif
#ifdef USE_ALSA
if (driver == 0 && useAlsaFlag) {
driver = new AlsaAudio(seq);
if (!driver->init()) {
qDebug("init ALSA driver failed\n");
delete driver;
driver = 0;
}
else {
useALSA = true;
}
}
#endif
#ifdef USE_JACK
if (useJackFlag) {
useAlsaFlag = false;
usePortaudioFlag = false;
driver = new JackAudio(seq);
if (!driver->init()) {
qDebug("no JACK server found\n");
delete driver;
driver = 0;
}
else
useJACK = true;
}
#endif
if (driver == 0)
qDebug("no audio driver found");
return driver;
}

View file

@ -101,21 +101,6 @@
#include "zerberus/zerberus.h"
#endif
#ifdef USE_JACK
#include "jackaudio.h"
#endif
#ifdef USE_PULSEAUDIO
extern Driver* getPulseAudioDriver(Seq*);
#endif
#ifdef USE_ALSA
#include "alsa.h"
#endif
#ifdef USE_PORTAUDIO
#include "pa.h"
#endif
MuseScore* mscore;
MuseScoreCore* mscoreCore;
MasterSynthesizer* synti;
@ -2211,84 +2196,6 @@ printf("sound font <%s>\n", qPrintable(preferences.defaultSf));
return ms;
}
//---------------------------------------------------------
// driverFactory
//---------------------------------------------------------
Driver* driverFactory(Seq* seq)
{
Driver* driver = 0;
#define useJackFlag (preferences.useJackAudio || preferences.useJackMidi)
#define useAlsaFlag preferences.useAlsaAudio
#define usePortaudioFlag preferences.usePortaudioAudio
#define usePulseAudioFlag preferences.usePulseAudio
#ifdef USE_PULSEAUDIO
if (MScore::debugMode)
qDebug("usePulseAudioFlag %d\n", usePulseAudioFlag);
if (usePulseAudioFlag) {
driver = getPulseAudioDriver(seq);
if (!driver->init()) {
qDebug("init PulseAudio failed");
delete driver;
driver = 0;
}
else
usePortaudio = true;
}
#endif
#ifdef USE_PORTAUDIO
if (MScore::debugMode)
qDebug("usePortaudioFlag %d\n", usePortaudioFlag);
if (usePortaudioFlag) {
driver = new Portaudio(seq);
if (!driver->init()) {
qDebug("init PortAudio failed");
delete driver;
driver = 0;
}
else
usePortaudio = true;
}
#endif
#ifdef USE_ALSA
if (MScore::debugMode)
qDebug("useAlsaFlag %d\n", useAlsaFlag);
if (driver == 0 && useAlsaFlag) {
driver = new AlsaAudio(seq);
if (!driver->init()) {
qDebug("init ALSA driver failed\n");
delete driver;
driver = 0;
}
else {
useALSA = true;
}
}
#endif
#ifdef USE_JACK
if (MScore::debugMode)
qDebug("useJackFlag %d\n", useJackFlag);
if (useJackFlag) {
useAlsaFlag = false;
usePortaudioFlag = false;
driver = new JackAudio(seq);
if (!driver->init()) {
qDebug("no JACK server found\n");
delete driver;
driver = 0;
}
else
useJACK = true;
}
#endif
if (driver == 0)
qDebug("no audio driver found");
return driver;
}
//---------------------------------------------------------
// main
//---------------------------------------------------------