diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2011-08-08 22:19:46 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2011-08-08 22:19:46 +0200 |
commit | 2289074fe008a0d1a8d05f44a12a405351aad506 (patch) | |
tree | f79089a47b6c7269a5d60b5d5b7608fef05135d6 /drumgizmo/input | |
parent | 08a41cf525193e90ce8f397476ac3825e5e9fdb8 (diff) |
New midimapper.
Diffstat (limited to 'drumgizmo/input')
-rw-r--r-- | drumgizmo/input/midifile/midimap.cc | 96 | ||||
-rw-r--r-- | drumgizmo/input/midifile/midimap.h | 43 |
2 files changed, 0 insertions, 139 deletions
diff --git a/drumgizmo/input/midifile/midimap.cc b/drumgizmo/input/midifile/midimap.cc deleted file mode 100644 index ccb9b3c..0000000 --- a/drumgizmo/input/midifile/midimap.cc +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * midimap.cc - * - * Mon Jun 13 21:36:30 CEST 2011 - * Copyright 2011 Bent Bisballe Nyeng - * deva@aasimon.org - ****************************************************************************/ - -/* - * This file is part of DrumGizmo. - * - * DrumGizmo is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * DrumGizmo is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with DrumGizmo; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ -#include "midimap.h" - -/* - - 35 = 1 - 36-51 = 2 - TODO! - 51, 53 = 3 - TODO! - 54, 56-59, 62 = 4 - TODO! - - */ - -#include <stdio.h> -#include <stdlib.h> - -MidiMap::MidiMap() -{ -} - -bool MidiMap::load(std::string file) -{ - FILE *fp = fopen(file.c_str(), "r"); - if(!fp) return false; - - std::string line; - while(!feof(fp)) { - int c = fgetc(fp); - // printf("[%c]\n", c); - if(c == '\n') { - if(line != "") { - int from = atoi(line.substr(0, line.find('=')).c_str()); - int to = atoi(line.substr(line.find('=')+1, - line.length()-line.find('=')+1).c_str()); - map[from] = to; - // printf("Line: '%s', from: %d to: %d\n", line.c_str(), from, to); - - } - line = ""; - } else { - if((c >= '0' && c <= '9') || c == ',' || c == '-' || c == '=') { - line += (char)c; - } else { - if(c != '\t' && c != ' ') return false; // Parse error. - } - } - } - - return true; -} - -int MidiMap::lookup(int note) -{ - return map[note]; -} - -#ifdef TEST_MIDIMAP -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; - -// TODO: Put some testcode here (see test.h for usable macros). - -TEST_END; - -#endif/*TEST_MIDIMAP*/ diff --git a/drumgizmo/input/midifile/midimap.h b/drumgizmo/input/midifile/midimap.h deleted file mode 100644 index 183d2d3..0000000 --- a/drumgizmo/input/midifile/midimap.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * midimap.h - * - * Mon Jun 13 21:36:29 CEST 2011 - * Copyright 2011 Bent Bisballe Nyeng - * deva@aasimon.org - ****************************************************************************/ - -/* - * This file is part of DrumGizmo. - * - * DrumGizmo is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * DrumGizmo is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with DrumGizmo; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ -#ifndef __DRUMGIZMO_MIDIMAP_H__ -#define __DRUMGIZMO_MIDIMAP_H__ - -#include <map> -#include <string> - -class MidiMap { -public: - MidiMap(); - bool load(std::string file); - int lookup(int note); - -private: - std::map<int, int> map; -}; - -#endif/*__DRUMGIZMO_MIDIMAP_H__*/ |