summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2025-01-31 08:16:26 +1100
committer Vas Crabb <vas@vastheman.com>2025-01-31 08:16:26 +1100
commitdac3a100a0dc380293ea53f752d0891e9636b414 (patch)
tree9ada0ef6ead65adaeb462df7dcb804b56f898546
parentfbb446e8adfef79f5ca47b9b1f64bf72266c1e57 (diff)
Cleaned up various stuff.
-rw-r--r--src/devices/bus/heathzenith/h89/z_89_11.cpp2
-rw-r--r--src/devices/bus/hp_dio/hp98628_9.cpp46
-rw-r--r--src/devices/cpu/mpk1839/kl1839vm1.cpp19
-rw-r--r--src/devices/cpu/vax/vaxdasm.cpp2
-rw-r--r--src/devices/cpu/vax/vaxdasm.h2
-rw-r--r--src/devices/machine/z80sio.cpp4
-rw-r--r--src/frontend/mame/luaengine.cpp4
-rw-r--r--src/mame/layout/d70.lay633
-rw-r--r--src/mame/layout/roland_d70.lay633
-rw-r--r--src/mame/moog/memorymoog.cpp1
-rw-r--r--src/mame/moog/source.cpp4
-rw-r--r--src/mame/oberheim/dmx.cpp1
-rw-r--r--src/mame/roland/roland_d70.cpp3
-rw-r--r--src/mame/sinclair/tsconf_m.cpp2
14 files changed, 684 insertions, 672 deletions
diff --git a/src/devices/bus/heathzenith/h89/z_89_11.cpp b/src/devices/bus/heathzenith/h89/z_89_11.cpp
index c39321f1ee6..32c7b9007f9 100644
--- a/src/devices/bus/heathzenith/h89/z_89_11.cpp
+++ b/src/devices/bus/heathzenith/h89/z_89_11.cpp
@@ -319,6 +319,6 @@ ioport_constructor z_89_11_device::device_input_ports() const
return INPUT_PORTS_NAME(z_89_11_device);
}
-}
+} // anonymous namespace
DEFINE_DEVICE_TYPE_PRIVATE(H89BUS_Z_89_11, device_h89bus_right_card_interface, z_89_11_device, "z_89_11", "Heath/Zenith Z-89-11 Multi-Function I/O Card");
diff --git a/src/devices/bus/hp_dio/hp98628_9.cpp b/src/devices/bus/hp_dio/hp98628_9.cpp
index 030b85f84a6..e4bc6ed8b3a 100644
--- a/src/devices/bus/hp_dio/hp98628_9.cpp
+++ b/src/devices/bus/hp_dio/hp98628_9.cpp
@@ -46,8 +46,7 @@
#include "machine/z80sio.h"
// Debugging
-#undef VERBOSE
-#define VERBOSE 0
+//#define VERBOSE 1
#include "logmacro.h"
namespace {
@@ -154,7 +153,7 @@ protected:
bool m_rt_in;
uint8_t m_modem_ctrl;
uint8_t m_modem_status;
- uint8_t m_low_ram[ LOW_RAM_SIZE ];
+ uint8_t m_low_ram[LOW_RAM_SIZE];
};
base_98628_9_device::base_98628_9_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
@@ -385,14 +384,16 @@ void base_98628_9_device::cpu_io_mem_map(address_map &map)
void base_98628_9_device::install_68k_map(offs_t base_addr)
{
- dio().install_memory(0x0000 + base_addr,
- 0x0007 + base_addr,
- read16sm_delegate(*this, [this](offs_t addr) { return reg_r(addr); }, ""),
- write16sm_delegate(*this, [this](offs_t addr, uint16_t data) { reg_w(addr, uint8_t(data)); }, ""));
- dio().install_memory(0x4000 + base_addr,
- 0x7fff + base_addr,
- read16sm_delegate(*this, FUNC(base_98628_9_device::low_ram_r_68k)),
- write16sm_delegate(*this, FUNC(base_98628_9_device::low_ram_w_68k)));
+ dio().install_memory(
+ 0x0000 + base_addr,
+ 0x0007 + base_addr,
+ read16sm_delegate(*this, NAME([this] (offs_t addr) { return reg_r(addr); })),
+ write16sm_delegate(*this, NAME([this] (offs_t addr, uint16_t data) { reg_w(addr, uint8_t(data)); })));
+ dio().install_memory(
+ 0x4000 + base_addr,
+ 0x7fff + base_addr,
+ read16sm_delegate(*this, FUNC(base_98628_9_device::low_ram_r_68k)),
+ write16sm_delegate(*this, FUNC(base_98628_9_device::low_ram_w_68k)));
}
uint8_t base_98628_9_device::reg_r(offs_t addr)
@@ -503,7 +504,7 @@ uint8_t base_98628_9_device::low_ram_r_z80(offs_t addr)
m_sio->ctsb_w(m_ctsb);
LOG("CTSB 0\n");
}
- return m_low_ram[ addr & (LOW_RAM_SIZE - 1) ];
+ return m_low_ram[addr & (LOW_RAM_SIZE - 1)];
}
uint16_t base_98628_9_device::low_ram_r_68k(offs_t addr)
@@ -514,7 +515,7 @@ uint16_t base_98628_9_device::low_ram_r_68k(offs_t addr)
update_irq();
LOG("IRQ 0\n");
}
- return m_low_ram[ addr & (LOW_RAM_SIZE - 1) ];
+ return m_low_ram[addr & (LOW_RAM_SIZE - 1)];
}
void base_98628_9_device::low_ram_w_z80(offs_t addr, uint8_t data)
@@ -525,7 +526,7 @@ void base_98628_9_device::low_ram_w_z80(offs_t addr, uint8_t data)
LOG("IRQ 1\n");
update_irq();
}
- m_low_ram[ addr & (LOW_RAM_SIZE - 1) ] = data;
+ m_low_ram[addr & (LOW_RAM_SIZE - 1)] = data;
}
void base_98628_9_device::low_ram_w_68k(offs_t addr, uint16_t data)
@@ -536,7 +537,7 @@ void base_98628_9_device::low_ram_w_68k(offs_t addr, uint16_t data)
LOG("CTSB 1\n");
m_sio->ctsb_w(m_ctsb);
}
- m_low_ram[ addr & (LOW_RAM_SIZE - 1) ] = uint8_t(data);
+ m_low_ram[addr & (LOW_RAM_SIZE - 1)] = uint8_t(data);
}
uint8_t base_98628_9_device::sio_r(offs_t addr)
@@ -873,7 +874,7 @@ protected:
bool m_tx;
bool m_last_tt;
uint8_t m_sr;
- uint8_t m_high_ram[ HIGH_RAM_SIZE ];
+ uint8_t m_high_ram[HIGH_RAM_SIZE];
};
void dio16_98629_device::device_start()
@@ -995,20 +996,21 @@ void dio16_98629_device::cpu_program_mem_map(address_map &map)
void dio16_98629_device::install_68k_map(offs_t base_addr)
{
base_98628_9_device::install_68k_map(base_addr);
- dio().install_memory(0x8000 + base_addr,
- 0xbfff + base_addr,
- read16sm_delegate(*this, [this](offs_t addr) { return high_ram_r_z80(addr); }, ""),
- write16sm_delegate(*this, [this](offs_t addr, uint16_t data) { high_ram_w_z80(addr, uint8_t(data)); }, ""));
+ dio().install_memory(
+ 0x8000 + base_addr,
+ 0xbfff + base_addr,
+ read16sm_delegate(*this, NAME([this] (offs_t addr) { return high_ram_r_z80(addr); })),
+ write16sm_delegate(*this, NAME([this] (offs_t addr, uint16_t data) { high_ram_w_z80(addr, uint8_t(data)); })));
}
uint8_t dio16_98629_device::high_ram_r_z80(offs_t addr)
{
- return m_high_ram[ addr & (HIGH_RAM_SIZE - 1) ];
+ return m_high_ram[addr & (HIGH_RAM_SIZE - 1)];
}
void dio16_98629_device::high_ram_w_z80(offs_t addr, uint8_t data)
{
- m_high_ram[ addr & (HIGH_RAM_SIZE - 1) ] = data;
+ m_high_ram[addr & (HIGH_RAM_SIZE - 1)] = data;
}
void dio16_98629_device::tx_out(int state)
diff --git a/src/devices/cpu/mpk1839/kl1839vm1.cpp b/src/devices/cpu/mpk1839/kl1839vm1.cpp
index 5be6b534f6d..7bcf7bcf264 100644
--- a/src/devices/cpu/mpk1839/kl1839vm1.cpp
+++ b/src/devices/cpu/mpk1839/kl1839vm1.cpp
@@ -2,10 +2,12 @@
// copyright-holders:Andrei I. Holub
#include "emu.h"
-
#include "kl1839vm1.h"
#include "kl1839vm1dasm.h"
+
#include "cpu/vax/vaxdasm.h"
+
+#include <algorithm>
#include <regex>
@@ -132,7 +134,7 @@ u32 kl1839vm1_device::shr(u32 val, bool va, u8 fo, bool a_c, bool l_r)
void kl1839vm1_device::kop(u8 kop, u8 fd, u32 x, u32 y, u8 rz, u8 ps, bool va = false, u8 fo = 0)
{
u64 res = 0;
- switch(fd)
+ switch (fd)
{
case 0b11:
x = s8(x);
@@ -148,7 +150,7 @@ void kl1839vm1_device::kop(u8 kop, u8 fd, u32 x, u32 y, u8 rz, u8 ps, bool va =
}
RSP &= ~(VF | CF);
- switch(kop)
+ switch (kop)
{
case 0b0000: res = y; break;
// 0b0001:
@@ -191,7 +193,7 @@ void kl1839vm1_device::kop(u8 kop, u8 fd, u32 x, u32 y, u8 rz, u8 ps, bool va =
default: break;
}
- switch(fd)
+ switch (fd)
{
case 0b11:
res &= 0x000000ff;
@@ -207,7 +209,8 @@ void kl1839vm1_device::kop(u8 kop, u8 fd, u32 x, u32 y, u8 rz, u8 ps, bool va =
break;
}
R(rz) |= res;
- if (rz == 0x1f) mreg_w();
+ if (rz == 0x1f)
+ mreg_w();
}
bool kl1839vm1_device::mreg_r()
@@ -874,10 +877,14 @@ void kl1839vm1_device::vax_decode_pc()
}
if (!m_op_size)
+ {
LOGVAX("(%x): undecoded OP=%02x .. EXIT\n", PC, op);
+ }
else
+ {
PC += m_op_size; // move to a next op
- ;//LOGVAX("(%x): Decoded: OP=%02x args:%d \n", PC, op, m_pcm_queue.size());
+ /*LOGVAX("(%x): Decoded: OP=%02x args:%d \n", PC, op, m_pcm_queue.size())*/;
+ }
}
u32 kl1839vm1_device::vax_pcm_pull(bool is_bo)
diff --git a/src/devices/cpu/vax/vaxdasm.cpp b/src/devices/cpu/vax/vaxdasm.cpp
index 229d3972fda..5faaca67e8d 100644
--- a/src/devices/cpu/vax/vaxdasm.cpp
+++ b/src/devices/cpu/vax/vaxdasm.cpp
@@ -1109,7 +1109,7 @@ bool vax_disassembler::is_read_mode(vax_disassembler::mode m)
}
}
-const vax_disassembler::mode* vax_disassembler::get_operands(u8 op)
+const vax_disassembler::mode *vax_disassembler::get_operands(u8 op)
{
return s_nonprefix_ops[op].operand;
}
diff --git a/src/devices/cpu/vax/vaxdasm.h b/src/devices/cpu/vax/vaxdasm.h
index e12657daab9..f219bb1eba6 100644
--- a/src/devices/cpu/vax/vaxdasm.h
+++ b/src/devices/cpu/vax/vaxdasm.h
@@ -31,7 +31,7 @@ public:
vax_disassembler();
static bool is_read_mode(mode m);
- static const mode* get_operands(u8 op);
+ static const mode *get_operands(u8 op);
protected:
// disassembler overrides
diff --git a/src/devices/machine/z80sio.cpp b/src/devices/machine/z80sio.cpp
index f21da3bce2e..15561da267c 100644
--- a/src/devices/machine/z80sio.cpp
+++ b/src/devices/machine/z80sio.cpp
@@ -2551,9 +2551,11 @@ void z80sio_channel::txc_w(int state)
// Generate a new bit
bool new_bit = false;
if ((m_wr4 & (WR4_SYNC_MODE_MASK | WR4_STOP_BITS_MASK)) == (WR4_SYNC_MODE_SDLC | WR4_STOP_BITS_SYNC) &&
- (m_tx_flags & (TX_FLAG_DATA_TX | TX_FLAG_CRC_TX)) && (m_tx_hist & 0x1f) == 0x1f)
+ (m_tx_flags & (TX_FLAG_DATA_TX | TX_FLAG_CRC_TX)) && (m_tx_hist & 0x1f) == 0x1f)
+ {
// SDLC, sending data/CRC & 5 ones in a row: do zero insertion
new_bit = false;
+ }
else
{
bool get_out = false;
diff --git a/src/frontend/mame/luaengine.cpp b/src/frontend/mame/luaengine.cpp
index d84dbd358b9..93616f825f6 100644
--- a/src/frontend/mame/luaengine.cpp
+++ b/src/frontend/mame/luaengine.cpp
@@ -2106,13 +2106,15 @@ void lua_engine::initialize()
ui_type["options"] = sol::property([] (mame_ui_manager &m) { return static_cast<core_options *>(&m.options()); });
ui_type["line_height"] = sol::property([] (mame_ui_manager &m) { return m.get_line_height(); });
ui_type["menu_active"] = sol::property(&mame_ui_manager::is_menu_active);
- ui_type["show_menu"] = &mame_ui_manager::show_menu;
ui_type["ui_active"] = sol::property(&mame_ui_manager::ui_active, &mame_ui_manager::set_ui_active);
ui_type["single_step"] = sol::property(&mame_ui_manager::single_step, &mame_ui_manager::set_single_step);
ui_type["show_fps"] = sol::property(&mame_ui_manager::show_fps, &mame_ui_manager::set_show_fps);
ui_type["show_profiler"] = sol::property(&mame_ui_manager::show_profiler, &mame_ui_manager::set_show_profiler);
ui_type["image_display_enabled"] = sol::property(&mame_ui_manager::image_display_enabled, &mame_ui_manager::set_image_display_enabled);
+ // undocumented/unsupported
+ ui_type["show_menu"] = &mame_ui_manager::show_menu; // FIXME: this is dangerous - it doesn't give a proper chance for the current UI handler to clean up
+
/* rom_entry library
*
diff --git a/src/mame/layout/d70.lay b/src/mame/layout/d70.lay
deleted file mode 100644
index f3627c83484..00000000000
--- a/src/mame/layout/d70.lay
+++ /dev/null
@@ -1,633 +0,0 @@
-<?xml version="1.0"?>
-<!--
-license:CC0-1.0
-copyright-holders:Felipe Sanches, m1macrophage
--->
-<mamelayout version="2">
-
-<!-- define elements -->
-
- <element name="red_led" defstate="0">
- <rect state="1">
- <color red="1" green="0.0" blue="0.0" />
- </rect>
- <rect state="0">
- <color red="0.2" green="0.0" blue="0.0" />
- </rect>
- </element>
-
- <element name="cpanel">
- <rect><color red="0.13" green="0.13" blue="0.11"/></rect>
- </element>
-
- <element name="clear_rect">
- <rect><color red="0.8" green="0.8" blue="0.8"/></rect>
- </element>
-
- <element name="grey_rect">
- <rect><color red="0.4" green="0.4" blue="0.4" /></rect>
- </element>
-
- <element name="brown_line">
- <rect><color red="0.72" green="0.45" blue="0.13" /></rect>
- </element>
-
- <element name="light_grey_disk">
- <disk><color red="0.2" green="0.2" blue="0.2"/></disk>
- </element>
-
- <element name="dark_grey_disk">
- <disk><color red="0.1" green="0.1" blue="0.1"/></disk>
- </element>
-
- <element name="slider-well">
- <rect><color red="0.04" green="0.05" blue="0.05"/></rect>
- </element>
-
- <element name="slider-wider-well">
- <rect><color red="0.13" green="0.15" blue="0.15"/></rect>
- </element>
-
- <element name="slider-knob">
- <rect><color red="0.18" green="0.2" blue="0.18"/></rect>
- </element>
-
- <element name="lcd_border">
- <rect><color red="0.06" green="0.06" blue="0.04"/></rect>
- </element>
-
- <element name="lcd_bg">
- <rect><color red="0.62" green="0.71" blue="0.53"/></rect>
- </element>
-
- <element name="button">
- <rect state="0"><color red="0.25" green="0.25" blue="0.25"/></rect>
- <rect state="1"><color red="0.5" green="0.5" blue="0.5"/></rect>
- </element>
-
- <element name="tone_display_text"><text string="TONE DISPLAY"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="midi_out_text"><text string="MIDI OUT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="effect_ctrl_text"><text string="EFFECT/CTRL"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="part_text"><text string="PART"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="user_text"><text string="USER"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="f1_text"><text string="F1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="f2_text"><text string="F2"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="f3_text"><text string="F3"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="f4_text"><text string="F4"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="f5_text"><text string="F5"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="exit_text"><text string="EXIT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="dec_text"><text string="DEC"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="del_text"><text string="DEL"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="inc_text"><text string="INC"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="ins_text"><text string="INS"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="tone_palette_text"><text string="TONE PALETTE"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="lower_text"><text string="LOWER"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="upper_text"><text string="UPPER"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="level_text"><text string="LEVEL"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="pan_text"><text string="PAN"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="tuning_text"><text string="TUNING"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="cutoff_text"><text string="CUTOFF"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="resonance_text"><text string="RESONANCE"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="attack_text"><text string="ATTACK"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="release_text"><text string="RELEASE"><color red="0.72" green="0.45" blue="0.13" /></text></element>
- <element name="solo_text"><text string="SOLO"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="portamento_text"><text string="PORTAMENTO"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="mode_text"><text string="MODE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="play_text"><text string="PLAY"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="edit_text"><text string="EDIT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="pcm_card_text"><text string="PCM CARD"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="panic_text"><text string="PANIC"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="rom_play_text"><text string="ROM PLAY"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="lower_1_text"><text string="1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="lower_2_text"><text string="2"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="upper_3_text"><text string="3"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="upper_4_text"><text string="4"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="tone_zone_select_text"><text string="TONE/ZONE SELECT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="performance_text"><text string="PERFORMANCE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="patch_text"><text string="PATCH"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="tone_text"><text string="TONE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="a_slash_text"><text string="A/"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="b_text"><text string="B"><color red="1.0" green="0.2" blue="0.2" /></text></element>
- <element name="int_slash_text"><text string="INT/"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="card_text"><text string="CARD"><color red="1.0" green="0.2" blue="0.2" /></text></element>
- <element name="command_text"><text string="COMMAND"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="write_text"><text string="WRITE"><color red="1.0" green="0.2" blue="0.2" /></text></element>
- <element name="enter_text"><text string="ENTER"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="caps_text"><text string="CAPS"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="space_text"><text string="SPACE"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="a_b_text"><text string="A B"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="c_d_text"><text string="C D"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="e_f_text"><text string="E F"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="g_h_text"><text string="G H"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="i_j_text"><text string="I J"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="k_l_text"><text string="K L"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="bank_text"><text string="BANK"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="1_text"><text string="1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="2_text"><text string="2"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="3_text"><text string="3"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="4_text"><text string="4"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="5_text"><text string="5"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="6_text"><text string="6"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="7_text"><text string="7"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="8_text"><text string="8"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="m_n_text"><text string="M N"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="o_p_text"><text string="O P"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="q_r_text"><text string="Q R"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="s_t_text"><text string="S T"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="u_v_text"><text string="U V"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="dash_w_text"><text string="- W"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="9_x_text"><text string="9 X"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="0_y_text"><text string="0 Y"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="1_z_text"><text string="1 Z"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="2_slash_text"><text string="2 /"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="3_plus_text"><text string="3 +"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="4_times_text"><text string="4 *"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="5_hash_text"><text string="5 #"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="6_dot_text"><text string="6 ."><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="7_comma_text"><text string="7 ,"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="8_exclam_text"><text string="8 !"><color red="0.4" green="0.4" blue="0.4" /></text></element>
- <element name="number_text"><text string="NUMBER"><color red="0.8" green="0.8" blue="0.8" /></text></element>
- <element name="value_text"><text string="VALUE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
-
- <element name="double_page_icon_grey">
- <image><data><![CDATA[
-<svg width="11" height="12" viewBox="0 0 2.910422 3.175">
-<path style="stroke:#d1d1d1;fill:none;stroke-width:0.29;" d="m 1.66,0.17 -1.52,0.4 V 2.9 l 1.52,-0.4 z m -0.4,2.52 v 0.3 l 1.52,-0.4 V 0.27 l -1.2,0.3" />
-</svg>
- ]]></data></image>
- </element>
-
- <element name="double_page_icon_brown">
- <image><data><![CDATA[
-<svg width="11" height="12" viewBox="0 0 2.910422 3.175">
-<path style="stroke:#b77222;fill:none;stroke-width:0.29;" d="m 1.66,0.17 -1.52,0.4 V 2.9 l 1.52,-0.4 z m -0.4,2.52 v 0.3 l 1.52,-0.4 V 0.27 l -1.2,0.3" />
-</svg>
- ]]></data></image>
- </element>
-
- <element name="triple_page_icon_grey">
- <image><data><![CDATA[
-<svg width="15" height="12" viewBox="0 0 4.3750049 3.500126">
-<path style="stroke:#d1d1d1;fill:none;stroke-width:0.29" d="M 2.57,3 V 3.3 L 4.23,2.9 V 0.4 L 3,0.7 M 1.8,0.18 0.15,0.6 V 3.1 L 1.8,2.68 Z M 1.36,2.89 V 3.2 L 3,2.78 V 0.29 L 1.8,0.58" />
-</svg>
- ]]></data></image>
- </element>
-
-
- <element name="grey_arrows">
- <image><data><![CDATA[
-<svg width="90" height="110" viewBox="0 0 23.8125 29.1">
-<path style="fill:#d1d1d1;stroke-width:0.264" d="m 13.23,25.43 -1.32,3.67 -1.32,-3.67 z m 0,-21.76 L 11.9,0 10.58,3.67 Z m 6.88,9.94 3.7,1.3 -3.7,1.3 z m -16.4,0 L 0,14.92 3.7,16.23 Z" />
-</svg>
- ]]></data></image>
- </element>
-
-<!-- build screen -->
-
- <view name="Internal Layout">
- <bounds left="0" right="1048" top="0" bottom="524" />
-
- <element ref="cpanel"><bounds x="8" y="8" width="1032" height="300" /></element>
- <element ref="lcd_border"><bounds x="178" y="16" width="632" height="200" /></element>
- <element ref="lcd_bg"><bounds x="254" y="48" width="488" height="136" /></element>
- <screen index="0"><bounds x="258" y="52" width="480" height="128" /></screen>
-
- <element ref="cpanel"><bounds x="8" y="316" width="464" height="200" /></element>
-
- <element ref="cpanel"><bounds x="480" y="316" width="560" height="200" /></element>
- <!-- white rect around "performance ... int/card" labels-->
- <element ref="clear_rect"><bounds x="497" y="363" width="244" height="13" /></element>
- <element ref="cpanel"><bounds x="498" y="364" width="242" height="11" /></element>
- <!-- white rect around "command write enter" labels-->
- <element ref="clear_rect"><bounds x="743" y="363" width="138" height="13" /></element>
- <element ref="cpanel"><bounds x="744" y="364" width="136" height="11" /></element>
- <!-- white line over "patch tone a/b" labels-->
- <element ref="clear_rect"><bounds x="555" y="365" width="132" height="1" /></element>
-
-
- <element ref="tone_display_text"><bounds x="39" y="92" width="69" height="10"/></element>
- <element ref="double_page_icon_grey"><bounds x="112" y="90" width="11" height="12"/></element>
-
- <element ref="midi_out_text"><bounds x="51" y="140" width="47" height="10"/></element>
- <element ref="double_page_icon_grey"><bounds x="102" y="138" width="11" height="12"/></element>
-
- <element ref="effect_ctrl_text"><bounds x="45" y="188" width="64" height="10"/></element>
- <element ref="triple_page_icon_grey"><bounds x="113" y="185" width="15" height="12"/></element>
-
- <element ref="part_text"><bounds x="62" y="236" width="25" height="10"/></element>
- <element ref="double_page_icon_grey"><bounds x="90" y="235" width="11" height="12"/></element>
-
- <element ref="user_text"><bounds x="194" y="236" width="26" height="10"/></element>
- <element ref="f1_text"><bounds x="309" y="236" width="11" height="10"/></element>
- <element ref="f2_text"><bounds x="399" y="236" width="11" height="10"/></element>
- <element ref="f3_text"><bounds x="489" y="236" width="11" height="10"/></element>
- <element ref="f4_text"><bounds x="579" y="236" width="11" height="10"/></element>
- <element ref="f5_text"><bounds x="669" y="236" width="11" height="10"/></element>
- <element ref="exit_text"><bounds x="770" y="236" width="22" height="10"/></element>
-
- <element ref="grey_arrows"><bounds x="894" y="89" width="90" height="110"/></element>
-
- <element ref="dec_text"><bounds x="891" y="236" width="19" height="10"/></element>
- <element ref="del_text"><bounds x="891" y="273" width="18" height="10"/></element>
- <element ref="inc_text"><bounds x="968" y="236" width="16" height="10"/></element>
- <element ref="ins_text"><bounds x="968" y="273" width="16" height="10"/></element>
-
-
- <element ref="brown_line"><bounds x="31" y="336" width="173" height="1" /></element>
- <element ref="brown_line"><bounds x="271" y="336" width="177" height="1" /></element>
- <element ref="tone_palette_text"><bounds x="206" y="331" width="62" height="9"/></element>
-
- <element ref="brown_line"><bounds x="200" y="346" width="39" height="1" /></element>
- <element ref="brown_line"><bounds x="273" y="346" width="39" height="1" /></element>
- <element ref="lower_text"><bounds x="242" y="341" width="29" height="9"/></element>
-
- <element ref="brown_line"><bounds x="337" y="346" width="39" height="1" /></element>
- <element ref="brown_line"><bounds x="409" y="346" width="39" height="1" /></element>
- <element ref="upper_text"><bounds x="379" y="341" width="27" height="9"/></element>
-
-
- <element ref="slider-wider-well" id="SLIDER4"><bounds x="200" y="349" width="43" height="97"/></element>
- <element ref="slider-well"><bounds x="217" y="357" width="10" height="82"/></element>
- <element ref="slider-knob">
- <animate inputtag="SLIDER4" inputmask="0x7f"/>
- <bounds state="100" x="203" y="352" width="37" height="24"/>
- <bounds state="0" x="203" y="417" width="37" height="24"/>
- </element>
-
- <element ref="slider-wider-well" id="SLIDER5"><bounds x="269" y="349" width="43" height="97"/></element>
- <element ref="slider-well"><bounds x="286" y="357" width="10" height="82"/></element>
- <element ref="slider-knob">
- <animate inputtag="SLIDER5" inputmask="0x7f"/>
- <bounds state="100" x="272" y="352" width="37" height="24"/>
- <bounds state="0" x="272" y="417" width="37" height="24"/>
- </element>
-
- <element ref="slider-wider-well" id="SLIDER6"><bounds x="337" y="349" width="43" height="97"/></element>
- <element ref="slider-well"><bounds x="354" y="357" width="10" height="82"/></element>
- <element ref="slider-knob">
- <animate inputtag="SLIDER6" inputmask="0x7f"/>
- <bounds state="100" x="340" y="352" width="37" height="24"/>
- <bounds state="0" x="340" y="417" width="37" height="24"/>
- </element>
-
- <element ref="slider-wider-well" id="SLIDER7"><bounds x="405" y="349" width="43" height="97"/></element>
- <element ref="slider-well"><bounds x="422" y="357" width="10" height="82"/></element>
- <element ref="slider-knob">
- <animate inputtag="SLIDER7" inputmask="0x7f"/>
- <bounds state="100" x="408" y="352" width="37" height="24"/>
- <bounds state="0" x="408" y="417" width="37" height="24"/>
- </element>
-
-
- <element ref="lower_1_text"><bounds x="220" y="455" width="6" height="10"/></element>
- <element ref="lower_2_text"><bounds x="287" y="455" width="6" height="10"/></element>
- <element ref="upper_3_text"><bounds x="355" y="455" width="6" height="10"/></element>
- <element ref="upper_4_text"><bounds x="423" y="455" width="6" height="10"/></element>
-
- <element ref="clear_rect"><bounds x="200" y="481" width="82" height="1" /></element>
- <element ref="clear_rect"><bounds x="366" y="481" width="82" height="1" /></element>
- <element ref="tone_zone_select_text"><bounds x="281" y="480" width="87" height="9"/></element>
-
- <element ref="clear_rect"><bounds x="30" y="455" width="54" height="1" /></element>
- <element ref="clear_rect"><bounds x="109" y="455" width="55" height="1" /></element>
- <element ref="mode_text"><bounds x="86" y="450" width="21" height="8"/></element>
-
- <element ref="level_text"><bounds x="40" y="368" width="19" height="8"/></element>
- <element ref="cutoff_text"><bounds x="37" y="398" width="24" height="8"/></element>
- <element ref="solo_text"><bounds x="41" y="428" width="16" height="8"/></element>
- <element ref="play_text"><bounds x="42" y="458" width="15" height="8"/></element>
-
- <element ref="pan_text"><bounds x="91" y="368" width="12" height="8"/></element>
- <element ref="resonance_text"><bounds x="78" y="398" width="38" height="8"/></element>
- <element ref="portamento_text"><bounds x="76" y="428" width="43" height="8"/></element>
- <element ref="edit_text"><bounds x="91" y="458" width="14" height="8"/></element>
-
- <element ref="tuning_text"><bounds x="128" y="368" width="23" height="8"/></element>
- <element ref="double_page_icon_brown"><bounds x="154" y="367" width="7" height="8"/></element>
-
- <element ref="attack_text"><bounds x="134" y="398" width="24" height="8"/></element>
- <element ref="release_text"><bounds x="132" y="428" width="27" height="8"/></element>
- <element ref="pcm_card_text"><bounds x="130" y="458" width="33" height="8"/></element>
-
- <element ref="grey_rect"><bounds x="48" y="477" width="99" height="15" /></element>
- <element ref="cpanel"><bounds x="49" y="476" width="97" height="15" /></element>
- <element ref="cpanel"><bounds x="80" y="487" width="36" height="8" /></element>
- <element ref="rom_play_text"><bounds x="82" y="489" width="32" height="8"/></element>
-
- <element ref="grey_rect"><bounds x="48" y="477" width="50" height="7" /></element>
- <element ref="cpanel"><bounds x="49" y="476" width="48" height="7" /></element>
- <element ref="cpanel"><bounds x="63" y="480" width="24" height="8" /></element>
- <element ref="panic_text"><bounds x="65" y="481" width="20" height="8"/></element>
-
- <element ref="performance_text"><bounds x="500" y="366" width="47" height="8"/></element>
- <element ref="patch_text"><bounds x="562" y="366" width="19" height="8"/></element>
- <element ref="tone_text"><bounds x="612" y="366" width="17" height="8"/></element>
- <element ref="a_slash_text"><bounds x="663" y="366" width="6" height="8"/></element>
- <element ref="b_text"><bounds x="670" y="366" width="4" height="8"/></element>
- <element ref="int_slash_text"><bounds x="702" y="366" width="12" height="8"/></element>
- <element ref="card_text"><bounds x="714" y="366" width="17" height="8"/></element>
- <element ref="command_text"><bounds x="748" y="366" width="33" height="8"/></element>
- <element ref="write_text"><bounds x="804" y="366" width="20" height="8"/></element>
- <element ref="enter_text"><bounds x="852" y="366" width="20" height="8"/></element>
-
-
- <element ref="caps_text"><bounds x="515" y="389" width="16" height="8"/></element>
- <element ref="space_text"><bounds x="562" y="389" width="19" height="8"/></element>
- <element ref="a_b_text"><bounds x="625" y="389" width="14" height="8"/></element>
- <element ref="c_d_text"><bounds x="673" y="389" width="14" height="8"/></element>
- <element ref="e_f_text"><bounds x="722" y="389" width="13" height="8"/></element>
- <element ref="g_h_text"><bounds x="769" y="389" width="14" height="8"/></element>
- <element ref="i_j_text"><bounds x="821" y="389" width="9" height="8"/></element>
- <element ref="k_l_text"><bounds x="867" y="389" width="13" height="8"/></element>
-
- <element ref="clear_rect"><bounds x="506" y="423" width="173" height="1" /></element>
- <element ref="clear_rect"><bounds x="704" y="423" width="176" height="1" /></element>
- <element ref="bank_text"><bounds x="682" y="418" width="20" height="9"/></element>
-
- <element ref="1_text"><bounds x="522" y="428" width="4" height="8"/></element>
- <element ref="2_text"><bounds x="570" y="428" width="4" height="8"/></element>
- <element ref="3_text"><bounds x="619" y="428" width="4" height="8"/></element>
- <element ref="4_text"><bounds x="667" y="428" width="4" height="8"/></element>
- <element ref="5_text"><bounds x="715" y="428" width="4" height="8"/></element>
- <element ref="6_text"><bounds x="763" y="428" width="4" height="8"/></element>
- <element ref="7_text"><bounds x="812" y="428" width="4" height="8"/></element>
- <element ref="8_text"><bounds x="860" y="428" width="4" height="8"/></element>
-
- <element ref="m_n_text"><bounds x="527" y="449" width="15" height="8"/></element>
- <element ref="o_p_text"><bounds x="576" y="449" width="14" height="8"/></element>
- <element ref="q_r_text"><bounds x="625" y="449" width="15" height="8"/></element>
- <element ref="s_t_text"><bounds x="674" y="449" width="13" height="8"/></element>
- <element ref="u_v_text"><bounds x="722" y="449" width="14" height="8"/></element>
- <element ref="dash_w_text"><bounds x="770" y="449" width="14" height="8"/></element>
- <element ref="9_x_text"><bounds x="819" y="449" width="14" height="8"/></element>
- <element ref="0_y_text"><bounds x="867" y="449" width="14" height="8"/></element>
-
- <element ref="1_text"><bounds x="522" y="458" width="4" height="8"/></element>
- <element ref="2_text"><bounds x="570" y="458" width="4" height="8"/></element>
- <element ref="3_text"><bounds x="619" y="458" width="4" height="8"/></element>
- <element ref="4_text"><bounds x="667" y="458" width="4" height="8"/></element>
- <element ref="5_text"><bounds x="715" y="458" width="4" height="8"/></element>
- <element ref="6_text"><bounds x="763" y="458" width="4" height="8"/></element>
- <element ref="7_text"><bounds x="812" y="458" width="4" height="8"/></element>
- <element ref="8_text"><bounds x="860" y="458" width="4" height="8"/></element>
-
- <element ref="1_z_text"><bounds x="529" y="479" width="13" height="8"/></element>
- <element ref="2_slash_text"><bounds x="578" y="479" width="11" height="8"/></element>
- <element ref="3_plus_text"><bounds x="625" y="479" width="14" height="8"/></element>
- <element ref="4_times_text"><bounds x="674" y="479" width="12" height="8"/></element>
- <element ref="5_hash_text"><bounds x="722" y="479" width="14" height="8"/></element>
- <element ref="6_dot_text"><bounds x="771" y="479" width="11" height="8"/></element>
- <element ref="7_comma_text"><bounds x="820" y="479" width="11" height="8"/></element>
- <element ref="8_exclam_text"><bounds x="868" y="479" width="11" height="8"/></element>
-
- <element ref="clear_rect"><bounds x="506" y="488" width="166" height="1" /></element>
- <element ref="clear_rect"><bounds x="713" y="488" width="167" height="1" /></element>
- <element ref="number_text"><bounds x="674" y="486" width="38" height="9"/></element>
-
- <element ref="value_text"><bounds x="960" y="352" width="24" height="9"/></element>
- <element name="value_dial" ref="light_grey_disk"><bounds x="919" y="363" width="106" height="106"/></element>
- <element name="value_dial_finger" ref="dark_grey_disk"><bounds x="931" y="381" width="32" height="32"/></element>
-
-
- <!-- PERFORMANCE -->
- <element ref="button" inputtag="KEY0" inputmask="0x80"><bounds x="505" y="379" width="37" height="9"/></element>
- <element name="LP26" ref="red_led"><bounds x="518" y="380" width="10" height="3" /></element>
-
- <!-- PATCH -->
- <element ref="button" inputtag="KEY0" inputmask="0x40"><bounds x="553" y="379" width="37" height="9"/></element>
- <element name="LP31" ref="red_led"><bounds x="566" y="380" width="10" height="3" /></element>
-
- <!-- TONE -->
- <element ref="button" inputtag="KEY0" inputmask="0x20"><bounds x="602" y="379" width="37" height="9"/></element>
- <element name="LP32" ref="red_led"><bounds x="615" y="380" width="10" height="3" /></element>
-
- <!-- A/B -->
- <element ref="button" inputtag="KEY0" inputmask="0x10"><bounds x="650" y="379" width="37" height="9"/></element>
- <element name="LP33" ref="red_led"><bounds x="663" y="380" width="10" height="3" /></element>
-
- <!-- INT/CARD -->
- <element ref="button" inputtag="KEY0" inputmask="0x08"><bounds x="698" y="379" width="37" height="9"/></element>
- <element name="LP34" ref="red_led"><bounds x="711" y="380" width="10" height="3" /></element>
-
- <!-- COMMAND -->
- <element ref="button" inputtag="KEY0" inputmask="0x04"><bounds x="747" y="379" width="37" height="9"/></element>
- <element name="LP35" ref="red_led"><bounds x="760" y="380" width="10" height="3" /></element>
-
- <!-- WRITE -->
- <element ref="button" inputtag="KEY0" inputmask="0x02"><bounds x="795" y="379" width="37" height="9"/></element>
- <element name="LP36" ref="red_led"><bounds x="808" y="380" width="10" height="3" /></element>
-
- <!-- ENTER -->
- <element ref="button" inputtag="KEY0" inputmask="0x01"><bounds x="843" y="379" width="37" height="9"/></element>
- <element name="LP37" ref="red_led"><bounds x="856" y="380" width="10" height="3" /></element>
-
-
- <!-- Bank 1 --><element ref="button" inputtag="KEY1" inputmask="0x80"><bounds x="505" y="439" width="37" height="9"/></element>
- <!-- Bank 2 --><element ref="button" inputtag="KEY1" inputmask="0x40"><bounds x="553" y="439" width="37" height="9"/></element>
- <!-- Bank 3 --><element ref="button" inputtag="KEY1" inputmask="0x20"><bounds x="602" y="439" width="37" height="9"/></element>
- <!-- Bank 4 --><element ref="button" inputtag="KEY1" inputmask="0x10"><bounds x="650" y="439" width="37" height="9"/></element>
- <!-- Bank 5 --><element ref="button" inputtag="KEY1" inputmask="0x08"><bounds x="698" y="439" width="37" height="9"/></element>
- <!-- Bank 6 --><element ref="button" inputtag="KEY1" inputmask="0x04"><bounds x="747" y="439" width="37" height="9"/></element>
- <!-- Bank 7 --><element ref="button" inputtag="KEY1" inputmask="0x02"><bounds x="795" y="439" width="37" height="9"/></element>
- <!-- Bank 8 --><element ref="button" inputtag="KEY1" inputmask="0x01"><bounds x="843" y="439" width="37" height="9"/></element>
-
-
- <!-- Number 1 --><element ref="button" inputtag="KEY2" inputmask="0x80"><bounds x="505" y="469" width="37" height="9"/></element>
- <!-- Number 2 --><element ref="button" inputtag="KEY2" inputmask="0x40"><bounds x="553" y="469" width="37" height="9"/></element>
- <!-- Number 3 --><element ref="button" inputtag="KEY2" inputmask="0x20"><bounds x="602" y="469" width="37" height="9"/></element>
- <!-- Number 4 --><element ref="button" inputtag="KEY2" inputmask="0x10"><bounds x="650" y="469" width="37" height="9"/></element>
- <!-- Number 5 --><element ref="button" inputtag="KEY2" inputmask="0x08"><bounds x="698" y="469" width="37" height="9"/></element>
- <!-- Number 6 --><element ref="button" inputtag="KEY2" inputmask="0x04"><bounds x="747" y="469" width="37" height="9"/></element>
- <!-- Number 7 --><element ref="button" inputtag="KEY2" inputmask="0x02"><bounds x="795" y="469" width="37" height="9"/></element>
- <!-- Number 8 --><element ref="button" inputtag="KEY2" inputmask="0x01"><bounds x="843" y="469" width="37" height="9"/></element>
-
-
- <!-- DEC/DEL --><element ref="button" inputtag="KEY3" inputmask="0x80"><bounds x="871" y="252" width="59" height="13"/></element>
- <!-- INC/INS --><element ref="button" inputtag="KEY3" inputmask="0x40"><bounds x="947" y="252" width="59" height="13"/></element>
- <!-- Down --><element ref="button" inputtag="KEY3" inputmask="0x20"><bounds x="909" y="204" width="59" height="13"/></element>
- <!-- Left --><element ref="button" inputtag="KEY3" inputmask="0x10"><bounds x="871" y="157" width="59" height="13"/></element>
- <!-- Right --><element ref="button" inputtag="KEY3" inputmask="0x08"><bounds x="947" y="157" width="59" height="13"/></element>
- <!-- Up --><element ref="button" inputtag="KEY3" inputmask="0x04"><bounds x="909" y="108" width="59" height="13"/></element>
-
- <!-- MIDI OUT -->
- <element ref="button" inputtag="KEY3" inputmask="0x02"><bounds x="53" y="157" width="59" height="13"/></element>
- <element name="LP03" ref="red_led"><bounds x="75" y="158" width="15" height="5" /></element>
-
- <!-- TONE DISPLAY -->
- <element ref="button" inputtag="KEY3" inputmask="0x01"><bounds x="53" y="108" width="59" height="13"/></element>
- <element name="LP02" ref="red_led"><bounds x="75" y="109" width="15" height="5" /></element>
-
-
- <!-- EXIT --><element ref="button" inputtag="KEY4" inputmask="0x80"><bounds x="751" y="252" width="59" height="13"/></element>
- <!-- F5 --><element ref="button" inputtag="KEY4" inputmask="0x40"><bounds x="645" y="252" width="59" height="13"/></element>
- <!-- F4 --><element ref="button" inputtag="KEY4" inputmask="0x20"><bounds x="555" y="252" width="59" height="13"/></element>
- <!-- F3 --><element ref="button" inputtag="KEY4" inputmask="0x10"><bounds x="465" y="252" width="59" height="13"/></element>
- <!-- F2 --><element ref="button" inputtag="KEY4" inputmask="0x08"><bounds x="375" y="252" width="59" height="13"/></element>
- <!-- F1 --><element ref="button" inputtag="KEY4" inputmask="0x04"><bounds x="285" y="252" width="59" height="13"/></element>
-
- <!-- USER -->
- <element ref="button" inputtag="KEY4" inputmask="0x02"><bounds x="177" y="252" width="59" height="13"/></element>
- <element name="LP00" ref="red_led"><bounds x="199" y="253" width="15" height="5" /></element>
-
- <!-- PART -->
- <element ref="button" inputtag="KEY4" inputmask="0x01"><bounds x="53" y="252" width="59" height="13"/></element>
- <element name="LP01" ref="red_led"><bounds x="75" y="253" width="15" height="5" /></element>
-
-
- <!-- EDIT -->
- <element ref="button" inputtag="KEY5" inputmask="0x80"><bounds x="79" y="467" width="37" height="9"/></element>
- <element name="LP04" ref="red_led"><bounds x="92" y="468" width="10" height="3" /></element>
-
- <!-- PORTAMENTO -->
- <element ref="button" inputtag="KEY5" inputmask="0x40"><bounds x="79" y="438" width="37" height="9"/></element>
- <element name="LP05" ref="red_led"><bounds x="92" y="439" width="10" height="3" /></element>
-
- <!-- RESONANCE -->
- <element ref="button" inputtag="KEY5" inputmask="0x20"><bounds x="79" y="408" width="37" height="9"/></element>
- <element name="LP06" ref="red_led"><bounds x="92" y="409" width="10" height="3" /></element>
-
- <!-- PAN -->
- <element ref="button" inputtag="KEY5" inputmask="0x10"><bounds x="79" y="378" width="37" height="9"/></element>
- <element name="LP07" ref="red_led"><bounds x="92" y="379" width="10" height="3" /></element>
-
- <!-- TUNING -->
- <element ref="button" inputtag="KEY5" inputmask="0x08"><bounds x="127" y="378" width="37" height="9"/></element>
- <element name="LP13" ref="red_led"><bounds x="140" y="379" width="10" height="3" /></element>
-
- <!-- ATTACK -->
- <element ref="button" inputtag="KEY5" inputmask="0x04"><bounds x="127" y="408" width="37" height="9"/></element>
- <element name="LP12" ref="red_led"><bounds x="140" y="409" width="10" height="3" /></element>
-
- <!-- RELEASE -->
- <element ref="button" inputtag="KEY5" inputmask="0x02"><bounds x="127" y="438" width="37" height="9"/></element>
- <element name="LP11" ref="red_led"><bounds x="140" y="439" width="10" height="3" /></element>
-
- <!-- PCM CARD -->
- <element ref="button" inputtag="KEY5" inputmask="0x01"><bounds x="127" y="467" width="37" height="9"/></element>
- <element name="LP10" ref="red_led"><bounds x="140" y="468" width="10" height="3" /></element>
-
-
- <!-- PLAY -->
- <element ref="button" inputtag="KEY6" inputmask="0x80"><bounds x="30" y="467" width="37" height="9"/></element>
- <element name="LP20" ref="red_led"><bounds x="43" y="468" width="10" height="3" /></element>
-
- <!-- SOLO -->
- <element ref="button" inputtag="KEY6" inputmask="0x40"><bounds x="30" y="438" width="37" height="9"/></element>
- <element name="LP21" ref="red_led"><bounds x="43" y="439" width="10" height="3" /></element>
-
- <!-- CUTOFF -->
- <element ref="button" inputtag="KEY6" inputmask="0x20"><bounds x="30" y="408" width="37" height="9"/></element>
- <element name="LP22" ref="red_led"><bounds x="43" y="409" width="10" height="3" /></element>
-
- <!-- LEVEL -->
- <element ref="button" inputtag="KEY6" inputmask="0x10"><bounds x="30" y="378" width="37" height="9"/></element>
- <element name="LP23" ref="red_led"><bounds x="43" y="379" width="10" height="3" /></element>
-
- <!-- UPPER (4) -->
- <element ref="button" inputtag="KEY6" inputmask="0x08"><bounds x="407" y="467" width="37" height="9"/></element>
- <element name="LP16" ref="red_led"><bounds x="420" y="468" width="10" height="3" /></element>
-
- <!-- UPPER (3) -->
- <element ref="button" inputtag="KEY6" inputmask="0x04"><bounds x="339" y="467" width="37" height="9"/></element>
- <element name="LP17" ref="red_led"><bounds x="352" y="468" width="10" height="3" /></element>
-
- <!-- LOWER (2) -->
- <element ref="button" inputtag="KEY6" inputmask="0x02"><bounds x="271" y="467" width="37" height="9"/></element>
- <element name="LP15" ref="red_led"><bounds x="284" y="468" width="10" height="3" /></element>
-
- <!-- LOWER (1) -->
- <element ref="button" inputtag="KEY6" inputmask="0x01"><bounds x="203" y="467" width="37" height="9"/></element>
- <element name="LP14" ref="red_led"><bounds x="216" y="468" width="10" height="3" /></element>
-
-
- <!-- EFFECT/CTRL -->
- <element ref="button" inputtag="KEY7" inputmask="0x01"><bounds x="53" y="204" width="59" height="13"/></element>
- <element name="LP24" ref="red_led"><bounds x="75" y="205" width="15" height="5" /></element>
-
- </view>
-
-
- <script><![CDATA[
- file:set_resolve_tags_callback(
- function()
- -- These constants need to match the "slider" and
- -- "slider-knob" element attributes.
- local slider_height <const> = 82
- local knob_height <const> = 24
- local knob_slider_delta_y <const> = 5 -- slider y - knob y
-
- local slider_deadzone <const> = math.floor(knob_height / 2) - knob_slider_delta_y
-
- -- Local state used by the pointer update handler.
- local sliders = {}
- local slider_fields = {}
- local selected = 0
-
- -- Gather relevant elements and inputs into local state.
- local view = file.views["Internal Layout"]
- for i = 1, #view.items do
- local item = view.items:at(i)
- if item.id ~= nil and string.find(item.id, "SLIDER") == 1 then
- local port_tag = item.id
- local port = file.device:ioport(port_tag)
- local field = nil
- if port ~= nil then
- for k, val in pairs(port.fields) do
- field = val
- break
- end
- if field == nil then
- print("LAYOUT ERROR - Port does not have a field: " .. port_tag)
- end
- else
- print("LAYOUT ERROR - Port not found: " .. port_tag)
- end
- table.insert(sliders, item)
- table.insert(slider_fields, field)
- end
- end
-
- view:set_pointer_updated_callback(
- function(type, id, dev, x, y, btn, dn, up, cnt)
- -- No button pressed. Reset state.
- if btn & 1 == 0 then
- selected = 0
- return
- end
-
- -- Button just pressed. Find affected slider.
- if dn & 1 ~= 0 then
- for i = 1, #sliders do
- if sliders[i].bounds:includes(x, y) then
- selected = i
- break
- end
- end
- end
-
- -- No slider selected. Nothing to do.
- if selected <= 0 then
- return
- end
-
- -- A slider is selected. Update state and, indirectly,
- -- slider knob position, based on the pointer's Y position.
-
- -- It is assumed the attached IO field is an IPT_ADJUSTER
- -- with a range of 0-100 (the default).
-
- local bbox = sliders[selected].bounds
- local scale_factor = bbox.height / slider_height
- local min_y = bbox.y0 + slider_deadzone * scale_factor
- local max_y = bbox.y1 - slider_deadzone * scale_factor
-
- local new_value = 100 - 100 * (y - min_y) / (max_y - min_y)
- new_value = math.floor(new_value + 0.5)
- if new_value < 0 then new_value = 0 end
- if new_value > 100 then new_value = 100 end
- slider_fields[selected].user_value = new_value
- end)
- end)
- ]]></script>
-
-</mamelayout>
diff --git a/src/mame/layout/roland_d70.lay b/src/mame/layout/roland_d70.lay
new file mode 100644
index 00000000000..6f767e75eb4
--- /dev/null
+++ b/src/mame/layout/roland_d70.lay
@@ -0,0 +1,633 @@
+<?xml version="1.0"?>
+<!--
+license:CC0-1.0
+copyright-holders:Felipe Sanches, m1macrophage
+-->
+<mamelayout version="2">
+
+<!-- define elements -->
+
+ <element name="red_led" defstate="0">
+ <rect state="1">
+ <color red="1" green="0.0" blue="0.0" />
+ </rect>
+ <rect state="0">
+ <color red="0.2" green="0.0" blue="0.0" />
+ </rect>
+ </element>
+
+ <element name="cpanel">
+ <rect><color red="0.13" green="0.13" blue="0.11"/></rect>
+ </element>
+
+ <element name="clear_rect">
+ <rect><color red="0.8" green="0.8" blue="0.8"/></rect>
+ </element>
+
+ <element name="grey_rect">
+ <rect><color red="0.4" green="0.4" blue="0.4" /></rect>
+ </element>
+
+ <element name="brown_line">
+ <rect><color red="0.72" green="0.45" blue="0.13" /></rect>
+ </element>
+
+ <element name="light_grey_disk">
+ <disk><color red="0.2" green="0.2" blue="0.2"/></disk>
+ </element>
+
+ <element name="dark_grey_disk">
+ <disk><color red="0.1" green="0.1" blue="0.1"/></disk>
+ </element>
+
+ <element name="slider-well">
+ <rect><color red="0.04" green="0.05" blue="0.05"/></rect>
+ </element>
+
+ <element name="slider-wider-well">
+ <rect><color red="0.13" green="0.15" blue="0.15"/></rect>
+ </element>
+
+ <element name="slider-knob">
+ <rect><color red="0.18" green="0.2" blue="0.18"/></rect>
+ </element>
+
+ <element name="lcd_border">
+ <rect><color red="0.06" green="0.06" blue="0.04"/></rect>
+ </element>
+
+ <element name="lcd_bg">
+ <rect><color red="0.62" green="0.71" blue="0.53"/></rect>
+ </element>
+
+ <element name="button">
+ <rect state="0"><color red="0.25" green="0.25" blue="0.25"/></rect>
+ <rect state="1"><color red="0.5" green="0.5" blue="0.5"/></rect>
+ </element>
+
+ <element name="tone_display_text"><text string="TONE DISPLAY"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="midi_out_text"><text string="MIDI OUT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="effect_ctrl_text"><text string="EFFECT/CTRL"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="part_text"><text string="PART"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="user_text"><text string="USER"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="f1_text"><text string="F1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="f2_text"><text string="F2"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="f3_text"><text string="F3"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="f4_text"><text string="F4"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="f5_text"><text string="F5"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="exit_text"><text string="EXIT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="dec_text"><text string="DEC"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="del_text"><text string="DEL"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="inc_text"><text string="INC"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="ins_text"><text string="INS"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="tone_palette_text"><text string="TONE PALETTE"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="lower_text"><text string="LOWER"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="upper_text"><text string="UPPER"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="level_text"><text string="LEVEL"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="pan_text"><text string="PAN"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="tuning_text"><text string="TUNING"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="cutoff_text"><text string="CUTOFF"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="resonance_text"><text string="RESONANCE"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="attack_text"><text string="ATTACK"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="release_text"><text string="RELEASE"><color red="0.72" green="0.45" blue="0.13" /></text></element>
+ <element name="solo_text"><text string="SOLO"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="portamento_text"><text string="PORTAMENTO"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="mode_text"><text string="MODE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="play_text"><text string="PLAY"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="edit_text"><text string="EDIT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="pcm_card_text"><text string="PCM CARD"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="panic_text"><text string="PANIC"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="rom_play_text"><text string="ROM PLAY"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="lower_1_text"><text string="1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="lower_2_text"><text string="2"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="upper_3_text"><text string="3"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="upper_4_text"><text string="4"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="tone_zone_select_text"><text string="TONE/ZONE SELECT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="performance_text"><text string="PERFORMANCE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="patch_text"><text string="PATCH"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="tone_text"><text string="TONE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="a_slash_text"><text string="A/"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="b_text"><text string="B"><color red="1.0" green="0.2" blue="0.2" /></text></element>
+ <element name="int_slash_text"><text string="INT/"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="card_text"><text string="CARD"><color red="1.0" green="0.2" blue="0.2" /></text></element>
+ <element name="command_text"><text string="COMMAND"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="write_text"><text string="WRITE"><color red="1.0" green="0.2" blue="0.2" /></text></element>
+ <element name="enter_text"><text string="ENTER"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="caps_text"><text string="CAPS"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="space_text"><text string="SPACE"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="a_b_text"><text string="A B"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="c_d_text"><text string="C D"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="e_f_text"><text string="E F"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="g_h_text"><text string="G H"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="i_j_text"><text string="I J"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="k_l_text"><text string="K L"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="bank_text"><text string="BANK"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="1_text"><text string="1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="2_text"><text string="2"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="3_text"><text string="3"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="4_text"><text string="4"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="5_text"><text string="5"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="6_text"><text string="6"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="7_text"><text string="7"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="8_text"><text string="8"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="m_n_text"><text string="M N"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="o_p_text"><text string="O P"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="q_r_text"><text string="Q R"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="s_t_text"><text string="S T"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="u_v_text"><text string="U V"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="dash_w_text"><text string="- W"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="9_x_text"><text string="9 X"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="0_y_text"><text string="0 Y"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="1_z_text"><text string="1 Z"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="2_slash_text"><text string="2 /"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="3_plus_text"><text string="3 +"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="4_times_text"><text string="4 *"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="5_hash_text"><text string="5 #"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="6_dot_text"><text string="6 ."><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="7_comma_text"><text string="7 ,"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="8_exclam_text"><text string="8 !"><color red="0.4" green="0.4" blue="0.4" /></text></element>
+ <element name="number_text"><text string="NUMBER"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="value_text"><text string="VALUE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+
+ <element name="double_page_icon_grey">
+ <image><data><![CDATA[
+ <svg width="11" height="12" viewBox="0 0 2.910422 3.175">
+ <path fill="none" stroke="#d1d1d1" stroke-width="0.29" d="m 1.66,0.17 -1.52,0.4 V 2.9 l 1.52,-0.4 z m -0.4,2.52 v 0.3 l 1.52,-0.4 V 0.27 l -1.2,0.3" />
+ </svg>
+ ]]></data></image>
+ </element>
+
+ <element name="double_page_icon_brown">
+ <image><data><![CDATA[
+ <svg width="11" height="12" viewBox="0 0 2.910422 3.175">
+ <path fill="none" stroke="#b77222" stroke-width="0.29" d="m 1.66,0.17 -1.52,0.4 V 2.9 l 1.52,-0.4 z m -0.4,2.52 v 0.3 l 1.52,-0.4 V 0.27 l -1.2,0.3" />
+ </svg>
+ ]]></data></image>
+ </element>
+
+ <element name="triple_page_icon_grey">
+ <image><data><![CDATA[
+ <svg width="15" height="12" viewBox="0 0 4.3750049 3.500126">
+ <path fill="none" stroke="#d1d1d1" stroke-width="0.29" d="M 2.57,3 V 3.3 L 4.23,2.9 V 0.4 L 3,0.7 M 1.8,0.18 0.15,0.6 V 3.1 L 1.8,2.68 Z M 1.36,2.89 V 3.2 L 3,2.78 V 0.29 L 1.8,0.58" />
+ </svg>
+ ]]></data></image>
+ </element>
+
+
+ <element name="grey_arrows">
+ <image><data><![CDATA[
+ <svg width="90" height="110" viewBox="0 0 23.8125 29.1">
+ <path fill="#d1d1d1" d="m 13.23,25.43 -1.32,3.67 -1.32,-3.67 z m 0,-21.76 L 11.9,0 10.58,3.67 Z m 6.88,9.94 3.7,1.3 -3.7,1.3 z m -16.4,0 L 0,14.92 3.7,16.23 Z" />
+ </svg>
+ ]]></data></image>
+ </element>
+
+<!-- build screen -->
+
+ <view name="Internal Layout">
+ <bounds left="0" right="1048" top="0" bottom="524" />
+
+ <element ref="cpanel"><bounds x="8" y="8" width="1032" height="300" /></element>
+ <element ref="lcd_border"><bounds x="178" y="16" width="632" height="200" /></element>
+ <element ref="lcd_bg"><bounds x="254" y="48" width="488" height="136" /></element>
+ <screen index="0"><bounds x="258" y="52" width="480" height="128" /></screen>
+
+ <element ref="cpanel"><bounds x="8" y="316" width="464" height="200" /></element>
+
+ <element ref="cpanel"><bounds x="480" y="316" width="560" height="200" /></element>
+ <!-- white rect around "performance ... int/card" labels-->
+ <element ref="clear_rect"><bounds x="497" y="363" width="244" height="13" /></element>
+ <element ref="cpanel"><bounds x="498" y="364" width="242" height="11" /></element>
+ <!-- white rect around "command write enter" labels-->
+ <element ref="clear_rect"><bounds x="743" y="363" width="138" height="13" /></element>
+ <element ref="cpanel"><bounds x="744" y="364" width="136" height="11" /></element>
+ <!-- white line over "patch tone a/b" labels-->
+ <element ref="clear_rect"><bounds x="555" y="365" width="132" height="1" /></element>
+
+
+ <element ref="tone_display_text"><bounds x="39" y="92" width="69" height="10"/></element>
+ <element ref="double_page_icon_grey"><bounds x="112" y="90" width="11" height="12"/></element>
+
+ <element ref="midi_out_text"><bounds x="51" y="140" width="47" height="10"/></element>
+ <element ref="double_page_icon_grey"><bounds x="102" y="138" width="11" height="12"/></element>
+
+ <element ref="effect_ctrl_text"><bounds x="45" y="188" width="64" height="10"/></element>
+ <element ref="triple_page_icon_grey"><bounds x="113" y="185" width="15" height="12"/></element>
+
+ <element ref="part_text"><bounds x="62" y="236" width="25" height="10"/></element>
+ <element ref="double_page_icon_grey"><bounds x="90" y="235" width="11" height="12"/></element>
+
+ <element ref="user_text"><bounds x="194" y="236" width="26" height="10"/></element>
+ <element ref="f1_text"><bounds x="309" y="236" width="11" height="10"/></element>
+ <element ref="f2_text"><bounds x="399" y="236" width="11" height="10"/></element>
+ <element ref="f3_text"><bounds x="489" y="236" width="11" height="10"/></element>
+ <element ref="f4_text"><bounds x="579" y="236" width="11" height="10"/></element>
+ <element ref="f5_text"><bounds x="669" y="236" width="11" height="10"/></element>
+ <element ref="exit_text"><bounds x="770" y="236" width="22" height="10"/></element>
+
+ <element ref="grey_arrows"><bounds x="894" y="89" width="90" height="110"/></element>
+
+ <element ref="dec_text"><bounds x="891" y="236" width="19" height="10"/></element>
+ <element ref="del_text"><bounds x="891" y="273" width="18" height="10"/></element>
+ <element ref="inc_text"><bounds x="968" y="236" width="16" height="10"/></element>
+ <element ref="ins_text"><bounds x="968" y="273" width="16" height="10"/></element>
+
+
+ <element ref="brown_line"><bounds x="31" y="336" width="173" height="1" /></element>
+ <element ref="brown_line"><bounds x="271" y="336" width="177" height="1" /></element>
+ <element ref="tone_palette_text"><bounds x="206" y="331" width="62" height="9"/></element>
+
+ <element ref="brown_line"><bounds x="200" y="346" width="39" height="1" /></element>
+ <element ref="brown_line"><bounds x="273" y="346" width="39" height="1" /></element>
+ <element ref="lower_text"><bounds x="242" y="341" width="29" height="9"/></element>
+
+ <element ref="brown_line"><bounds x="337" y="346" width="39" height="1" /></element>
+ <element ref="brown_line"><bounds x="409" y="346" width="39" height="1" /></element>
+ <element ref="upper_text"><bounds x="379" y="341" width="27" height="9"/></element>
+
+
+ <element ref="slider-wider-well" id="SLIDER4"><bounds x="200" y="349" width="43" height="97"/></element>
+ <element ref="slider-well"><bounds x="217" y="357" width="10" height="82"/></element>
+ <element ref="slider-knob">
+ <animate inputtag="SLIDER4" inputmask="0x7f"/>
+ <bounds state="100" x="203" y="352" width="37" height="24"/>
+ <bounds state="0" x="203" y="417" width="37" height="24"/>
+ </element>
+
+ <element ref="slider-wider-well" id="SLIDER5"><bounds x="269" y="349" width="43" height="97"/></element>
+ <element ref="slider-well"><bounds x="286" y="357" width="10" height="82"/></element>
+ <element ref="slider-knob">
+ <animate inputtag="SLIDER5" inputmask="0x7f"/>
+ <bounds state="100" x="272" y="352" width="37" height="24"/>
+ <bounds state="0" x="272" y="417" width="37" height="24"/>
+ </element>
+
+ <element ref="slider-wider-well" id="SLIDER6"><bounds x="337" y="349" width="43" height="97"/></element>
+ <element ref="slider-well"><bounds x="354" y="357" width="10" height="82"/></element>
+ <element ref="slider-knob">
+ <animate inputtag="SLIDER6" inputmask="0x7f"/>
+ <bounds state="100" x="340" y="352" width="37" height="24"/>
+ <bounds state="0" x="340" y="417" width="37" height="24"/>
+ </element>
+
+ <element ref="slider-wider-well" id="SLIDER7"><bounds x="405" y="349" width="43" height="97"/></element>
+ <element ref="slider-well"><bounds x="422" y="357" width="10" height="82"/></element>
+ <element ref="slider-knob">
+ <animate inputtag="SLIDER7" inputmask="0x7f"/>
+ <bounds state="100" x="408" y="352" width="37" height="24"/>
+ <bounds state="0" x="408" y="417" width="37" height="24"/>
+ </element>
+
+
+ <element ref="lower_1_text"><bounds x="220" y="455" width="6" height="10"/></element>
+ <element ref="lower_2_text"><bounds x="287" y="455" width="6" height="10"/></element>
+ <element ref="upper_3_text"><bounds x="355" y="455" width="6" height="10"/></element>
+ <element ref="upper_4_text"><bounds x="423" y="455" width="6" height="10"/></element>
+
+ <element ref="clear_rect"><bounds x="200" y="481" width="82" height="1" /></element>
+ <element ref="clear_rect"><bounds x="366" y="481" width="82" height="1" /></element>
+ <element ref="tone_zone_select_text"><bounds x="281" y="480" width="87" height="9"/></element>
+
+ <element ref="clear_rect"><bounds x="30" y="455" width="54" height="1" /></element>
+ <element ref="clear_rect"><bounds x="109" y="455" width="55" height="1" /></element>
+ <element ref="mode_text"><bounds x="86" y="450" width="21" height="8"/></element>
+
+ <element ref="level_text"><bounds x="40" y="368" width="19" height="8"/></element>
+ <element ref="cutoff_text"><bounds x="37" y="398" width="24" height="8"/></element>
+ <element ref="solo_text"><bounds x="41" y="428" width="16" height="8"/></element>
+ <element ref="play_text"><bounds x="42" y="458" width="15" height="8"/></element>
+
+ <element ref="pan_text"><bounds x="91" y="368" width="12" height="8"/></element>
+ <element ref="resonance_text"><bounds x="78" y="398" width="38" height="8"/></element>
+ <element ref="portamento_text"><bounds x="76" y="428" width="43" height="8"/></element>
+ <element ref="edit_text"><bounds x="91" y="458" width="14" height="8"/></element>
+
+ <element ref="tuning_text"><bounds x="128" y="368" width="23" height="8"/></element>
+ <element ref="double_page_icon_brown"><bounds x="154" y="367" width="7" height="8"/></element>
+
+ <element ref="attack_text"><bounds x="134" y="398" width="24" height="8"/></element>
+ <element ref="release_text"><bounds x="132" y="428" width="27" height="8"/></element>
+ <element ref="pcm_card_text"><bounds x="130" y="458" width="33" height="8"/></element>
+
+ <element ref="grey_rect"><bounds x="48" y="477" width="99" height="15" /></element>
+ <element ref="cpanel"><bounds x="49" y="476" width="97" height="15" /></element>
+ <element ref="cpanel"><bounds x="80" y="487" width="36" height="8" /></element>
+ <element ref="rom_play_text"><bounds x="82" y="489" width="32" height="8"/></element>
+
+ <element ref="grey_rect"><bounds x="48" y="477" width="50" height="7" /></element>
+ <element ref="cpanel"><bounds x="49" y="476" width="48" height="7" /></element>
+ <element ref="cpanel"><bounds x="63" y="480" width="24" height="8" /></element>
+ <element ref="panic_text"><bounds x="65" y="481" width="20" height="8"/></element>
+
+ <element ref="performance_text"><bounds x="500" y="366" width="47" height="8"/></element>
+ <element ref="patch_text"><bounds x="562" y="366" width="19" height="8"/></element>
+ <element ref="tone_text"><bounds x="612" y="366" width="17" height="8"/></element>
+ <element ref="a_slash_text"><bounds x="663" y="366" width="6" height="8"/></element>
+ <element ref="b_text"><bounds x="670" y="366" width="4" height="8"/></element>
+ <element ref="int_slash_text"><bounds x="702" y="366" width="12" height="8"/></element>
+ <element ref="card_text"><bounds x="714" y="366" width="17" height="8"/></element>
+ <element ref="command_text"><bounds x="748" y="366" width="33" height="8"/></element>
+ <element ref="write_text"><bounds x="804" y="366" width="20" height="8"/></element>
+ <element ref="enter_text"><bounds x="852" y="366" width="20" height="8"/></element>
+
+
+ <element ref="caps_text"><bounds x="515" y="389" width="16" height="8"/></element>
+ <element ref="space_text"><bounds x="562" y="389" width="19" height="8"/></element>
+ <element ref="a_b_text"><bounds x="625" y="389" width="14" height="8"/></element>
+ <element ref="c_d_text"><bounds x="673" y="389" width="14" height="8"/></element>
+ <element ref="e_f_text"><bounds x="722" y="389" width="13" height="8"/></element>
+ <element ref="g_h_text"><bounds x="769" y="389" width="14" height="8"/></element>
+ <element ref="i_j_text"><bounds x="821" y="389" width="9" height="8"/></element>
+ <element ref="k_l_text"><bounds x="867" y="389" width="13" height="8"/></element>
+
+ <element ref="clear_rect"><bounds x="506" y="423" width="173" height="1" /></element>
+ <element ref="clear_rect"><bounds x="704" y="423" width="176" height="1" /></element>
+ <element ref="bank_text"><bounds x="682" y="418" width="20" height="9"/></element>
+
+ <element ref="1_text"><bounds x="522" y="428" width="4" height="8"/></element>
+ <element ref="2_text"><bounds x="570" y="428" width="4" height="8"/></element>
+ <element ref="3_text"><bounds x="619" y="428" width="4" height="8"/></element>
+ <element ref="4_text"><bounds x="667" y="428" width="4" height="8"/></element>
+ <element ref="5_text"><bounds x="715" y="428" width="4" height="8"/></element>
+ <element ref="6_text"><bounds x="763" y="428" width="4" height="8"/></element>
+ <element ref="7_text"><bounds x="812" y="428" width="4" height="8"/></element>
+ <element ref="8_text"><bounds x="860" y="428" width="4" height="8"/></element>
+
+ <element ref="m_n_text"><bounds x="527" y="449" width="15" height="8"/></element>
+ <element ref="o_p_text"><bounds x="576" y="449" width="14" height="8"/></element>
+ <element ref="q_r_text"><bounds x="625" y="449" width="15" height="8"/></element>
+ <element ref="s_t_text"><bounds x="674" y="449" width="13" height="8"/></element>
+ <element ref="u_v_text"><bounds x="722" y="449" width="14" height="8"/></element>
+ <element ref="dash_w_text"><bounds x="770" y="449" width="14" height="8"/></element>
+ <element ref="9_x_text"><bounds x="819" y="449" width="14" height="8"/></element>
+ <element ref="0_y_text"><bounds x="867" y="449" width="14" height="8"/></element>
+
+ <element ref="1_text"><bounds x="522" y="458" width="4" height="8"/></element>
+ <element ref="2_text"><bounds x="570" y="458" width="4" height="8"/></element>
+ <element ref="3_text"><bounds x="619" y="458" width="4" height="8"/></element>
+ <element ref="4_text"><bounds x="667" y="458" width="4" height="8"/></element>
+ <element ref="5_text"><bounds x="715" y="458" width="4" height="8"/></element>
+ <element ref="6_text"><bounds x="763" y="458" width="4" height="8"/></element>
+ <element ref="7_text"><bounds x="812" y="458" width="4" height="8"/></element>
+ <element ref="8_text"><bounds x="860" y="458" width="4" height="8"/></element>
+
+ <element ref="1_z_text"><bounds x="529" y="479" width="13" height="8"/></element>
+ <element ref="2_slash_text"><bounds x="578" y="479" width="11" height="8"/></element>
+ <element ref="3_plus_text"><bounds x="625" y="479" width="14" height="8"/></element>
+ <element ref="4_times_text"><bounds x="674" y="479" width="12" height="8"/></element>
+ <element ref="5_hash_text"><bounds x="722" y="479" width="14" height="8"/></element>
+ <element ref="6_dot_text"><bounds x="771" y="479" width="11" height="8"/></element>
+ <element ref="7_comma_text"><bounds x="820" y="479" width="11" height="8"/></element>
+ <element ref="8_exclam_text"><bounds x="868" y="479" width="11" height="8"/></element>
+
+ <element ref="clear_rect"><bounds x="506" y="488" width="166" height="1" /></element>
+ <element ref="clear_rect"><bounds x="713" y="488" width="167" height="1" /></element>
+ <element ref="number_text"><bounds x="674" y="486" width="38" height="9"/></element>
+
+ <element ref="value_text"><bounds x="960" y="352" width="24" height="9"/></element>
+ <element name="value_dial" ref="light_grey_disk"><bounds x="919" y="363" width="106" height="106"/></element>
+ <element name="value_dial_finger" ref="dark_grey_disk"><bounds x="931" y="381" width="32" height="32"/></element>
+
+
+ <!-- PERFORMANCE -->
+ <element ref="button" inputtag="KEY0" inputmask="0x80"><bounds x="505" y="379" width="37" height="9"/></element>
+ <element name="LP26" ref="red_led"><bounds x="518" y="380" width="10" height="3" /></element>
+
+ <!-- PATCH -->
+ <element ref="button" inputtag="KEY0" inputmask="0x40"><bounds x="553" y="379" width="37" height="9"/></element>
+ <element name="LP31" ref="red_led"><bounds x="566" y="380" width="10" height="3" /></element>
+
+ <!-- TONE -->
+ <element ref="button" inputtag="KEY0" inputmask="0x20"><bounds x="602" y="379" width="37" height="9"/></element>
+ <element name="LP32" ref="red_led"><bounds x="615" y="380" width="10" height="3" /></element>
+
+ <!-- A/B -->
+ <element ref="button" inputtag="KEY0" inputmask="0x10"><bounds x="650" y="379" width="37" height="9"/></element>
+ <element name="LP33" ref="red_led"><bounds x="663" y="380" width="10" height="3" /></element>
+
+ <!-- INT/CARD -->
+ <element ref="button" inputtag="KEY0" inputmask="0x08"><bounds x="698" y="379" width="37" height="9"/></element>
+ <element name="LP34" ref="red_led"><bounds x="711" y="380" width="10" height="3" /></element>
+
+ <!-- COMMAND -->
+ <element ref="button" inputtag="KEY0" inputmask="0x04"><bounds x="747" y="379" width="37" height="9"/></element>
+ <element name="LP35" ref="red_led"><bounds x="760" y="380" width="10" height="3" /></element>
+
+ <!-- WRITE -->
+ <element ref="button" inputtag="KEY0" inputmask="0x02"><bounds x="795" y="379" width="37" height="9"/></element>
+ <element name="LP36" ref="red_led"><bounds x="808" y="380" width="10" height="3" /></element>
+
+ <!-- ENTER -->
+ <element ref="button" inputtag="KEY0" inputmask="0x01"><bounds x="843" y="379" width="37" height="9"/></element>
+ <element name="LP37" ref="red_led"><bounds x="856" y="380" width="10" height="3" /></element>
+
+
+ <!-- Bank 1 --><element ref="button" inputtag="KEY1" inputmask="0x80"><bounds x="505" y="439" width="37" height="9"/></element>
+ <!-- Bank 2 --><element ref="button" inputtag="KEY1" inputmask="0x40"><bounds x="553" y="439" width="37" height="9"/></element>
+ <!-- Bank 3 --><element ref="button" inputtag="KEY1" inputmask="0x20"><bounds x="602" y="439" width="37" height="9"/></element>
+ <!-- Bank 4 --><element ref="button" inputtag="KEY1" inputmask="0x10"><bounds x="650" y="439" width="37" height="9"/></element>
+ <!-- Bank 5 --><element ref="button" inputtag="KEY1" inputmask="0x08"><bounds x="698" y="439" width="37" height="9"/></element>
+ <!-- Bank 6 --><element ref="button" inputtag="KEY1" inputmask="0x04"><bounds x="747" y="439" width="37" height="9"/></element>
+ <!-- Bank 7 --><element ref="button" inputtag="KEY1" inputmask="0x02"><bounds x="795" y="439" width="37" height="9"/></element>
+ <!-- Bank 8 --><element ref="button" inputtag="KEY1" inputmask="0x01"><bounds x="843" y="439" width="37" height="9"/></element>
+
+
+ <!-- Number 1 --><element ref="button" inputtag="KEY2" inputmask="0x80"><bounds x="505" y="469" width="37" height="9"/></element>
+ <!-- Number 2 --><element ref="button" inputtag="KEY2" inputmask="0x40"><bounds x="553" y="469" width="37" height="9"/></element>
+ <!-- Number 3 --><element ref="button" inputtag="KEY2" inputmask="0x20"><bounds x="602" y="469" width="37" height="9"/></element>
+ <!-- Number 4 --><element ref="button" inputtag="KEY2" inputmask="0x10"><bounds x="650" y="469" width="37" height="9"/></element>
+ <!-- Number 5 --><element ref="button" inputtag="KEY2" inputmask="0x08"><bounds x="698" y="469" width="37" height="9"/></element>
+ <!-- Number 6 --><element ref="button" inputtag="KEY2" inputmask="0x04"><bounds x="747" y="469" width="37" height="9"/></element>
+ <!-- Number 7 --><element ref="button" inputtag="KEY2" inputmask="0x02"><bounds x="795" y="469" width="37" height="9"/></element>
+ <!-- Number 8 --><element ref="button" inputtag="KEY2" inputmask="0x01"><bounds x="843" y="469" width="37" height="9"/></element>
+
+
+ <!-- DEC/DEL --><element ref="button" inputtag="KEY3" inputmask="0x80"><bounds x="871" y="252" width="59" height="13"/></element>
+ <!-- INC/INS --><element ref="button" inputtag="KEY3" inputmask="0x40"><bounds x="947" y="252" width="59" height="13"/></element>
+ <!-- Down --><element ref="button" inputtag="KEY3" inputmask="0x20"><bounds x="909" y="204" width="59" height="13"/></element>
+ <!-- Left --><element ref="button" inputtag="KEY3" inputmask="0x10"><bounds x="871" y="157" width="59" height="13"/></element>
+ <!-- Right --><element ref="button" inputtag="KEY3" inputmask="0x08"><bounds x="947" y="157" width="59" height="13"/></element>
+ <!-- Up --><element ref="button" inputtag="KEY3" inputmask="0x04"><bounds x="909" y="108" width="59" height="13"/></element>
+
+ <!-- MIDI OUT -->
+ <element ref="button" inputtag="KEY3" inputmask="0x02"><bounds x="53" y="157" width="59" height="13"/></element>
+ <element name="LP03" ref="red_led"><bounds x="75" y="158" width="15" height="5" /></element>
+
+ <!-- TONE DISPLAY -->
+ <element ref="button" inputtag="KEY3" inputmask="0x01"><bounds x="53" y="108" width="59" height="13"/></element>
+ <element name="LP02" ref="red_led"><bounds x="75" y="109" width="15" height="5" /></element>
+
+
+ <!-- EXIT --><element ref="button" inputtag="KEY4" inputmask="0x80"><bounds x="751" y="252" width="59" height="13"/></element>
+ <!-- F5 --><element ref="button" inputtag="KEY4" inputmask="0x40"><bounds x="645" y="252" width="59" height="13"/></element>
+ <!-- F4 --><element ref="button" inputtag="KEY4" inputmask="0x20"><bounds x="555" y="252" width="59" height="13"/></element>
+ <!-- F3 --><element ref="button" inputtag="KEY4" inputmask="0x10"><bounds x="465" y="252" width="59" height="13"/></element>
+ <!-- F2 --><element ref="button" inputtag="KEY4" inputmask="0x08"><bounds x="375" y="252" width="59" height="13"/></element>
+ <!-- F1 --><element ref="button" inputtag="KEY4" inputmask="0x04"><bounds x="285" y="252" width="59" height="13"/></element>
+
+ <!-- USER -->
+ <element ref="button" inputtag="KEY4" inputmask="0x02"><bounds x="177" y="252" width="59" height="13"/></element>
+ <element name="LP00" ref="red_led"><bounds x="199" y="253" width="15" height="5" /></element>
+
+ <!-- PART -->
+ <element ref="button" inputtag="KEY4" inputmask="0x01"><bounds x="53" y="252" width="59" height="13"/></element>
+ <element name="LP01" ref="red_led"><bounds x="75" y="253" width="15" height="5" /></element>
+
+
+ <!-- EDIT -->
+ <element ref="button" inputtag="KEY5" inputmask="0x80"><bounds x="79" y="467" width="37" height="9"/></element>
+ <element name="LP04" ref="red_led"><bounds x="92" y="468" width="10" height="3" /></element>
+
+ <!-- PORTAMENTO -->
+ <element ref="button" inputtag="KEY5" inputmask="0x40"><bounds x="79" y="438" width="37" height="9"/></element>
+ <element name="LP05" ref="red_led"><bounds x="92" y="439" width="10" height="3" /></element>
+
+ <!-- RESONANCE -->
+ <element ref="button" inputtag="KEY5" inputmask="0x20"><bounds x="79" y="408" width="37" height="9"/></element>
+ <element name="LP06" ref="red_led"><bounds x="92" y="409" width="10" height="3" /></element>
+
+ <!-- PAN -->
+ <element ref="button" inputtag="KEY5" inputmask="0x10"><bounds x="79" y="378" width="37" height="9"/></element>
+ <element name="LP07" ref="red_led"><bounds x="92" y="379" width="10" height="3" /></element>
+
+ <!-- TUNING -->
+ <element ref="button" inputtag="KEY5" inputmask="0x08"><bounds x="127" y="378" width="37" height="9"/></element>
+ <element name="LP13" ref="red_led"><bounds x="140" y="379" width="10" height="3" /></element>
+
+ <!-- ATTACK -->
+ <element ref="button" inputtag="KEY5" inputmask="0x04"><bounds x="127" y="408" width="37" height="9"/></element>
+ <element name="LP12" ref="red_led"><bounds x="140" y="409" width="10" height="3" /></element>
+
+ <!-- RELEASE -->
+ <element ref="button" inputtag="KEY5" inputmask="0x02"><bounds x="127" y="438" width="37" height="9"/></element>
+ <element name="LP11" ref="red_led"><bounds x="140" y="439" width="10" height="3" /></element>
+
+ <!-- PCM CARD -->
+ <element ref="button" inputtag="KEY5" inputmask="0x01"><bounds x="127" y="467" width="37" height="9"/></element>
+ <element name="LP10" ref="red_led"><bounds x="140" y="468" width="10" height="3" /></element>
+
+
+ <!-- PLAY -->
+ <element ref="button" inputtag="KEY6" inputmask="0x80"><bounds x="30" y="467" width="37" height="9"/></element>
+ <element name="LP20" ref="red_led"><bounds x="43" y="468" width="10" height="3" /></element>
+
+ <!-- SOLO -->
+ <element ref="button" inputtag="KEY6" inputmask="0x40"><bounds x="30" y="438" width="37" height="9"/></element>
+ <element name="LP21" ref="red_led"><bounds x="43" y="439" width="10" height="3" /></element>
+
+ <!-- CUTOFF -->
+ <element ref="button" inputtag="KEY6" inputmask="0x20"><bounds x="30" y="408" width="37" height="9"/></element>
+ <element name="LP22" ref="red_led"><bounds x="43" y="409" width="10" height="3" /></element>
+
+ <!-- LEVEL -->
+ <element ref="button" inputtag="KEY6" inputmask="0x10"><bounds x="30" y="378" width="37" height="9"/></element>
+ <element name="LP23" ref="red_led"><bounds x="43" y="379" width="10" height="3" /></element>
+
+ <!-- UPPER (4) -->
+ <element ref="button" inputtag="KEY6" inputmask="0x08"><bounds x="407" y="467" width="37" height="9"/></element>
+ <element name="LP16" ref="red_led"><bounds x="420" y="468" width="10" height="3" /></element>
+
+ <!-- UPPER (3) -->
+ <element ref="button" inputtag="KEY6" inputmask="0x04"><bounds x="339" y="467" width="37" height="9"/></element>
+ <element name="LP17" ref="red_led"><bounds x="352" y="468" width="10" height="3" /></element>
+
+ <!-- LOWER (2) -->
+ <element ref="button" inputtag="KEY6" inputmask="0x02"><bounds x="271" y="467" width="37" height="9"/></element>
+ <element name="LP15" ref="red_led"><bounds x="284" y="468" width="10" height="3" /></element>
+
+ <!-- LOWER (1) -->
+ <element ref="button" inputtag="KEY6" inputmask="0x01"><bounds x="203" y="467" width="37" height="9"/></element>
+ <element name="LP14" ref="red_led"><bounds x="216" y="468" width="10" height="3" /></element>
+
+
+ <!-- EFFECT/CTRL -->
+ <element ref="button" inputtag="KEY7" inputmask="0x01"><bounds x="53" y="204" width="59" height="13"/></element>
+ <element name="LP24" ref="red_led"><bounds x="75" y="205" width="15" height="5" /></element>
+
+ </view>
+
+
+ <script><![CDATA[
+ file:set_resolve_tags_callback(
+ function()
+ -- These constants need to match the "slider" and
+ -- "slider-knob" element attributes.
+ local slider_height <const> = 82
+ local knob_height <const> = 24
+ local knob_slider_delta_y <const> = 5 -- slider y - knob y
+
+ local slider_deadzone <const> = math.floor(knob_height / 2) - knob_slider_delta_y
+
+ -- Local state used by the pointer update handler.
+ local sliders = {}
+ local slider_fields = {}
+ local selected = 0
+
+ -- Gather relevant elements and inputs into local state.
+ local view = file.views["Internal Layout"]
+ for i = 1, #view.items do
+ local item = view.items:at(i)
+ if item.id ~= nil and string.find(item.id, "SLIDER") == 1 then
+ local port_tag = item.id
+ local port = file.device:ioport(port_tag)
+ local field = nil
+ if port ~= nil then
+ for k, val in pairs(port.fields) do
+ field = val
+ break
+ end
+ if field == nil then
+ print("LAYOUT ERROR - Port does not have a field: " .. port_tag)
+ end
+ else
+ print("LAYOUT ERROR - Port not found: " .. port_tag)
+ end
+ table.insert(sliders, item)
+ table.insert(slider_fields, field)
+ end
+ end
+
+ view:set_pointer_updated_callback(
+ function(type, id, dev, x, y, btn, dn, up, cnt)
+ -- No button pressed. Reset state.
+ if btn & 1 == 0 then
+ selected = 0
+ return
+ end
+
+ -- Button just pressed. Find affected slider.
+ if dn & 1 ~= 0 then
+ for i = 1, #sliders do
+ if sliders[i].bounds:includes(x, y) then
+ selected = i
+ break
+ end
+ end
+ end
+
+ -- No slider selected. Nothing to do.
+ if selected <= 0 then
+ return
+ end
+
+ -- A slider is selected. Update state and, indirectly,
+ -- slider knob position, based on the pointer's Y position.
+
+ -- It is assumed the attached IO field is an IPT_ADJUSTER
+ -- with a range of 0-100 (the default).
+
+ local bbox = sliders[selected].bounds
+ local scale_factor = bbox.height / slider_height
+ local min_y = bbox.y0 + slider_deadzone * scale_factor
+ local max_y = bbox.y1 - slider_deadzone * scale_factor
+
+ local new_value = 100 - 100 * (y - min_y) / (max_y - min_y)
+ new_value = math.floor(new_value + 0.5)
+ if new_value < 0 then new_value = 0 end
+ if new_value > 100 then new_value = 100 end
+ slider_fields[selected].user_value = new_value
+ end)
+ end)
+ ]]></script>
+
+</mamelayout>
diff --git a/src/mame/moog/memorymoog.cpp b/src/mame/moog/memorymoog.cpp
index c070dd08680..7c63dbc60be 100644
--- a/src/mame/moog/memorymoog.cpp
+++ b/src/mame/moog/memorymoog.cpp
@@ -1134,4 +1134,3 @@ ROM_END
// In production from 1982 to 1985.
SYST(1982, memorymoog, 0, 0, memorymoog, memorymoog, memorymoog_state, empty_init, "Moog Music", "Memorymoog", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE)
-
diff --git a/src/mame/moog/source.cpp b/src/mame/moog/source.cpp
index 1f1cf6de9ce..eadb32ca697 100644
--- a/src/mame/moog/source.cpp
+++ b/src/mame/moog/source.cpp
@@ -366,7 +366,7 @@ void source_state::cv_w(offs_t offset, u8 data)
if (offset >= static_cast<int>(CV::SIZE))
return;
- const float cv = MAX_CV * data / 255.0f;
+ const float cv = MAX_CV * data / 255.0F;
if (cv == m_cv[offset])
return;
m_cv[offset] = cv;
@@ -410,7 +410,7 @@ float source_state::get_keyboard_v() const
// *** Convert pressed key to a voltage.
- static constexpr const float KEYBOARD_VREF = 8.24f; // From schematic.
+ static constexpr const float KEYBOARD_VREF = 8.24F; // From schematic.
static constexpr const float RKEY = RES_R(100);
static constexpr const float R74 = RES_R(150);
static constexpr const float R76 = RES_K(220);
diff --git a/src/mame/oberheim/dmx.cpp b/src/mame/oberheim/dmx.cpp
index fc1e71438f4..357d9fd49c3 100644
--- a/src/mame/oberheim/dmx.cpp
+++ b/src/mame/oberheim/dmx.cpp
@@ -1661,4 +1661,3 @@ ROM_END
} // anonymous namespace
SYST(1980, obdmx, 0, 0, dmx, dmx, dmx_state, empty_init, "Oberheim", "DMX", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND)
-
diff --git a/src/mame/roland/roland_d70.cpp b/src/mame/roland/roland_d70.cpp
index 0a2ac968a13..d114c3967d0 100644
--- a/src/mame/roland/roland_d70.cpp
+++ b/src/mame/roland/roland_d70.cpp
@@ -23,12 +23,13 @@
#include "screen.h"
#include "softlist_dev.h"
#include "speaker.h"
-#include "d70.lh"
#include "multibyte.h"
#include <queue>
+#include "roland_d70.lh"
+
namespace {
diff --git a/src/mame/sinclair/tsconf_m.cpp b/src/mame/sinclair/tsconf_m.cpp
index 43ee709668f..bf1f05ecad9 100644
--- a/src/mame/sinclair/tsconf_m.cpp
+++ b/src/mame/sinclair/tsconf_m.cpp
@@ -541,7 +541,7 @@ u8 tsconf_state::tsconf_port_xxaf_r(offs_t port)
void tsconf_state::copy_tiles_to_raw(const u8 *tiles_src, u8 *raw_target)
{
- for(u32 ln = 0; ln < PAGE4K(8); ln += 4)
+ for (u32 ln = 0; ln < PAGE4K(8); ln += 4)
{
int targ = tiles_offset_to_raw(ln);
for (u8 x = 0; x < 4; ++x)