1f9ccfcdce
git-subtree-dir: libmscore git-subtree-mainline:412ca45401
git-subtree-split:6047361bd0
52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
//=============================================================================
|
|
// MuseScore
|
|
// Music Composition & Notation
|
|
// $Id: velo.h 4414 2011-06-22 19:25:31Z wschweer $
|
|
//
|
|
// Copyright (C) 2009-2011 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
|
|
//=============================================================================
|
|
|
|
#ifndef __VELO_H__
|
|
#define __VELO_H__
|
|
|
|
/**
|
|
\file
|
|
Definition of classes VeloList.
|
|
*/
|
|
|
|
//---------------------------------------------------------
|
|
/// VeloEvent
|
|
/// item in VeloList
|
|
//---------------------------------------------------------
|
|
|
|
enum VeloType { VELO_FIX, VELO_RAMP };
|
|
|
|
struct VeloEvent {
|
|
VeloType type;
|
|
char val;
|
|
|
|
VeloEvent() {}
|
|
VeloEvent(VeloType t, char v) : type(t), val(v) {}
|
|
};
|
|
|
|
//---------------------------------------------------------
|
|
/// VeloList
|
|
/// List of note velocity changes
|
|
//---------------------------------------------------------
|
|
|
|
class VeloList : public QMap<int, VeloEvent> {
|
|
public:
|
|
VeloList() {}
|
|
int velo(int tick) const;
|
|
int nextVelo(int tick) const;
|
|
void setVelo(int tick, VeloEvent velo);
|
|
void setVelo(int tick, int velocity);
|
|
};
|
|
|
|
#endif
|
|
|