summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-08-29 00:29:05 -0700
committerYamaArashi <shadow962@live.com>2016-08-29 00:29:05 -0700
commit31c8226f6076d703c0e2a39ac4a0d31c5ad90498 (patch)
treee0b3c387716fde411d4763147cc736e458886637 /tools
parenteb4e42eb4c8281d8f563ad831f8f0a05c06bda01 (diff)
support xcmd (partially)
Diffstat (limited to 'tools')
-rw-r--r--tools/mid2agb/agb.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/tools/mid2agb/agb.cpp b/tools/mid2agb/agb.cpp
index e3e5d8efe..9ff1efa86 100644
--- a/tools/mid2agb/agb.cpp
+++ b/tools/mid2agb/agb.cpp
@@ -37,6 +37,7 @@ static int s_lastVelocity;
static bool s_noteChanged;
static bool s_velocityChanged;
static bool s_inPattern;
+static int s_extendedCommand;
void PrintAgbHeader()
{
@@ -246,6 +247,24 @@ void PrintSeqLoopLabel(const Event& event)
ResetTrackVars();
}
+void PrintExtendedOp(const Event& event)
+{
+ // TODO: support for other extended commands
+
+ switch (s_extendedCommand)
+ {
+ case 0x08:
+ PrintOp(event.time, "XCMD ", "xIECV , %u", event.param2);
+ break;
+ case 0x09:
+ PrintOp(event.time, "XCMD ", "xIECL , %u", event.param2);
+ break;
+ default:
+ PrintWait(event.time);
+ break;
+ }
+}
+
void PrintControllerOp(const Event& event)
{
switch (event.param1)
@@ -294,9 +313,10 @@ void PrintControllerOp(const Event& event)
break;
case 0x1D:
case 0x1F:
- // TODO: extended op
+ PrintExtendedOp(event);
break;
case 0x1E:
+ s_extendedCommand = event.param2;
// TODO: loop op
break;
case 0x21: