File: midiMapConf.cpp

package info (click to toggle)
giada 0.15.2%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,700 kB
  • sloc: cpp: 30,043; sh: 1,056; makefile: 422; ansic: 1
file content (123 lines) | stat: -rw-r--r-- 4,210 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "../src/core/const.h"
#include "../src/core/midiMapConf.h"
#include <catch.hpp>


using std::string;
using namespace giada::m;


TEST_CASE("midiMapConf")
{
  SECTION("test default values")
  {
    midimap::setDefault();
    REQUIRE(midimap::brand  == "");
  	REQUIRE(midimap::device == "");
  	REQUIRE(midimap::muteOn.channel    == 0);
  	REQUIRE(midimap::muteOn.valueStr   == "");
  	REQUIRE(midimap::muteOn.offset     == -1);
  	REQUIRE(midimap::muteOn.value      == 0);
  	REQUIRE(midimap::muteOff.channel   == 0);
  	REQUIRE(midimap::muteOff.valueStr  == "");
  	REQUIRE(midimap::muteOff.offset    == -1);
  	REQUIRE(midimap::muteOff.value     == 0);
  	REQUIRE(midimap::soloOn.channel    == 0);
  	REQUIRE(midimap::soloOn.valueStr   == "");
  	REQUIRE(midimap::soloOn.offset     == -1);
  	REQUIRE(midimap::soloOn.value      == 0);
  	REQUIRE(midimap::soloOff.channel   == 0);
  	REQUIRE(midimap::soloOff.valueStr  == "");
  	REQUIRE(midimap::soloOff.offset    == -1);
  	REQUIRE(midimap::soloOff.value     == 0);
  	REQUIRE(midimap::waiting.channel   == 0);
  	REQUIRE(midimap::waiting.valueStr  == "");
  	REQUIRE(midimap::waiting.offset    == -1);
  	REQUIRE(midimap::waiting.value     == 0);
  	REQUIRE(midimap::playing.channel   == 0);
  	REQUIRE(midimap::playing.valueStr  == "");
  	REQUIRE(midimap::playing.offset    == -1);
  	REQUIRE(midimap::playing.value     == 0);
  	REQUIRE(midimap::stopping.channel  == 0);
  	REQUIRE(midimap::stopping.valueStr == "");
  	REQUIRE(midimap::stopping.offset   == -1);
  	REQUIRE(midimap::stopping.value    == 0);
  	REQUIRE(midimap::stopped.channel   == 0);
  	REQUIRE(midimap::stopped.valueStr  == "");
  	REQUIRE(midimap::stopped.offset    == -1);
  	REQUIRE(midimap::stopped.value     == 0);
  }

#ifdef RUN_TESTS_WITH_LOCAL_FILES

  SECTION("test read")
  {
    midimap::init();
    midimap::setDefault();

    /* expect more than 2 midifiles */

    REQUIRE(midimap::maps.size() >= 2);

    /* try with deprecated mode */

    int res = midimap::read("akai-lpd8.giadamap");
    if (res != MIDIMAP_READ_OK)
      res = midimap::readMap_DEPR_("akai-lpd8.giadamap");

    REQUIRE(res == MIDIMAP_READ_OK);

    REQUIRE(midimap::brand == "AKAI");
    REQUIRE(midimap::device == "LPD8");

    REQUIRE(midimap::initCommands.size() == 2);
    REQUIRE(midimap::initCommands[0].channel == 0);
    REQUIRE(midimap::initCommands[0].value == 0xB0000000);
    REQUIRE(midimap::initCommands[1].channel == 0);
    REQUIRE(midimap::initCommands[1].value == 0xB0002800);

    /* TODO - can't check 'valueStr' until deprecated methods are alive */

    REQUIRE(midimap::muteOn.channel == 0);
    //REQUIRE(midimap::muteOn.valueStr == "90nn3F00");
    REQUIRE(midimap::muteOn.offset == 16);
    REQUIRE(midimap::muteOn.value == 0x90003F00);

    REQUIRE(midimap::muteOff.channel == 0);
    //REQUIRE(midimap::muteOff.valueStr == "90nn0C00");
    REQUIRE(midimap::muteOff.offset == 16);
    REQUIRE(midimap::muteOff.value == 0x90000C00);

    REQUIRE(midimap::soloOn.channel == 0);
    //REQUIRE(midimap::soloOn.valueStr == "90nn0F00");
    REQUIRE(midimap::soloOn.offset == 16);
    REQUIRE(midimap::soloOn.value == 0x90000F00);

    REQUIRE(midimap::soloOff.channel == 0);
    //REQUIRE(midimap::soloOff.valueStr == "90nn0C00");
    REQUIRE(midimap::soloOff.offset == 16);
    REQUIRE(midimap::soloOff.value == 0x90000C00);

    REQUIRE(midimap::waiting.channel == 0);
    //REQUIRE(midimap::waiting.valueStr == "90nn7f00");
    REQUIRE(midimap::waiting.offset == 16);
    REQUIRE(midimap::waiting.value == 0x90007f00);

    REQUIRE(midimap::playing.channel == 0);
    //REQUIRE(midimap::playing.valueStr == "90nn7f00");
    REQUIRE(midimap::playing.offset == 16);
    REQUIRE(midimap::playing.value == 0x90007f00);

    REQUIRE(midimap::stopping.channel == 0);
    //REQUIRE(midimap::stopping.valueStr == "90nn7f00");
    REQUIRE(midimap::stopping.offset == 16);
    REQUIRE(midimap::stopping.value == 0x90007f00);

    REQUIRE(midimap::stopped.channel == 0);
    //REQUIRE(midimap::stopped.valueStr == "80nn7f00");
    REQUIRE(midimap::stopped.offset == 16);
    REQUIRE(midimap::stopped.value == 0x80007f00);
  }

#endif // #ifdef RUN_TESTS_WITH_LOCAL_FILES
}