From 675ec857d71cc15c5267c9c4f2cf376e37972f34 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 9 Apr 2015 14:57:14 +0200 Subject: new directory structure diff --git a/Midi_Interface/RHMixxx-scripts.js b/Midi_Interface/RHMixxx-scripts.js deleted file mode 100644 index 0d7114f..0000000 --- a/Midi_Interface/RHMixxx-scripts.js +++ /dev/null @@ -1,146 +0,0 @@ -//*********************************************************** -//** Radio Helsinki RHMixxx control script ** -//** CopyLeft 2014, Josef Schauer / Christian Pointner ** -//*********************************************************** - -// *********** Preamble *********** - -function RHMixxx() {} - -RHMixxx.groupNotes = { - "[Channel1]": { play: 0x01, stop: 0x00 }, - "[Channel2]": { play: 0x03, stop: 0x02 }, - "[Sampler1]": 0x04, - "[Sampler2]": 0x05, - "[Sampler3]": 0x06, - "[Sampler4]": 0x07, - "[Sampler5]": 0x08, - "[Sampler6]": 0x09, - "[Sampler7]": 0x0A, - "[Sampler8]": 0x0B, - "[Sampler9]": 0x0C, - "[Sampler10]": 0x0D, - "[Sampler11]": 0x0E, - "[Sampler12]": 0x0F -} - -// *********** Init/De-Init *********** - -RHMixxx.init = function (id, debug) { - var num_decks = engine.getValue("[Master]", "num_decks"); - var num_sampler = engine.getValue("[Master]", "num_samplers"); - - if(debug) - print("RHMixxx initializing for controller '" + id + - "' (" + num_decks + " Decks, " + num_sampler + " Sampler)"); - - var i; - for (i = 1; i <= num_decks; i++) - RHMixxx.initDeck(i, debug); - for (i = 1; i <= num_sampler; i++) - RHMixxx.initSampler(i, debug); - - midi.sendShortMsg(0x80, 0x1F, 0x00); -} - -RHMixxx.shutdown = function () { -} - - -RHMixxx.initDeck = function (c, debug) { - var group = "[Channel" + c + "]"; - - engine.setValue(group, "volume", 0); - engine.connectControl(group, "play", "RHMixxx.DeckPlaying"); - engine.trigger(group, "play"); - engine.connectControl(group, "track_samples", "RHMixxx.DeckSamples"); - engine.trigger(group, "track_samples"); - - if(debug) - print("RHMixxx: " + group + " initilized!"); -} - -RHMixxx.initSampler = function (s, debug) { - var group = "[Sampler" + s + "]"; - - engine.setValue(group, "volume", 1.0); - engine.connectControl(group, "play", "RHMixxx.SamplerPlaying"); - engine.trigger(group, "play"); - engine.connectControl(group, "track_samples", "RHMixxx.SamplerSamples"); - engine.trigger(group, "track_samples"); - - if(debug) - print("RHMixxx: " + group + " initilized!"); -} - -// *********** Actions *********** - -RHMixxx.StopDeck = function (channel, control, value, status, group) { - engine.setValue(group, "start_stop", value); -} - -RHMixxx.ToggleSampler = function (channel, control, value, status, group) { - print("RHMixxx: ToggleSampler called for " + group); - - if(!engine.getValue(group, "play")) { - if(value) - engine.setValue(group, "play", 1); - } - else { - engine.setValue(group, "start_stop", value); - } -} - - -// *********** Status updates *********** - -RHMixxx.DeckPlaying = function (value, group, control) { - if (!value) { - if(engine.getValue(group, "track_samples") != 0) { - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].stop, 0x00); - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].play, 0x00); - } else { - midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].stop, 0x00); - midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].play, 0x00); - } - } else { - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].stop, 0x00); - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].play, 0x10); - } -} - -RHMixxx.DeckSamples = function (value, group, control) { - if(!value) { - midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].stop, 0x00); - midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].play, 0x00); - } else { - if(engine.getValue(group, "play") == 0) { - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].stop, 0x00); - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].play, 0x00); - } - } -} - -RHMixxx.SamplerPlaying = function (value, group, control) { - if (!value) { - if(engine.getValue(group, "track_samples") != 0) { - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group], 0x00); - engine.setValue(group, "start_stop", 1); - engine.setValue(group, "start_stop", 0); - } else { - midi.sendShortMsg(0x80, RHMixxx.groupNotes[group], 0x00); - } - } - else { - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group], 0x10); - } -} - -RHMixxx.SamplerSamples = function (value, group, control) { - if(!value) { - midi.sendShortMsg(0x80, RHMixxx.groupNotes[group], 0x00); - } else { - if(engine.getValue(group, "play") == 0) - midi.sendShortMsg(0x90, RHMixxx.groupNotes[group], 0x00); - } -} diff --git a/Midi_Interface/RHMixxx.midi.xml b/Midi_Interface/RHMixxx.midi.xml deleted file mode 100644 index c5cbc88..0000000 --- a/Midi_Interface/RHMixxx.midi.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - 0x90 - 0x00 - [Channel1] - RHMixxx.StopDeck - - - - - - - 0x90 - 0x01 - [Channel1] - play - - - - - - 0x90 - 0x02 - [Channel2] - RHMixxx.StopDeck - - - - - - - 0x90 - 0x03 - [Channel2] - play - - - - - - - - 0x90 - 0x04 - [Sampler1] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x05 - [Sampler2] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x06 - [Sampler3] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x07 - [Sampler4] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x08 - [Sampler5] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x09 - [Sampler6] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x0a - [Sampler7] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x0b - [Sampler8] - RHMixxx.ToggleSampler - - mixxx - - - - - 0x90 - 0x0c - [Sampler9] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x0d - [Sampler10] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x0e - [Sampler11] - RHMixxx.ToggleSampler - - - - - - - 0x90 - 0x0f - [Sampler12] - RHMixxx.ToggleSampler - - - - - - - - - diff --git a/Midi_Interface/mixxx_commands.pdf b/Midi_Interface/mixxx_commands.pdf deleted file mode 100644 index c6aad6a..0000000 Binary files a/Midi_Interface/mixxx_commands.pdf and /dev/null differ diff --git a/Midi_Interface/rhmixxx_midi_controller_MIDI_1-scripts.js b/Midi_Interface/rhmixxx_midi_controller_MIDI_1-scripts.js deleted file mode 100644 index d5dcada..0000000 --- a/Midi_Interface/rhmixxx_midi_controller_MIDI_1-scripts.js +++ /dev/null @@ -1,691 +0,0 @@ -//////////////////////////////////////// -// Numark V7 control script // -// CopyLeft 2012, Mike Bucceroni // -// ^that means do what ever you want^ // -// made for Mixxx 1.11.x // -//////////////////////////////////////// - -function RHMixxx() {} - -///////////////////////////////// -// // -// Customization Variables // -// // -///////////////////////////////// - - -////////////////////////// -// // -// Global Variables // -// // -////////////////////////// - -//RHMixxx.Deck = true; // true = Deck A, false = Deck B - - - -////////////////////////// -// // -// Initialization // -// & // -// Shutdown // -// // -////////////////////////// - -RHMixxx.init = function () { - //flash LED's - //RHMixxx.FlashAllLED(); - //Connect Control - engine.connectControl("[Channel1]", "play", "RHMixxx.Channel1_playing"); - engine.connectControl("[Channel2]", "play", "RHMixxx.Channel2_playing"); - engine.connectControl("[Sampler1]", "play", "RHMixxx.Sampler1_playing"); - engine.connectControl("[Sampler2]", "play", "RHMixxx.Sampler2_playing"); - engine.connectControl("[Sampler3]", "play", "RHMixxx.Sampler3_playing"); - engine.connectControl("[Sampler4]", "play", "RHMixxx.Sampler4_playing"); - engine.connectControl("[Sampler5]", "play", "RHMixxx.Sampler5_playing"); - engine.connectControl("[Sampler6]", "play", "RHMixxx.Sampler6_playing"); - engine.connectControl("[Sampler7]", "play", "RHMixxx.Sampler7_playing"); - engine.connectControl("[Sampler8]", "play", "RHMixxx.Sampler8_playing"); - engine.connectControl("[Sampler9]", "play", "RHMixxx.Sampler9_playing"); - engine.connectControl("[Sampler10]", "play", "RHMixxx.Sampler10_playing"); - engine.connectControl("[Sampler11]", "play", "RHMixxx.Sampler11_playing"); - engine.connectControl("[Sampler12]", "play", "RHMixxx.Sampler12_playing"); - - //engine.connectControl("[Channel1]", "stop", "RHMixxx.Channel1_playing"); - //engine.connectControl("[Channel2]", "stop", "RHMixxx.Channel2_playing"); - - engine.connectControl("[Channel1]", "play_indicator", "RHMixxx.Channel1_playing"); - - - //Init Sampler Repeat mode - -} - -RHMixxx.shutdown = function () { - RHMixxx.OffAllLED(); -} - - -/////////////////////////// -// // -// Stop // -// Handling // -// // -/////////////////////////// - - -RHMixxx.StopPlayer1 = function (channel, control, value, status, group) { - engine.setValue("[Channel1]","cue_default",1); - - } - -RHMixxx.StopPlayer2 = function (channel, control, value, status, group) { - engine.setValue("[Channel2]","cue_default",1); - //engine.setValue("[Channel2]","cue_default",0); - - } - - -// Samplers - - -RHMixxx.Sampler1play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler1]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler1]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler1]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler2play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler2]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler2]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler2]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler3play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler3]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler3]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler3]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler4play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler4]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler4]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler4]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler5play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler5]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler5]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler5]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler6play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler6]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler6]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler6]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler7play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler7]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler7]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler7]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler8play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler8]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler8]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler8]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler9play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler9]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler9]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler9]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler10play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler10]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler10]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler10]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler11play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler11]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler11]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler11]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - -RHMixxx.Sampler12play = function (channel, control, value, status, group) { - -{ - var currentlyPlaying = engine.getValue("[Sampler12]","play"); - if (currentlyPlaying == 0){ - engine.setValue("[Sampler12]","play",1); - //midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - engine.setValue("[Sampler12]","cue_default",1); - //midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -} - - - - -/////////////////////////// -// // -// Functions // -// setting leds // -// // -/////////////////////////// - -RHMixxx.Channel1_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Channel1]","play"); - if (currentlyPlaying == 0){ - //engine.setValue("[Channel1]","play",1); - midi.sendShortMsg(0x80,0x01,0x00); - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Channel1]","play",0); - midi.sendShortMsg(0x90,0x01,0x00); - } - - } -} -engine.trigger("[Channel1]","play"); -} - -RHMixxx.Channel2_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Channel2]","play"); - if (currentlyPlaying == 0){ - //engine.setValue("[Channel2]","play",1); - midi.sendShortMsg(0x80,0x03,0x00); - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Channel2]","play",0); - midi.sendShortMsg(0x90,0x03,0x00); - } - - } -} -engine.trigger("[Channel2]","play"); -} - -RHMixxx.Sampler1_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler1]","play"); - var position = engine.getValue("[Sampler1]","playposition"); - if (currentlyPlaying == 0){ - midi.sendShortMsg(0x80,0x04,0x00); - //engine.setValue("[Sampler1]","play",1); - //engine.setValue([Sampler1], "cue_gotoandstop", 1); - if (position == 1){ - engine.setValue("[Sampler1]","playposition", 0); - } - - - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler1]","play",0); - midi.sendShortMsg(0x90,0x04,0x00); - } - - } -} -engine.trigger("[Sampler1]","play"); -} - -RHMixxx.Sampler2_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler2]","play"); - var position = engine.getValue("[Sampler2]","playposition"); - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler2]","play",1); - midi.sendShortMsg(0x80,0x05,0x00); - - if (position == 1){ - engine.setValue("[Sampler2]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler2]","play",0); - midi.sendShortMsg(0x90,0x05,0x00); - } - - } -} -engine.trigger("[Sampler2]","play"); -} - -RHMixxx.Sampler3_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler3]","play"); - var position = engine.getValue("[Sampler3]","playposition"); - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler3]","play",1); - midi.sendShortMsg(0x80,0x06,0x00); - - if (position == 1){ - engine.setValue("[Sampler3]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler3]","play",0); - midi.sendShortMsg(0x90,0x06,0x00); - } - - } -} -engine.trigger("[Sampler3]","play"); -} - -RHMixxx.Sampler4_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler4]","play"); - var position = engine.getValue("[Sampler4]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler4]","play",1); - midi.sendShortMsg(0x80,0x07,0x00); - - if (position == 1){ - engine.setValue("[Sampler4]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler4]","play",0); - midi.sendShortMsg(0x90,0x07,0x00); - } - - } -} -engine.trigger("[Sampler4]","play"); -} - -RHMixxx.Sampler5_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler5]","play"); - var position = engine.getValue("[Sampler5]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler5]","play",1); - midi.sendShortMsg(0x80,0x08,0x00); - - if (position == 1){ - engine.setValue("[Sampler5]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler5]","play",0); - midi.sendShortMsg(0x90,0x08,0x00); - } - - } -} -engine.trigger("[Sampler5]","play"); -} - -RHMixxx.Sampler6_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler6]","play"); - var position = engine.getValue("[Sampler6]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler6]","play",1); - midi.sendShortMsg(0x80,0x09,0x00); - - if (position == 1){ - engine.setValue("[Sampler6]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler6]","play",0); - midi.sendShortMsg(0x90,0x09,0x00); - } - - } -} -engine.trigger("[Sampler6]","play"); -} - -RHMixxx.Sampler7_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler7]","play"); - var position = engine.getValue("[Sampler7]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler7]","play",1); - midi.sendShortMsg(0x80,0x0a,0x00); - - if (position == 1){ - engine.setValue("[Sampler7]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler7]","play",0); - midi.sendShortMsg(0x90,0x0a,0x00); - } - - } -} -engine.trigger("[Sampler7]","play"); -} - -RHMixxx.Sampler8_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler8]","play"); - var position = engine.getValue("[Sampler8]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler8]","play",1); - midi.sendShortMsg(0x80,0x0b,0x00); - - if (position == 1){ - engine.setValue("[Sampler8]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler8]","play",0); - midi.sendShortMsg(0x90,0x0b,0x00); - } - - } -} -engine.trigger("[Sampler8]","play"); -} - -RHMixxx.Sampler9_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler9]","play"); - var position = engine.getValue("[Sampler9]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler9]","play",1); - midi.sendShortMsg(0x80,0x0c,0x00); - - if (position == 1){ - engine.setValue("[Sampler9]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler9]","play",0); - midi.sendShortMsg(0x90,0x0c,0x00); - } - - } -} -engine.trigger("[Sampler9]","play"); -} - -RHMixxx.Sampler10_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler10]","play"); - var position = engine.getValue("[Sampler10]","playposition"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler10]","play",1); - midi.sendShortMsg(0x80,0x0d,0x00); - - if (position == 1){ - engine.setValue("[Sampler10]","playposition", 0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler10]","play",0); - midi.sendShortMsg(0x90,0x0d,0x00); - } - - } -} -engine.trigger("[Sampler10]","play"); -} - -RHMixxx.Sampler11_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler11]","play"); - var position = engine.getValue("[Sampler11]","playposition"); - var duration = engine.getValue("[Sampler11]","duration"); - - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler11]","play",1); - midi.sendShortMsg(0x80,0x0e,0x00); - - if(position == 1){ - engine.setValue("[Sampler11]","playposition",0); - } - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler11]","play",0); - midi.sendShortMsg(0x90,0x0e,0x00); - } - } -} -engine.trigger("[Sampler11]","play"); -} - - - - -RHMixxx.Sampler12_playing = function (channel, control, value, status, group) { - - { - var currentlyPlaying = engine.getValue("[Sampler12]","play"); - var position = engine.getValue("[Sampler12]","playposition"); - if (currentlyPlaying == 0){ - //engine.setValue("[Sampler12]","play",1); - midi.sendShortMsg(0x80,0x0f,0x00); - } - else { - if (currentlyPlaying == 1){ - //engine.setValue("[Sampler12]","cue_default",1); - midi.sendShortMsg(0x90,0x0f,0x00); - - if (position == 1){ - engine.setValue("[Sampler12]","playposition", 0); - } - } - - } -} -engine.trigger("[Sampler12]","play"); -} - - - -RHMixxx.Channel1_paused = function (channel, control, value, status, group) { - - { - var currentlyPaused = engine.getValue("[Channel1]","play_indicator"); - if (currentlyPaused == 0){ - //engine.setValue("[Channel1]","play",1); - midi.sendShortMsg(0x80,0x08,0x00); - } - else { - if (currentlyPaused == 1){ - //engine.setValue("[Channel1]","play",0); - midi.sendShortMsg(0x90,0x08,0x00); - } - - } -} -engine.trigger("[Channel1]","play_indicator"); -} - -RHMixxx.OffAllLED = function () { - midi.sendShortMsg(0x80,0x09,0x00); -} - - - - -/////////////////////////// -// // -// The END // -// :P // -// // -/////////////////////////// - diff --git a/Midi_Interface/rhmixxx_midi_controller_MIDI_1.midi.xml b/Midi_Interface/rhmixxx_midi_controller_MIDI_1.midi.xml deleted file mode 100644 index c0fd281..0000000 --- a/Midi_Interface/rhmixxx_midi_controller_MIDI_1.midi.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - 0x90 - 0x00 - [Channel1] - RHMixxx.StopPlayer1 - - - - - - - 0x90 - 0x01 - [Channel1] - play - - - - - - 0x90 - 0x02 - [Channel2] - RHMixxx.StopPlayer2 - - - - - - - 0x90 - 0x03 - [Channel2] - play - - - - - - - - 0x90 - 0x4 - [Sampler1] - RHMixxx.Sampler1play - - - - - - - 0x90 - 0x5 - [Sampler2] - RHMixxx.Sampler2play - - - - - - - 0x90 - 0x6 - [Sampler3] - RHMixxx.Sampler3play - - - - - - - 0x90 - 0x7 - [Sampler4] - RHMixxx.Sampler4play - - - - - - - 0x90 - 0x8 - [Sampler5] - RHMixxx.Sampler5play - - - - - - - 0x90 - 0x9 - [Sampler6] - RHMixxx.Sampler6play - - - - - - - 0x90 - 0xa - [Sampler7] - RHMixxx.Sampler7play - - - - - - - 0x90 - 0xb - [Sampler8] - RHMixxx.Sampler8play - - mixxx - - - - - 0x90 - 0xc - [Sampler9] - RHMixxx.Sampler9play - - - - - - - 0x90 - 0xd - [Sampler10] - RHMixxx.Sampler10play - - - - - - - 0x90 - 0xe - [Sampler11] - RHMixxx.Sampler11play - - - - - - - 0x90 - 0xf - [Sampler12] - RHMixxx.Sampler12play - - - - - - - - - diff --git a/RHMixxx1280x800/.gitignore b/RHMixxx1280x800/.gitignore deleted file mode 100644 index 22c592e..0000000 --- a/RHMixxx1280x800/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.sublime-project -.sublime-project.sublime-workspace \ No newline at end of file diff --git a/RHMixxx1280x800/Bildschirmfoto - 17.03.2014 - 22:04:36.png b/RHMixxx1280x800/Bildschirmfoto - 17.03.2014 - 22:04:36.png deleted file mode 100644 index 7f6082f..0000000 Binary files a/RHMixxx1280x800/Bildschirmfoto - 17.03.2014 - 22:04:36.png and /dev/null differ diff --git a/RHMixxx1280x800/ESX_MidiTAB.pdf b/RHMixxx1280x800/ESX_MidiTAB.pdf deleted file mode 100644 index 59c1b70..0000000 Binary files a/RHMixxx1280x800/ESX_MidiTAB.pdf and /dev/null differ diff --git a/RHMixxx1280x800/MixxController.js b/RHMixxx1280x800/MixxController.js deleted file mode 100644 index 0a26df2..0000000 --- a/RHMixxx1280x800/MixxController.js +++ /dev/null @@ -1,363 +0,0 @@ -function MixxxController(id) { - this.midiMappings = new Object(); - this.namedMappings = new Object(); - this.controls = new Object(); - this.id = id; - - /* - * Convenience method that returns a Mixxx value for the given control - */ - this.getMixxxValue = function(control) { - return engine.getValue(control["group"]["name"], control["name"]); - } - - /* - * Sets a Mixxx value for the given control. If a coversion has been - * registered, it is taken into account. This method also takes care - * of softTakeover, if enabled. - */ - this.setMixxxValue = function(control, value) { - var conversion = control["conversion"]; - if (conversion) { - if (conversion["name"] != "none") { - value = script[conversion["name"]](value, conversion["min"], conversion["max"], conversion["mid"]); - } - } - else { - value = script["absoluteNonLin"](value, 0, 1, 4); - } - if (control["softTakeover"] && (Math.abs(this.getMixxxValue(control) - value) < 0.1)) - { - control["softTakeover"] = false; - } - else if (!control["softTakeover"]) { - engine.setValue(control["group"]["name"], control["name"], value); - control["value"] = value; - } - } - - /* - * Convenience method that returns a control based on its midi number. - */ - this.getByMidiNo = function (midiNo) - { - return this.midiMappings[midiNo]; - } - - /* - * Convenience method that returns a control based on its group and control. - */ - this.getByNames = function(group, control) - { - return this.namedMappings[group+control]; - } - - /* - * Creates a multi button that supports klicking and turning. - * Parameters are: - * # Mixxx value that is set if button is klicked (may be empty if button cannot be pressed) - * # Midi number - * # Mixxx value that is set if button is turned left - * # Mixxx value that is set if button is turned right - */ - this.createMultiButton = function(name, id, left, right) - { - var button = this.createControl(name, id); - button.setConversion("none"); - button["isMultiButton"] = true; - button["left"] = left; - button["right"] = right; - return button; - } - - /* - * Creates a button that executed a Mixxx function without having a concrete - * state (e.g. the beatsync button). - * Parameters are: - * # Mixxx value that is set if button is klicked - * # Midi number - */ - this.createButton = function(name, id) - { - var button = this.createControl(name, id); - button.setConversion("none"); - button["isButton"] = true; - return button; - } - - /* - * Creates a switch that can be switches on and off (e.g. the play button). - * Parameters are: - * # Mixxx value that is toggled if switch is pressed - * # Midi number - */ - this.createSwitch = function(name, id) - { - var button = this.createControl(name, id); - button.setConversion("none"); - button["activated"] = false; - button["isSwitch"] = true; - return button; - } - - /* - * Creates a control that can be used for volume sliders, filter knobs, etc. - * Parameters are: - * # Mixxx value that is changed if the control is used - * # Midi number - * Various behaviours can be enabled on a control: - * # enableFireOnKeyUp() (control is fired if released, not if pressed. Useful for buttons/switches) - * # enableSoftTakeover() (custom softTakeover function that is some smarter than Mixxx's default implementation) - * # addCallback() (add a MixxxController callback. Currently available is only "kill" to emulate a kill switch for equalizers) - * # addExternalCallback() (add a callback to a custom function specific for a certain controller) - * # setConversion(name, min, max, mid) (supported: absoluteLin, absoluteNonLin) - * headVolume, Master volume, crossfader, headMix and volume are automatically enhanced with a fitting conversion. - */ - this.createControl = function(name, id) - { - var control = new Object(); - control["name"] = name; - control["midiNo"] = id; - control["ledMidiNo"] = id; - control["callbacks"] = new Object(); - control["fireOnKeyUp"] = false; - this.midiMappings[id] = control; - control.enableFireOnKeyUp = function() { - control["fireOnKeyUp"] = true; - return control; - } - control.enableSoftTakeover = function() { - control["softTakeover"] = true; - return control; - } - control.addCallback = function(name) { - control["callbacks"][name] = name; - return control; - } - control.addCallback = function(name) { - control["callbacks"][name] = name; - return control; - } - control.addExternalCallback = function(name) { - control["externalCallbacks"][name] = name; - return control; - } - control.setConversion = function(name, min, max, mid) { - control["conversion"] = new Object(); - control["conversion"]["name"] = name; - control["conversion"]["min"] = min; - control["conversion"]["max"] = max; - control["conversion"]["mid"] = mid; - return control; - } - control.setLEDMidiNo = function(id) { - control["ledMidiNo"] = id; - return control; - } - return control; - } - - /* - * Create a new control group to which multiple controls can be added. A control must have a name that matches - * the Mixxx group ([Master], [Channel1], ...) - */ - this.createGroup = function(name, id) - { - var group = new Object(); - group["name"] = name; - if (name.indexOf("[Channel") == 0) { - group["id"] = name.substring(8, 9); - } - group["controller"] = this; - group["scratching"] = false; - group["scratchingEnabled"] = false; - group.addControl = function(control) { - group[control["name"]] = control; - control["group"] = this; - group["controller"].namedMappings[group["name"]+control["name"]] = control; - - if (control["softTakeover"]) { - control["value"] = group["controller"].getMixxxValue(control); - engine.connectControl(group["name"], control["name"], this["controller"].id+".softTakeover"); - } - if (control["name"] == "play") { - engine.connectControl(group["name"], control["name"], this["controller"].id+".playListener"); - } - for (var callback in control["callbacks"]) { - engine.connectControl(group["name"], control["name"], this["controller"].id+"."+callback); - } - for (var callback in control["externalCallbacks"]) { - engine.connectControl(group["name"], control["name"], callback); - } - - var name = control["name"]; - if (name == "headVolume") { - control.setConversion("absoluteNonLin", 0, 5, 1); - } else if ((group["name"] == "[Master]") && (name == "volume")) { - control.setConversion("absoluteNonLin", 0, 5, 1); - } else if (name == "crossfader") { - control.setConversion("absoluteLin", -1, 1); - } else if (name == "headMix") { - control.setConversion("absoluteLin", -1, 1); - } else if (name == "volume") { - control.setConversion("absoluteLin", 0, 1); - } - - return group; - } - this[name] = group; - return group; - } - - /* - * Enabled softTakeover on a control if the controllers value differs to much from Mixxx's state. - * This can be the case on startup of mix or if a control has been modified inside of Mixxx, - * if beatsync has been used, ... - */ - this.softTakeover = function(value, group, control) { - var controller = this["controller"]; - var control = controller.getByNames(group, control); - if (Math.abs(control["value"] - value) > 0.1) { - control["softTakeover"] = true; - } - } - - /* - * If a controller has no eq kill switch, this method can be used to kill frequencies - * if a knob has been moved to zero. To enable this feature, use .addCallback("kill") - * on the created control before adding it to its group. - */ - this.kill = function(value, group, control) { - var controller = this["controller"]; - var control = controller.getByNames(group, control); - if (controller.getMixxxValue(control) == 0) { - engine.setValue(control["group"]["name"], control["name"]+"Kill", 1); - } else if (engine.getValue(control["group"]["name"], control["name"]+"Kill") == 1) { - engine.setValue(control["group"]["name"], control["name"]+"Kill", 0); - } - } - - /* - * This callback is added to the play state and toggles of the play buttons led if needed. - */ - this.playListener = function (value, group, control) { - var controller = this["controller"]; - var control = controller.getByNames(group, control); - controller.led(controller.getMixxxValue(control), control["group"]["name"], control["name"]); - control["activated"] = (controller.getMixxxValue(control) == 1); - } - - /* - * Switch a led for a control on or off. - */ - this.led = function (value, group, control) { - var led = this.getByNames(group, control)["ledMidiNo"]; - if (value == 1) { - midi.sendShortMsg(0x90, led, 0x7F); - } else if (value == 0) { - midi.sendShortMsg(0x90, led, 0x0); - } - } - - /* - * This method must be called from a concrete controller script to get the cow flying. - */ - this.dispatch = function (c, midi, value, status) { - var control = this.getByMidiNo(midi); - if (control["isButton"]) { - this.handleButton(control, value); - } else if (control["isSwitch"]) { - this.handleSwitch(control, value); - } else if (control["isMultiButton"]) { - this.handleMultiButton(control, value); - } else if (control["name"] == "jogWheel") { - this.wheelTurn(c, midi, value, status); - } else { - this.setMixxxValue(control, value); - } - } - - /* - * This method handles multiButtons. - */ - this.handleMultiButton = function (control, value) { - if (value == 127) { - engine.setValue(control["group"]["name"], control["name"], 1); - } else if (value == 0x3f) { - engine.setValue(control["group"]["name"], control["left"], 1); - } else { - engine.setValue(control["group"]["name"], control["right"], 1); - } - } - - /* - * This method handles buttons. - */ - this.handleButton = function (control, value) { - if (value == 0) { - this.led(0, control["group"]["name"], control["name"]); - } else { - this.led(1, control["group"]["name"], control["name"]); - } - if ((control["fireOnKeyUp"] && (value == 0)) || (!control["fireOnKeyUp"] && (value == 127))) { - this.setMixxxValue(control, 1); - } else { - this.setMixxxValue(control, 0); - } - } - - /* - * This method handles switches. - */ - this.handleSwitch = function (control, value) { - if ((control["fireOnKeyUp"] && (value == 0)) || (!control["fireOnKeyUp"] && (value == 127))) { - if (control["name"] == "scratch") { - var group = control["group"]; - group["scratchingEnabled"] = !group["scratchingEnabled"]; - if (group["scratchingEnabled"]) { - this.led(1, control["group"]["name"], control["name"]); - } else { - this.led(0, control["group"]["name"], control["name"]); - } - } else if (control["activated"]) { - this.setMixxxValue(control, 0); - this.led(0, control["group"]["name"], control["name"]); - } else { - this.setMixxxValue(control, 1); - this.led(1, control["group"]["name"], control["name"]); - } - control["activated"] = !control["activated"]; - } - } - - /* - * This method handles a jog wheel for scratching. - */ - this.wheelTurn = function (channel, control, value, status) { - var control = Mixage.controls.getByMidiNo(control); - var group = control["group"]; - // See if we're scratching. If not, just return. - if (!group["scratchingEnabled"]) return; - - if (!group["scratching"]) { - var alpha = 1.0/8; - var beta = alpha/32; - engine.scratchEnable(group["id"], 128, 100, alpha, beta); - } - - // Register the movement - var ramp = (value - 64); - engine.scratchTick(group["id"], ramp); - group["scratching"] = true; - // This two timers check if you are still scratching and disable - // the function if not. - engine.beginTimer(20, function() { - group["scratching"] = false; - engine.beginTimer(20, function() { - if (!group["scratching"]) { - engine.scratchDisable(group["id"]); - } - }, true); - }, true); - } -} diff --git a/RHMixxx1280x800/RHMixxx_desktop1280x1080_design.svg b/RHMixxx1280x800/RHMixxx_desktop1280x1080_design.svg deleted file mode 100644 index 04bc7a6..0000000 --- a/RHMixxx1280x800/RHMixxx_desktop1280x1080_design.svg +++ /dev/null @@ -1,7704 +0,0 @@ - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RHMixxx1280x800/Sampler.png b/RHMixxx1280x800/Sampler.png deleted file mode 100644 index 928ca34..0000000 Binary files a/RHMixxx1280x800/Sampler.png and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long.png b/RHMixxx1280x800/Volume_long.png deleted file mode 100644 index d84b072..0000000 Binary files a/RHMixxx1280x800/Volume_long.png and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long.xcf b/RHMixxx1280x800/Volume_long.xcf deleted file mode 100644 index ea445da..0000000 Binary files a/RHMixxx1280x800/Volume_long.xcf and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long_over.png b/RHMixxx1280x800/Volume_long_over.png deleted file mode 100644 index 03d7063..0000000 Binary files a/RHMixxx1280x800/Volume_long_over.png and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long_over.xcf b/RHMixxx1280x800/Volume_long_over.xcf deleted file mode 100644 index 7def984..0000000 Binary files a/RHMixxx1280x800/Volume_long_over.xcf and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long_over_player.png b/RHMixxx1280x800/Volume_long_over_player.png deleted file mode 100644 index 8fca120..0000000 Binary files a/RHMixxx1280x800/Volume_long_over_player.png and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long_over_player.xcf b/RHMixxx1280x800/Volume_long_over_player.xcf deleted file mode 100644 index 10ecb61..0000000 Binary files a/RHMixxx1280x800/Volume_long_over_player.xcf and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long_player.png b/RHMixxx1280x800/Volume_long_player.png deleted file mode 100644 index 73c3fe8..0000000 Binary files a/RHMixxx1280x800/Volume_long_player.png and /dev/null differ diff --git a/RHMixxx1280x800/Volume_long_player.xcf b/RHMixxx1280x800/Volume_long_player.xcf deleted file mode 100644 index 5cb5887..0000000 Binary files a/RHMixxx1280x800/Volume_long_player.xcf and /dev/null differ diff --git a/RHMixxx1280x800/background1280x1024.png b/RHMixxx1280x800/background1280x1024.png deleted file mode 100644 index 83d04ff..0000000 Binary files a/RHMixxx1280x800/background1280x1024.png and /dev/null differ diff --git a/RHMixxx1280x800/background1280x1024.xcf b/RHMixxx1280x800/background1280x1024.xcf deleted file mode 100644 index b18964b..0000000 Binary files a/RHMixxx1280x800/background1280x1024.xcf and /dev/null differ diff --git a/RHMixxx1280x800/background1280x800.png b/RHMixxx1280x800/background1280x800.png deleted file mode 100644 index e86f129..0000000 Binary files a/RHMixxx1280x800/background1280x800.png and /dev/null differ diff --git a/RHMixxx1280x800/background1280x800.psd b/RHMixxx1280x800/background1280x800.psd deleted file mode 100644 index 49edaba..0000000 Binary files a/RHMixxx1280x800/background1280x800.psd and /dev/null differ diff --git a/RHMixxx1280x800/background1280x800.xcf b/RHMixxx1280x800/background1280x800.xcf deleted file mode 100644 index f5464fc..0000000 Binary files a/RHMixxx1280x800/background1280x800.xcf and /dev/null differ diff --git a/RHMixxx1280x800/btn_clipping.png b/RHMixxx1280x800/btn_clipping.png deleted file mode 100644 index 18ea733..0000000 Binary files a/RHMixxx1280x800/btn_clipping.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_clipping_master.png b/RHMixxx1280x800/btn_clipping_master.png deleted file mode 100644 index 52e638c..0000000 Binary files a/RHMixxx1280x800/btn_clipping_master.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_clipping_master_over.png b/RHMixxx1280x800/btn_clipping_master_over.png deleted file mode 100644 index 509042c..0000000 Binary files a/RHMixxx1280x800/btn_clipping_master_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_clipping_over.png b/RHMixxx1280x800/btn_clipping_over.png deleted file mode 100644 index ed5f5c5..0000000 Binary files a/RHMixxx1280x800/btn_clipping_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_cue.png b/RHMixxx1280x800/btn_cue.png deleted file mode 100755 index 22b40fa..0000000 Binary files a/RHMixxx1280x800/btn_cue.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_cue_over.png b/RHMixxx1280x800/btn_cue_over.png deleted file mode 100755 index 4e84b2f..0000000 Binary files a/RHMixxx1280x800/btn_cue_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_forward.png b/RHMixxx1280x800/btn_forward.png deleted file mode 100755 index 5817de4..0000000 Binary files a/RHMixxx1280x800/btn_forward.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_forward_over.png b/RHMixxx1280x800/btn_forward_over.png deleted file mode 100755 index 6fddd05..0000000 Binary files a/RHMixxx1280x800/btn_forward_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_hotcue1_over.png b/RHMixxx1280x800/btn_hotcue1_over.png deleted file mode 100755 index 1b64938..0000000 Binary files a/RHMixxx1280x800/btn_hotcue1_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_hotcue2_over.png b/RHMixxx1280x800/btn_hotcue2_over.png deleted file mode 100755 index 12211ca..0000000 Binary files a/RHMixxx1280x800/btn_hotcue2_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_hotcue3_over.png b/RHMixxx1280x800/btn_hotcue3_over.png deleted file mode 100755 index 820fe3b..0000000 Binary files a/RHMixxx1280x800/btn_hotcue3_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_hotcue4_over.png b/RHMixxx1280x800/btn_hotcue4_over.png deleted file mode 100755 index 2046fdb..0000000 Binary files a/RHMixxx1280x800/btn_hotcue4_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play.png b/RHMixxx1280x800/btn_play.png deleted file mode 100755 index c3478a6..0000000 Binary files a/RHMixxx1280x800/btn_play.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_over.png b/RHMixxx1280x800/btn_play_over.png deleted file mode 100755 index 3a75ca1..0000000 Binary files a/RHMixxx1280x800/btn_play_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_over_sampler.png b/RHMixxx1280x800/btn_play_over_sampler.png deleted file mode 100644 index 7845b39..0000000 Binary files a/RHMixxx1280x800/btn_play_over_sampler.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_sampler.png b/RHMixxx1280x800/btn_play_sampler.png deleted file mode 100644 index cd47853..0000000 Binary files a/RHMixxx1280x800/btn_play_sampler.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_sampler.xcf b/RHMixxx1280x800/btn_play_sampler.xcf deleted file mode 100644 index 9ec3bac..0000000 Binary files a/RHMixxx1280x800/btn_play_sampler.xcf and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_sampler_down.png b/RHMixxx1280x800/btn_play_sampler_down.png deleted file mode 100644 index 7976982..0000000 Binary files a/RHMixxx1280x800/btn_play_sampler_down.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_sampler_over.png b/RHMixxx1280x800/btn_play_sampler_over.png deleted file mode 100644 index cfca7ec..0000000 Binary files a/RHMixxx1280x800/btn_play_sampler_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_play_sampler_overdown.png b/RHMixxx1280x800/btn_play_sampler_overdown.png deleted file mode 100644 index 56ea7a6..0000000 Binary files a/RHMixxx1280x800/btn_play_sampler_overdown.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_repeat1.png b/RHMixxx1280x800/btn_repeat1.png deleted file mode 100644 index 3ba581b..0000000 Binary files a/RHMixxx1280x800/btn_repeat1.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_repeat1_over.png b/RHMixxx1280x800/btn_repeat1_over.png deleted file mode 100644 index 5aeb7ee..0000000 Binary files a/RHMixxx1280x800/btn_repeat1_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_repeat2.png b/RHMixxx1280x800/btn_repeat2.png deleted file mode 100644 index 3ba581b..0000000 Binary files a/RHMixxx1280x800/btn_repeat2.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_repeat2_over.png b/RHMixxx1280x800/btn_repeat2_over.png deleted file mode 100644 index 5aeb7ee..0000000 Binary files a/RHMixxx1280x800/btn_repeat2_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_repeat_sampler.png b/RHMixxx1280x800/btn_repeat_sampler.png deleted file mode 100644 index 3ba581b..0000000 Binary files a/RHMixxx1280x800/btn_repeat_sampler.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_repeat_sampler_over.png b/RHMixxx1280x800/btn_repeat_sampler_over.png deleted file mode 100644 index 84fdc89..0000000 Binary files a/RHMixxx1280x800/btn_repeat_sampler_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_rewind.png b/RHMixxx1280x800/btn_rewind.png deleted file mode 100755 index c7b6a5c..0000000 Binary files a/RHMixxx1280x800/btn_rewind.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_rewind_over.png b/RHMixxx1280x800/btn_rewind_over.png deleted file mode 100755 index 86b7cf8..0000000 Binary files a/RHMixxx1280x800/btn_rewind_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_stop.png b/RHMixxx1280x800/btn_stop.png deleted file mode 100644 index 2f3f945..0000000 Binary files a/RHMixxx1280x800/btn_stop.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_stop.xcf b/RHMixxx1280x800/btn_stop.xcf deleted file mode 100644 index 4b4d1a9..0000000 Binary files a/RHMixxx1280x800/btn_stop.xcf and /dev/null differ diff --git a/RHMixxx1280x800/btn_stop_red.png b/RHMixxx1280x800/btn_stop_red.png deleted file mode 100644 index e35a458..0000000 Binary files a/RHMixxx1280x800/btn_stop_red.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_stop_red.xcf b/RHMixxx1280x800/btn_stop_red.xcf deleted file mode 100644 index 6e796d2..0000000 Binary files a/RHMixxx1280x800/btn_stop_red.xcf and /dev/null differ diff --git a/RHMixxx1280x800/btn_volume_display.png b/RHMixxx1280x800/btn_volume_display.png deleted file mode 100644 index 8360f5c..0000000 Binary files a/RHMixxx1280x800/btn_volume_display.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_volume_display_over.png b/RHMixxx1280x800/btn_volume_display_over.png deleted file mode 100644 index 178affd..0000000 Binary files a/RHMixxx1280x800/btn_volume_display_over.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_volume_display_small.png b/RHMixxx1280x800/btn_volume_display_small.png deleted file mode 100644 index c335e4e..0000000 Binary files a/RHMixxx1280x800/btn_volume_display_small.png and /dev/null differ diff --git a/RHMixxx1280x800/btn_volume_display_small_over.png b/RHMixxx1280x800/btn_volume_display_small_over.png deleted file mode 100644 index 0eb5b05..0000000 Binary files a/RHMixxx1280x800/btn_volume_display_small_over.png and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long.png b/RHMixxx1280x800/clipping_long.png deleted file mode 100644 index 1d9370a..0000000 Binary files a/RHMixxx1280x800/clipping_long.png and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long.xcf b/RHMixxx1280x800/clipping_long.xcf deleted file mode 100644 index d6c2092..0000000 Binary files a/RHMixxx1280x800/clipping_long.xcf and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long_over.png b/RHMixxx1280x800/clipping_long_over.png deleted file mode 100644 index 8708895..0000000 Binary files a/RHMixxx1280x800/clipping_long_over.png and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long_over.xcf b/RHMixxx1280x800/clipping_long_over.xcf deleted file mode 100644 index 1b8695a..0000000 Binary files a/RHMixxx1280x800/clipping_long_over.xcf and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long_over_player.png b/RHMixxx1280x800/clipping_long_over_player.png deleted file mode 100644 index 0a832c9..0000000 Binary files a/RHMixxx1280x800/clipping_long_over_player.png and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long_over_player.xcf b/RHMixxx1280x800/clipping_long_over_player.xcf deleted file mode 100644 index 006cc80..0000000 Binary files a/RHMixxx1280x800/clipping_long_over_player.xcf and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long_player.png b/RHMixxx1280x800/clipping_long_player.png deleted file mode 100644 index 0f39c20..0000000 Binary files a/RHMixxx1280x800/clipping_long_player.png and /dev/null differ diff --git a/RHMixxx1280x800/clipping_long_player.xcf b/RHMixxx1280x800/clipping_long_player.xcf deleted file mode 100644 index fc9d04f..0000000 Binary files a/RHMixxx1280x800/clipping_long_player.xcf and /dev/null differ diff --git a/RHMixxx1280x800/marker_cue.png b/RHMixxx1280x800/marker_cue.png deleted file mode 100755 index c56b9c2..0000000 Binary files a/RHMixxx1280x800/marker_cue.png and /dev/null differ diff --git a/RHMixxx1280x800/marker_hotcue_1.png b/RHMixxx1280x800/marker_hotcue_1.png deleted file mode 100755 index 341a4ec..0000000 Binary files a/RHMixxx1280x800/marker_hotcue_1.png and /dev/null differ diff --git a/RHMixxx1280x800/marker_hotcue_2.png b/RHMixxx1280x800/marker_hotcue_2.png deleted file mode 100755 index 5e266a4..0000000 Binary files a/RHMixxx1280x800/marker_hotcue_2.png and /dev/null differ diff --git a/RHMixxx1280x800/marker_hotcue_3.png b/RHMixxx1280x800/marker_hotcue_3.png deleted file mode 100755 index bfed836..0000000 Binary files a/RHMixxx1280x800/marker_hotcue_3.png and /dev/null differ diff --git a/RHMixxx1280x800/marker_hotcue_4.png b/RHMixxx1280x800/marker_hotcue_4.png deleted file mode 100755 index 314eed0..0000000 Binary files a/RHMixxx1280x800/marker_hotcue_4.png and /dev/null differ diff --git a/RHMixxx1280x800/marker_loopin.png b/RHMixxx1280x800/marker_loopin.png deleted file mode 100755 index cae017c..0000000 Binary files a/RHMixxx1280x800/marker_loopin.png and /dev/null differ diff --git a/RHMixxx1280x800/marker_loopout.png b/RHMixxx1280x800/marker_loopout.png deleted file mode 100755 index eb142c7..0000000 Binary files a/RHMixxx1280x800/marker_loopout.png and /dev/null differ diff --git a/RHMixxx1280x800/notes b/RHMixxx1280x800/notes deleted file mode 100644 index 51f5930..0000000 --- a/RHMixxx1280x800/notes +++ /dev/null @@ -1,106 +0,0 @@ -Wandler: - -Hoontech dsp2000 von Marco funkt, DI wäre ncoh nötig, 10 kanäle werden bei alsa aber nciht ebein envy24conttrol angezeigt - - - - -http://mixxx.org/wiki/doku.php/creating_skins -http://www.mixxx.org/wiki/doku.php/mixxxcontrols -http://www.mixxx.org/manual/latest/chapters/appendix.html - - - - -Wichtig: --------- - -festplatte einbinden -formate testen - -Defaultmäßig dateien in sampler laden - --> Command line options - -------------------- - - http://manpages.ubuntu.com/manpages/lucid/man5/ssh_config.5.html - - mit filename nur ein file in player 2 geladen (?) - - unlabelleing multiargs to load songs at start-up - ------------------------------------------------ - https://www.mail-archive.com/mixxx-devel@lists.sourceforge.net/msg04054.html - -ordner vordefiniert - - -Taster: -------- - -RAFI002 011 ejher günstig -rs: 179-1167 -einmal PS2 einmal usb? - - -probieren: - -- nach playback zurück zum beginn -- play und nochmal play soll stoppen und wieder zum anfang zurück? noch nicht zusammengebracht -- axum fernbedienung, wine etc - - - - -Tasten ------- - -PS011A drung - - -Anforderungen -------------- - - -16 Tasten je ein LED gelb -4 Ins AXUM -4 outs Axum -Tasten Matrix (16 Pins am Controller sollten reichen) -Player rot und Blau, kohnstantes leutchten, bei Play Play Taste, bei Pause beide (Play Stop) -Sampler leuchten permanent, wenn sie spielen blinken sie. Play und stopp eine Taste -zwecks sampler Automatisch neu starten, mit beschränkung?? oder icon mit script inkl. optionen -Eventuell Datei, wo die files drinnen stehen, die beim start aufgerufen wird - -Auto DJ ist Zustand -------------------- - -- wenn liste in auto dj erstellt ist, und beide player leer: - - "Auto DJ aktivieren" startet mit erstem track in player A - - gespielte Tracks werden aus AUtoDJ list gelöscht, wenn gespielt lässt - sich in Einstelungen Benutzeroberfläche ändern - - Überblenden blenden zum nächstem im Track im gerade inaktiven player - - Achtung AutoDJ auch aktiv, wenn man in einer playliste ist! - - -wenn play aktiv am midi ausgang aber kein druck stattgefunden hat, stop und zurück. - -http://www.mixxx.org/wiki/doku.php/gsoc2012_autodj_features - - - Ähnliches Problem: - https://bugs.launchpad.net/mixxx/+bug/1187258 - - - Source Code Hinweis: - http://www.mixxx.org/forums/viewtopic.php?f=6&t=1477 - - - Vielversprehcend: - http://blog.christian-hufgard.de/mixxx_midiscripting_made_easier_update-2013-05-23 - - - in /src/basetrackplayer.cpp - bPlay bei Aufruf durch Auto DJ null setzen? - void BaseTrackPlayer::slotLoadTrack(TrackPointer track, bool bPlay) { - -Airtime -------- - -https://www.sourcefabric.org/en/airtime/didUknow/630/Open-source-digital-DJ-Integrating-Airtime-and-Mixxx.htm - -emacs editor diff --git a/RHMixxx1280x800/original_skin.xml b/RHMixxx1280x800/original_skin.xml deleted file mode 100755 index 265a551..0000000 --- a/RHMixxx1280x800/original_skin.xml +++ /dev/null @@ -1,1864 +0,0 @@ - - - - - - - - - - - - - background1280x800.png - #FFFFFF - - - - - - 6,349 - 1252,346 - #FFFFFF - #333333 - #ebebeb - #cfdee7 - - - - - - - Waveform display Shows the loaded tracks' waveforms near the playback position. Drag with mouse to control sound playback. Drop tracks from external file manager here. - - 1 - 11,90 - 404,102 - #ffffff - #000000 - #4889c3 - #e0ddd7 - #00FF00 - #00FF00 - #e20020 - - loop_start_position - loop_end_position - loop_enabled - #00FF00 - #FFFFFF - - - loop_start_position - marker_loopin1.png - LOOP IN - bottom - #00FF00 - #FFFFFF - - - loop_end_position - marker_loopout1.png - LOOP OUT - bottom - #00FF00 - #FFFFFF - - - - hotcue_1_position - marker_hotcue1_1.png - HOTCUE 1 - bottom - #00FF00 - #333333 - - - hotcue_2_position - marker_hotcue1_2.png - HOTCUE 2 - bottom - #00FF00 - #333333 - - - hotcue_3_position - marker_hotcue1_3.png - HOTCUE 3 - bottom - #00FF00 - #333333 - - - hotcue_4_position - marker_hotcue1_4.png - HOTCUE 4 - bottom - #00FF00 - #333333 - - - hotcue_5_position - HOTCUE 5 - center - #AE5CFF - #333333 - - - hotcue_6_position - HOTCUE 6 - center - #AE5CFF - #333333 - - - hotcue_7_position - HOTCUE 7 - center - #AE5CFF - #333333 - - - hotcue_8_position - HOTCUE 8 - center - #AE5CFF - #333333 - - - hotcue_9_position - HOTCUE 9 - center - #AE5CFF - #333333 - - - hotcue_10_position - HOTCUE 10 - center - #AE5CFF - #333333 - - - hotcue_11_position - HOTCUE 11 - center - #AE5CFF - #333333 - - - hotcue_12_position - HOTCUE 12 - center - #AE5CFF - #333333 - - - hotcue_13_position - HOTCUE 13 - center - #AE5CFF - #333333 - - - hotcue_14_position - HOTCUE 14 - center - #AE5CFF - #333333 - - - hotcue_15_position - HOTCUE 15 - center - #AE5CFF - #333333 - - - hotcue_16_position - HOTCUE 16 - center - #AE5CFF - #333333 - - - hotcue_17_position - HOTCUE 17 - center - #AE5CFF - #333333 - - - hotcue_18_position - HOTCUE 18 - center - #AE5CFF - #333333 - - - hotcue_19_position - HOTCUE 19 - center - #AE5CFF - #333333 - - - hotcue_20_position - HOTCUE 20 - center - #AE5CFF - #333333 - - - hotcue_21_position - HOTCUE 21 - center - #AE5CFF - #333333 - - - hotcue_22_position - HOTCUE 22 - center - #AE5CFF - #333333 - - - hotcue_23_position - HOTCUE 23 - center - #AE5CFF - #333333 - - - hotcue_24_position - HOTCUE 24 - center - #AE5CFF - #333333 - - - hotcue_25_position - HOTCUE 25 - center - #AE5CFF - #333333 - - - hotcue_26_position - HOTCUE 26 - center - #AE5CFF - #333333 - - - hotcue_27_position - HOTCUE 27 - center - #AE5CFF - #333333 - - - hotcue_28_position - HOTCUE 28 - center - #AE5CFF - #333333 - - - hotcue_29_position - HOTCUE 29 - center - #AE5CFF - #333333 - - - hotcue_30_position - HOTCUE 30 - center - #AE5CFF - #333333 - - - hotcue_31_position - HOTCUE 31 - center - #AE5CFF - #333333 - - - hotcue_32_position - HOTCUE 32 - center - #AE5CFF - #333333 - - - - cue_point - marker_cue1.png - CUE - bottom - #FF001C - #333333 - - - - Waveform display Shows the loaded tracks' waveforms near the playback position. Drag with mouse to control sound playback. Drop tracks from external file manager here. - - 2 - 850,90 - 403,102 - #ffffff - #000000 - #4889c3 - #e0ddd7 - #00FF00 - #00FF00 - #e20020 - - loop_start_position - loop_end_position - loop_enabled - #00FF00 - #FFFFFF - - - loop_start_position - marker_loopin1.png - LOOP IN - bottom - #00FF00 - #FFFFFF - - - loop_end_position - marker_loopout1.png - LOOP OUT - bottom - #00FF00 - #FFFFFF - - - - hotcue_1_position - marker_hotcue1_1.png - HOTCUE 1 - bottom - #00FF00 - #333333 - - - hotcue_2_position - marker_hotcue1_2.png - HOTCUE 2 - bottom - #00FF00 - #333333 - - - hotcue_3_position - marker_hotcue1_3.png - HOTCUE 3 - bottom - #00FF00 - #333333 - - - hotcue_4_position - marker_hotcue1_4.png - HOTCUE 4 - bottom - #00FF00 - #333333 - - - hotcue_5_position - HOTCUE 5 - center - #AE5CFF - #333333 - - - hotcue_6_position - HOTCUE 6 - center - #AE5CFF - #333333 - - - hotcue_7_position - HOTCUE 7 - center - #AE5CFF - #333333 - - - hotcue_8_position - HOTCUE 8 - center - #AE5CFF - #333333 - - - hotcue_9_position - HOTCUE 9 - center - #AE5CFF - #333333 - - - hotcue_10_position - HOTCUE 10 - center - #AE5CFF - #333333 - - - hotcue_11_position - HOTCUE 11 - center - #AE5CFF - #333333 - - - hotcue_12_position - HOTCUE 12 - center - #AE5CFF - #333333 - - - hotcue_13_position - HOTCUE 13 - center - #AE5CFF - #333333 - - - hotcue_14_position - HOTCUE 14 - center - #AE5CFF - #333333 - - - hotcue_15_position - HOTCUE 15 - center - #AE5CFF - #333333 - - - hotcue_16_position - HOTCUE 16 - center - #AE5CFF - #333333 - - - hotcue_17_position - HOTCUE 17 - center - #AE5CFF - #333333 - - - hotcue_18_position - HOTCUE 18 - center - #AE5CFF - #333333 - - - hotcue_19_position - HOTCUE 19 - center - #AE5CFF - #333333 - - - hotcue_20_position - HOTCUE 20 - center - #AE5CFF - #333333 - - - hotcue_21_position - HOTCUE 21 - center - #AE5CFF - #333333 - - - hotcue_22_position - HOTCUE 22 - center - #AE5CFF - #333333 - - - hotcue_23_position - HOTCUE 23 - center - #AE5CFF - #333333 - - - hotcue_24_position - HOTCUE 24 - center - #AE5CFF - #333333 - - - hotcue_25_position - HOTCUE 25 - center - #AE5CFF - #333333 - - - hotcue_26_position - HOTCUE 26 - center - #AE5CFF - #333333 - - - hotcue_27_position - HOTCUE 27 - center - #AE5CFF - #333333 - - - hotcue_28_position - HOTCUE 28 - center - #AE5CFF - #333333 - - - hotcue_29_position - HOTCUE 29 - center - #AE5CFF - #333333 - - - hotcue_30_position - HOTCUE 30 - center - #AE5CFF - #333333 - - - hotcue_31_position - HOTCUE 31 - center - #AE5CFF - #333333 - - - hotcue_32_position - HOTCUE 32 - center - #AE5CFF - #333333 - - - - cue_point - marker_cue1.png - CUE - bottom - #FF001C - #333333 - - - - - - Waveform overview Shows information about the track currently loaded in this channel. Jump around in the track by clicking somewhere on the waveform. - - 1 - 11,197 - 207,40 - #FFFFFF - #4889c3 - #00FF00 - - [Channel1],playposition - false - - - - Waveform overview Shows information about the track currently loaded in this channel. Jump around in the track by clicking somewhere on the waveform. - - 2 - 1045,197 - 207,40 - #FFFFFF - #4889c3 - #00FF00 - - [Channel2],playposition - false - - - - - - Channel volume meter Shows the current channel volume - - btn_volume_display1_over.png - btn_volume_display1.png - 610,114 - false - 5 - 500 - 50 - 1 - - [Channel1],VuMeter - - - - Channel volume meter Shows the current channel volume - - btn_volume_display2_over.png - btn_volume_display2.png - 645,114 - false - 5 - 500 - 50 - 1 - - [Channel2],VuMeter - - - - - Master channel volume meter Outputs the current instantaneous master volume for the left channel. - - btn_volume_display_master1_over.png - btn_volume_display_master1.png - 624,114 - 5 - 500 - 50 - 1 - - [Master],VuMeterL - - - - Master channel volume meter Outputs the current instantaneous master volume for the right channel. - - btn_volume_display_master2_over.png - btn_volume_display_master2.png - 632,114 - 5 - 500 - 50 - 1 - - [Master],VuMeterR - - - - - - Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). - - btn_clipping1_over.png - btn_clipping1.png - 610,122 - - [Channel1],PeakIndicator - - - - Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). - - btn_clipping2_over.png - btn_clipping2.png - 645,122 - - [Channel2],PeakIndicator - - - - Master Peak Indicator Indicates when the signal on the Master output is clipping, (too loud for the hardware and is being distorted). - - btn_clipping_master_over.png - btn_clipping_master.png - 624,122 - - [Master],PeakIndicator - - - - - - - - Track information Displays the Name and Title of the loaded track. Informations are extracted from the tracks tags. - - 1 - 11,20 - 506,28 - - - Track information Displays the Name and Title of the loaded track. Informations are extracted from the tracks tags. - - 2 - 751,20 - 506,28 - - - - - - - Time information Displays the current playback position or remaining time of the loaded track. Depends on your settings in Preferences→Interface→Position display. - - 1 - 11,52 - 506,28 - 6 - - [Channel1],playposition - - - - Time information Displays the current playback position or remaining time of the loaded track. Depends on your settings in Preferences→Interface→Position display. - - 2 - 751,52 - 506,28 - 6 - - [Channel2],playposition - - - - - - - - - - Volume control Adjust the volume of the selected channel. Right-click: Reset to default value - - knob_volume1.png - slider_volume1.png - 550,83 - false - - [Channel1],volume - false - - - - Volume control Adjust the volume of the selected channel. Right-click: Reset to default value - - knob_volume2.png - slider_volume2.png - 664,83 - false - - [Channel2],volume - false - - - - - - Crossfader Fade between the channels and define what you hear through the master output. Right-click: Reset to default value Change the crossfader curve in Preferences→Crossfader - - knob_crossfader.png - slider_crossfader.png - 538,270 - true - - [Master],crossfader - false - - - - - - - - - - Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current position on the waveform. - - 2 - true - - 0 - btn_play1.png - btn_play1.png - - - 1 - btn_play1_over.png - btn_play1_over.png - - 419,89 - - [Channel1],play - true - LeftButton - - - [Channel1],cue_set - true - RightButton - false - - - - Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current position on the waveform. - - 2 - true - - 0 - btn_play2.png - btn_play2.png - - - 1 - btn_play2_over.png - btn_play2_over.png - - 750,89 - - [Channel2],play - true - LeftButton - - - [Channel2],cue_set - true - RightButton - false - - - - - - Cue Left-click (while playing): The track will seek to the cue-point and stop (=CDJ) OR play (=simple). Change the default cue behaviour in Preferences→Interface. Left-click (while stopped): Places a cue-point at the current position on the waveform. Right-click: The track will seek to the cue-point and stop. - - 1 - - 0 - btn_cue1_over.png - btn_cue1.png - - 468,196 - - [Channel1],cue_default - true - LeftButton - - - [Channel1],cue_default - false - LeftButton - - - [Channel1],cue_gotoandstop - true - RightButton - - - [Channel1],cue_gotoandstop - false - RightButton - - - - Cue Left-click (while playing): The track will seek to the cue-point and stop (=CDJ) OR play (=simple). Change the default cue behaviour in Preferences→Interface. Left-click (while stopped): Places a cue-point at the current position on the waveform. Right-click: The track will seek to the cue-point and stop. - - 1 - - 0 - btn_cue2_over.png - btn_cue2.png - - 750,196 - - [Channel2],cue_default - true - LeftButton - - - [Channel2],cue_default - false - LeftButton - - - [Channel2],cue_gotoandstop - true - RightButton - - - [Channel2],cue_gotoandstop - false - RightButton - - - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue1_over.png - btn_hotcue1.png - - - 1 - btn_hotcue1.png - btn_hotcue1_over.png - - 273,197 - - [Channel1],hotcue_1_activate - true - LeftButton - false - - - [Channel1],hotcue_1_activate - false - LeftButton - false - - - [Channel1],hotcue_1_clear - true - RightButton - false - - - [Channel1],hotcue_1_clear - false - RightButton - false - - - [Channel1],hotcue_1_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue2_over.png - btn_hotcue2.png - - - 1 - btn_hotcue2.png - btn_hotcue2_over.png - - 298,197 - - [Channel1],hotcue_2_activate - true - LeftButton - false - - - [Channel1],hotcue_2_activate - false - LeftButton - false - - - [Channel1],hotcue_2_clear - true - RightButton - false - - - [Channel1],hotcue_2_clear - false - RightButton - false - - - [Channel1],hotcue_2_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue3_over.png - btn_hotcue3.png - - - 1 - btn_hotcue3.png - btn_hotcue3_over.png - - 273,220 - - [Channel1],hotcue_3_activate - true - LeftButton - false - - - [Channel1],hotcue_3_activate - false - LeftButton - false - - - [Channel1],hotcue_3_clear - true - RightButton - false - - - [Channel1],hotcue_3_clear - false - RightButton - false - - - [Channel1],hotcue_3_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue4_over.png - btn_hotcue4.png - - - 1 - btn_hotcue4.png - btn_hotcue4_over.png - - 298,220 - - [Channel1],hotcue_4_activate - true - LeftButton - false - - - [Channel1],hotcue_4_activate - false - LeftButton - false - - - [Channel1],hotcue_4_clear - true - RightButton - false - - - [Channel1],hotcue_4_clear - false - RightButton - false - - - [Channel1],hotcue_4_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue1_over.png - btn_hotcue1.png - - - 1 - btn_hotcue1.png - btn_hotcue1_over.png - - 947,197 - - [Channel2],hotcue_1_activate - true - LeftButton - false - - - [Channel2],hotcue_1_activate - false - LeftButton - false - - - [Channel2],hotcue_1_clear - true - RightButton - false - - - [Channel2],hotcue_1_clear - false - RightButton - false - - - [Channel2],hotcue_1_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue2_over.png - btn_hotcue2.png - - - 1 - btn_hotcue2.png - btn_hotcue2_over.png - - 972,197 - - [Channel2],hotcue_2_activate - true - LeftButton - false - - - [Channel2],hotcue_2_activate - false - LeftButton - false - - - [Channel2],hotcue_2_clear - true - RightButton - false - - - [Channel2],hotcue_2_clear - false - RightButton - false - - - [Channel2],hotcue_2_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue3_over.png - btn_hotcue3.png - - - 1 - btn_hotcue3.png - btn_hotcue3_over.png - - 947,220 - - [Channel2],hotcue_3_activate - true - LeftButton - false - - - [Channel2],hotcue_3_activate - false - LeftButton - false - - - [Channel2],hotcue_3_clear - true - RightButton - false - - - [Channel2],hotcue_3_clear - false - RightButton - false - - - [Channel2],hotcue_3_enabled - false - - - - Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). - - 2 - true - true - - 0 - btn_hotcue4_over.png - btn_hotcue4.png - - - 1 - btn_hotcue4.png - btn_hotcue4_over.png - - 972,220 - - [Channel2],hotcue_4_activate - true - LeftButton - false - - - [Channel2],hotcue_4_activate - false - LeftButton - false - - - [Channel2],hotcue_4_clear - true - RightButton - false - - - [Channel2],hotcue_4_clear - false - RightButton - false - - - [Channel2],hotcue_4_enabled - false - - - - - - - - - - Fast Forward Left-click: Fast forward through the track. Right-click: Jumps to the end of the track. - - 1 - - 0 - btn_forward1_over.png - btn_forward1.png - - 370,196 - - [Channel1],fwd - true - LeftButton - - - [Channel1],fwd - false - LeftButton - - - [Channel1],end - true - RightButton - - - [Channel1],end - false - RightButton - - - - Fast Rewind Left-click: Fast rewind through the track. Right-click: Jumps to the beginning of the track. - - 1 - - 0 - btn_rewind1_over.png - btn_rewind1.png - - 321,196 - - [Channel1],back - true - LeftButton - - - [Channel1],back - false - LeftButton - - - [Channel1],start - true - RightButton - - - [Channel1],start - false - RightButton - - - - Fast Forward Left-click: Fast forward through the track. Right-click: Jumps to the end of the track. - - 1 - - 0 - btn_forward2_over.png - btn_forward2.png - - 897,196 - - [Channel2],fwd - true - LeftButton - - - [Channel2],fwd - false - LeftButton - - - [Channel2],end - true - RightButton - - - [Channel2],end - false - RightButton - - - - Fast Rewind Left-click: Fast rewind through the track. Right-click: Jumps to the beginning of the track. - - 1 - - 0 - btn_rewind2_over.png - btn_rewind2.png - - 848,196 - - [Channel2],back - true - LeftButton - - - [Channel2],back - false - LeftButton - - - [Channel2],start - true - RightButton - - - [Channel2],start - false - RightButton - - - - - - - - - - - - Headphone Sends the selected channel's audio to the Headphones output audio device selected in Preferences→Sound Hardware. - - 2 - - 0 - btn_pfl1.png - btn_pfl1.png - - - 1 - btn_pfl1_over.png - btn_pfl1_over.png - - 419,196 - - [Channel1],pfl - - - - Headphone Sends the selected channel's audio to the Headphones output audio device selected in Preferences→Sound Hardware. - - 2 - - 0 - btn_pfl2.png - btn_pfl2.png - - - 1 - btn_pfl2_over.png - btn_pfl2_over.png - - 800,196 - - [Channel2],pfl - - - - - - End of track mode Determines Mixxx's behaviour when it reaches the end of the track. - - 3 - - 0 - btn_trackmode_stop.png - btn_trackmode_stop.png - - - 1 - btn_trackmode_next.png - btn_trackmode_next.png - - - 2 - btn_trackmode_loop.png - btn_trackmode_loop.png - - 224,197 - - [Channel1],TrackEndMode - - - - End of track mode Determines Mixxx's behaviour when it reaches the end of the track. - - 3 - - 0 - btn_trackmode_stop.png - btn_trackmode_stop.png - - - 1 - btn_trackmode_next.png - btn_trackmode_next.png - - - 2 - btn_trackmode_loop.png - btn_trackmode_loop.png - - 996,197 - - [Channel2],TrackEndMode - - - - - - - - - - - Master volume Adjusts the Master output volume. Right-click: Reset to default value - - 40 - knob_rotary_s%1.png - 1210,270 - - [Master],volume - - - - Balance Adjusts the left/right channel balance on the Master output. Right-click: Reset to default value - - 39 - knob_rotary_s%1.png - 1125,270 - - [Master],balance - - - - - - - Headphone volume Adjusts the headphone output volume. Right-click: Reset to default value - - 40 - knob_rotary_s%1.png - 955,270 - - [Master],headVolume - - - - Headphone mix Controls what you hear on the headphone output. Right-click: Reset to default value - - 40 - knob_rotary_s%1.png - 1040,270 - - [Master],headMix - - - - - - diff --git a/RHMixxx1280x800/radio_helsinki_bar_black-white.png b/RHMixxx1280x800/radio_helsinki_bar_black-white.png deleted file mode 100644 index 5e2ba80..0000000 Binary files a/RHMixxx1280x800/radio_helsinki_bar_black-white.png and /dev/null differ diff --git a/RHMixxx1280x800/skin.xml b/RHMixxx1280x800/skin.xml deleted file mode 100755 index 9e39586..0000000 --- a/RHMixxx1280x800/skin.xml +++ /dev/null @@ -1,2777 +0,0 @@ - - - - - - - - - RH 1280x800 2-deck - Radio Helsinki - 1.11.0.1 - A 2-deck split-waveform for radio broadcasting, no DJ tools, but additional samplers - en - Creative Commons Attribution, Share-Alike 3.0 Unported - - 2 - 12 - 0 - 0 - 10 - - - - - - - - background1280x1024.png - #e9e9e9 - - - - -15,250 -1240,320 -horizontal - - - -#FFFFFF -#333333 -#ebebeb -#cfdee7 - - - - - - - - - - - - 25,48 - - - - - track_title - - title - 1 - 0,1 - 460,30 - - - - - track_artist - - artist - 1 - 3,40 - 245,23 - - - - - - - 1 - 260,38 - 150,32 - 6 - - [Channel1],playposition - - - - - - - - - - - - 785,48 - - - - - track_title - - title - 2 - 0,1 - 460,30 - - - - - track_artist - - artist - 2 - 3,40 - 245,23 - - - - - - - 2 - 260,38 - 150,32 - 6 - - [Channel2],playposition - - - - - - - - - - - - - - - - - - 20,129 - - - - waveform_display - - 1 - 10,1 - 310,50 - #ffffff - - #CC0000 - - #ffff00 - #000000 - - - - - - waveform_overview - 1 - 10,60 - 254,40 - #061319 - - #CC0000 - #000000 - #000000 - - [Channel1],playposition - false - - - - - - Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current point in the track. - - 2 - true - - 0 - btn_play.png - btn_play.png - - - 1 - btn_play_over.png - btn_play_over.png - - 330,0 - - [Channel1],play - true - LeftButton - - - [Channel1],cue_set - true - RightButton - false - - - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 274,60 - - [Channel1],start_stop - true - LeftButton - - - [Channel1],start_stop - true - RightButton - - - - - - - - - - 780,129 - - - - waveform_display - - 2 - 10,1 - 310,50 - #ffffff - - #0000CC - - #ffff00 - #000000 - - - - - - waveform_overview - 2 - 10,60 - 254,40 - #061319 - - #0000CC - #000000 - #000000 - - [Channel2],playposition - false - - - - - - Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current point in the track. - - 2 - true - - 0 - btn_play.png - btn_play.png - - - 1 - btn_play_over.png - btn_play_over.png - - 330,0 - - [Channel2],play - true - LeftButton - - - [Channel2],cue_set - true - RightButton - false - - - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 274,60 - - [Channel2],start_stop - true - LeftButton - - - [Channel2],start_stop - true - RightButton - - - - - - - - - - - - 1197,623 - - - - - Master channel volume meter Shows the current master volume for the left channel. - - Volume_long_over.png - Volume_long.png - 0,40 - 10 - 50 - 5 - 1 - - [Master],VuMeterL - - - - Master channel volume meter Shows the current master volume for the right channel. - - Volume_long_over.png - Volume_long.png - 30,40 - 10 - 50 - 5 - 1 - - [Master],VuMeterR - - - - Master Peak Indicator Indicates when the signal on the Master output is clipping, (too loud for the hardware and is being distorted). - - clipping_long_over.png - clipping_long.png - 0,0 - - [Master],PeakIndicator - - - - Master Peak Indicator Indicates when the signal on the Master output is clipping, (too loud for the hardware and is being distorted). - - clipping_long_over.png - clipping_long.png - 30,0 - - [Master],PeakIndicatorR - - - - - - - - - - 455,91 - - - - Channel volume meter Shows the left channel of player 1 volume - - Volume_long_over_player.png - Volume_long_player.png - 0,30 - false - 5 - 500 - 50 - 1 - - [Channel1],VuMeterL - - - - - Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). - - clipping_long_over_player.png - clipping_long_player.png - 0,0 - - [Channel1],PeakIndicator - - - - - Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). - - clipping_long_over_player.png - clipping_long_player.png - 20,0 - - [Channel1],PeakIndicator - - - - - - Channel volume meter Shows the right channel (1) volume - - Volume_long_over_player.png - Volume_long_player.png - 20,30 - false - 5 - 500 - 50 - 1 - - [Channel1],VuMeterR - - - - - - - - - - 1215,91 - - - - Channel volume meter Shows the left channel of player 2 volume - - Volume_long_over_player.png - Volume_long_player.png - 0,30 - false - 5 - 500 - 50 - 1 - - [Channel2],VuMeterL - - - - - Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). - - clipping_long_over_player.png - clipping_long_player.png - 0,0 - - [Channel2],PeakIndicator - - - - - Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). - - clipping_long_over_player.png - clipping_long_player.png - 20,0 - - [Channel2],PeakIndicator - - - - - - Channel volume meter Shows the right channel (1) volume - - Volume_long_over_player.png - Volume_long_player.png - 20,30 - false - 5 - 500 - 50 - 1 - - [Channel2],VuMeterR - - - - - - - - - - ********************************************** - Visual - Clock - ********************************************** - - - - - - - 38,635 - - - - - - - - - - 0,0 - 276,103 - - - - - - - - - - artist - - artist - [Sampler1] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler1] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler1] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler1],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler1],play - true - LeftButton - - - [Sampler1],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler1],start_stop - true - LeftButton - - - [Sampler1],start_stop - true - RightButton - - - - - - - - - - 287,0 - 276,103 - - - - - - - - - - artist - - artist - [Sampler2] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler2] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler2] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler2],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler2],play - true - LeftButton - - - [Sampler2],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler2],start_stop - true - LeftButton - - - [Sampler2],start_stop - true - RightButton - - - - - - - - - 574,0 - 276,103 - - - - - - - - - - artist - - artist - [Sampler3] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler3] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler3] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler3],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler3],play - true - LeftButton - - - [Sampler3],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler3],start_stop - true - LeftButton - - - [Sampler3],start_stop - true - RightButton - - - - - - - - - - 861,0 - 276,103 - - - - - - - - - - artist - - artist - [Sampler4] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler4] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler4] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler4],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler4],play - true - LeftButton - - - [Sampler4],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler4],start_stop - true - LeftButton - - - [Sampler4],start_stop - true - RightButton - - - - - - - - - 0,115 - 276,103 - - - - - - - - - - artist - - artist - [Sampler5] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler5] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler5] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler5],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler5],play - true - LeftButton - - - [Sampler5],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler5],start_stop - true - LeftButton - - - [Sampler5],start_stop - true - RightButton - - - - - - - - - 287,115 - 276,103 - - - - - - - - - - artist - - artist - [Sampler6] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler6] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler6] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler6],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler6],play - true - LeftButton - - - [Sampler6],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler6],start_stop - true - LeftButton - - - [Sampler6],start_stop - true - RightButton - - - - - - - - 574,115 - 276,103 - - - - - - - - - - artist - - artist - [Sampler7] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler7] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler7] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler7],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler7],play - true - LeftButton - - - [Sampler7],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler7],start_stop - true - LeftButton - - - [Sampler7],start_stop - true - RightButton - - - - - - - - 861,115 - 276,103 - - - - - - - - - - artist - - artist - [Sampler8] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler8] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler8] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler8],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler8],play - true - LeftButton - - - [Sampler8],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler8],start_stop - true - LeftButton - - - [Sampler8],start_stop - true - RightButton - - - - - - - - 0,230 - 276,103 - - - - - - - - - - artist - - artist - [Sampler9] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler9] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler9] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler9],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler9],play - true - LeftButton - - - [Sampler9],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler9],start_stop - true - LeftButton - - - [Sampler9],start_stop - true - RightButton - - - - - - - - 287,230 - 276,103 - - - - - - - - - - artist - - artist - [Sampler10] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler10] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler10] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler10],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler10],play - true - LeftButton - - - [Sampler10],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler10],start_stop - true - LeftButton - - - [Sampler10],start_stop - true - RightButton - - - - - - - - 574,230 - 276,103 - - - - - - - - - - artist - - artist - [Sampler11] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler11] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler11] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler11],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler11],play - true - LeftButton - - - [Sampler11],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler11],start_stop - true - LeftButton - - - [Sampler11],start_stop - true - RightButton - - - - - - - - 861,230 - 276,103 - - - - - - - - - - artist - - artist - [Sampler12] - 4,4 - 258f,20 - - - - Alternative "TITLE ONLY" display - - track_title - - title - [Sampler12] - 4,25 - 258f,20 - - - - - - - - waveform_overview - - [Sampler12] - 6,55 - 150,42 - - - - - ##CC0000 - #000000 - - bottom - #00FF00 - #FFFFFF - %1 - - - [Sampler12],playposition - false - - - - - - - play_start - - - 2 - true - - 0 - btn_play_over_sampler.png - btn_play_sampler.png - - - 1 - btn_play_sampler.png - btn_play_over_sampler.png - - 212,55 - - [Sampler12],play - true - LeftButton - - - [Sampler12],start - true - RightButton - false - - - - - - - cue_default_cue_gotoandstop - - 1 - - 0 - btn_stop_red.png - btn_stop.png - - 162,55 - - [Sampler12],start_stop - true - LeftButton - - - [Sampler12],start_stop - true - RightButton - - - - - - - - - diff --git a/RHMixxx1280x800/style/style_bg_sampler.png b/RHMixxx1280x800/style/style_bg_sampler.png deleted file mode 100644 index 0a0a8c6..0000000 Binary files a/RHMixxx1280x800/style/style_bg_sampler.png and /dev/null differ diff --git a/RHMixxx1280x800/style/style_sampler.png b/RHMixxx1280x800/style/style_sampler.png deleted file mode 100644 index e5a42f1..0000000 Binary files a/RHMixxx1280x800/style/style_sampler.png and /dev/null differ diff --git a/RHMixxx1280x800/style/style_sampler.xcf b/RHMixxx1280x800/style/style_sampler.xcf deleted file mode 100644 index f977142..0000000 Binary files a/RHMixxx1280x800/style/style_sampler.xcf and /dev/null differ diff --git a/RHMixxx1280x800/unused.zip b/RHMixxx1280x800/unused.zip deleted file mode 100644 index afed3b5..0000000 Binary files a/RHMixxx1280x800/unused.zip and /dev/null differ diff --git a/midi/RHMixxx-scripts.js b/midi/RHMixxx-scripts.js new file mode 100644 index 0000000..0d7114f --- /dev/null +++ b/midi/RHMixxx-scripts.js @@ -0,0 +1,146 @@ +//*********************************************************** +//** Radio Helsinki RHMixxx control script ** +//** CopyLeft 2014, Josef Schauer / Christian Pointner ** +//*********************************************************** + +// *********** Preamble *********** + +function RHMixxx() {} + +RHMixxx.groupNotes = { + "[Channel1]": { play: 0x01, stop: 0x00 }, + "[Channel2]": { play: 0x03, stop: 0x02 }, + "[Sampler1]": 0x04, + "[Sampler2]": 0x05, + "[Sampler3]": 0x06, + "[Sampler4]": 0x07, + "[Sampler5]": 0x08, + "[Sampler6]": 0x09, + "[Sampler7]": 0x0A, + "[Sampler8]": 0x0B, + "[Sampler9]": 0x0C, + "[Sampler10]": 0x0D, + "[Sampler11]": 0x0E, + "[Sampler12]": 0x0F +} + +// *********** Init/De-Init *********** + +RHMixxx.init = function (id, debug) { + var num_decks = engine.getValue("[Master]", "num_decks"); + var num_sampler = engine.getValue("[Master]", "num_samplers"); + + if(debug) + print("RHMixxx initializing for controller '" + id + + "' (" + num_decks + " Decks, " + num_sampler + " Sampler)"); + + var i; + for (i = 1; i <= num_decks; i++) + RHMixxx.initDeck(i, debug); + for (i = 1; i <= num_sampler; i++) + RHMixxx.initSampler(i, debug); + + midi.sendShortMsg(0x80, 0x1F, 0x00); +} + +RHMixxx.shutdown = function () { +} + + +RHMixxx.initDeck = function (c, debug) { + var group = "[Channel" + c + "]"; + + engine.setValue(group, "volume", 0); + engine.connectControl(group, "play", "RHMixxx.DeckPlaying"); + engine.trigger(group, "play"); + engine.connectControl(group, "track_samples", "RHMixxx.DeckSamples"); + engine.trigger(group, "track_samples"); + + if(debug) + print("RHMixxx: " + group + " initilized!"); +} + +RHMixxx.initSampler = function (s, debug) { + var group = "[Sampler" + s + "]"; + + engine.setValue(group, "volume", 1.0); + engine.connectControl(group, "play", "RHMixxx.SamplerPlaying"); + engine.trigger(group, "play"); + engine.connectControl(group, "track_samples", "RHMixxx.SamplerSamples"); + engine.trigger(group, "track_samples"); + + if(debug) + print("RHMixxx: " + group + " initilized!"); +} + +// *********** Actions *********** + +RHMixxx.StopDeck = function (channel, control, value, status, group) { + engine.setValue(group, "start_stop", value); +} + +RHMixxx.ToggleSampler = function (channel, control, value, status, group) { + print("RHMixxx: ToggleSampler called for " + group); + + if(!engine.getValue(group, "play")) { + if(value) + engine.setValue(group, "play", 1); + } + else { + engine.setValue(group, "start_stop", value); + } +} + + +// *********** Status updates *********** + +RHMixxx.DeckPlaying = function (value, group, control) { + if (!value) { + if(engine.getValue(group, "track_samples") != 0) { + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].stop, 0x00); + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].play, 0x00); + } else { + midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].stop, 0x00); + midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].play, 0x00); + } + } else { + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].stop, 0x00); + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].play, 0x10); + } +} + +RHMixxx.DeckSamples = function (value, group, control) { + if(!value) { + midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].stop, 0x00); + midi.sendShortMsg(0x80, RHMixxx.groupNotes[group].play, 0x00); + } else { + if(engine.getValue(group, "play") == 0) { + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].stop, 0x00); + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group].play, 0x00); + } + } +} + +RHMixxx.SamplerPlaying = function (value, group, control) { + if (!value) { + if(engine.getValue(group, "track_samples") != 0) { + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group], 0x00); + engine.setValue(group, "start_stop", 1); + engine.setValue(group, "start_stop", 0); + } else { + midi.sendShortMsg(0x80, RHMixxx.groupNotes[group], 0x00); + } + } + else { + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group], 0x10); + } +} + +RHMixxx.SamplerSamples = function (value, group, control) { + if(!value) { + midi.sendShortMsg(0x80, RHMixxx.groupNotes[group], 0x00); + } else { + if(engine.getValue(group, "play") == 0) + midi.sendShortMsg(0x90, RHMixxx.groupNotes[group], 0x00); + } +} diff --git a/midi/RHMixxx.midi.xml b/midi/RHMixxx.midi.xml new file mode 100644 index 0000000..c5cbc88 --- /dev/null +++ b/midi/RHMixxx.midi.xml @@ -0,0 +1,171 @@ + + + + + + + + + 0x90 + 0x00 + [Channel1] + RHMixxx.StopDeck + + + + + + + 0x90 + 0x01 + [Channel1] + play + + + + + + 0x90 + 0x02 + [Channel2] + RHMixxx.StopDeck + + + + + + + 0x90 + 0x03 + [Channel2] + play + + + + + + + + 0x90 + 0x04 + [Sampler1] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x05 + [Sampler2] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x06 + [Sampler3] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x07 + [Sampler4] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x08 + [Sampler5] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x09 + [Sampler6] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x0a + [Sampler7] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x0b + [Sampler8] + RHMixxx.ToggleSampler + + mixxx + + + + + 0x90 + 0x0c + [Sampler9] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x0d + [Sampler10] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x0e + [Sampler11] + RHMixxx.ToggleSampler + + + + + + + 0x90 + 0x0f + [Sampler12] + RHMixxx.ToggleSampler + + + + + + + + + diff --git a/midi/mixxx_commands.pdf b/midi/mixxx_commands.pdf new file mode 100644 index 0000000..c6aad6a Binary files /dev/null and b/midi/mixxx_commands.pdf differ diff --git a/midi/rhmixxx_midi_controller_MIDI_1-scripts.js b/midi/rhmixxx_midi_controller_MIDI_1-scripts.js new file mode 100644 index 0000000..d5dcada --- /dev/null +++ b/midi/rhmixxx_midi_controller_MIDI_1-scripts.js @@ -0,0 +1,691 @@ +//////////////////////////////////////// +// Numark V7 control script // +// CopyLeft 2012, Mike Bucceroni // +// ^that means do what ever you want^ // +// made for Mixxx 1.11.x // +//////////////////////////////////////// + +function RHMixxx() {} + +///////////////////////////////// +// // +// Customization Variables // +// // +///////////////////////////////// + + +////////////////////////// +// // +// Global Variables // +// // +////////////////////////// + +//RHMixxx.Deck = true; // true = Deck A, false = Deck B + + + +////////////////////////// +// // +// Initialization // +// & // +// Shutdown // +// // +////////////////////////// + +RHMixxx.init = function () { + //flash LED's + //RHMixxx.FlashAllLED(); + //Connect Control + engine.connectControl("[Channel1]", "play", "RHMixxx.Channel1_playing"); + engine.connectControl("[Channel2]", "play", "RHMixxx.Channel2_playing"); + engine.connectControl("[Sampler1]", "play", "RHMixxx.Sampler1_playing"); + engine.connectControl("[Sampler2]", "play", "RHMixxx.Sampler2_playing"); + engine.connectControl("[Sampler3]", "play", "RHMixxx.Sampler3_playing"); + engine.connectControl("[Sampler4]", "play", "RHMixxx.Sampler4_playing"); + engine.connectControl("[Sampler5]", "play", "RHMixxx.Sampler5_playing"); + engine.connectControl("[Sampler6]", "play", "RHMixxx.Sampler6_playing"); + engine.connectControl("[Sampler7]", "play", "RHMixxx.Sampler7_playing"); + engine.connectControl("[Sampler8]", "play", "RHMixxx.Sampler8_playing"); + engine.connectControl("[Sampler9]", "play", "RHMixxx.Sampler9_playing"); + engine.connectControl("[Sampler10]", "play", "RHMixxx.Sampler10_playing"); + engine.connectControl("[Sampler11]", "play", "RHMixxx.Sampler11_playing"); + engine.connectControl("[Sampler12]", "play", "RHMixxx.Sampler12_playing"); + + //engine.connectControl("[Channel1]", "stop", "RHMixxx.Channel1_playing"); + //engine.connectControl("[Channel2]", "stop", "RHMixxx.Channel2_playing"); + + engine.connectControl("[Channel1]", "play_indicator", "RHMixxx.Channel1_playing"); + + + //Init Sampler Repeat mode + +} + +RHMixxx.shutdown = function () { + RHMixxx.OffAllLED(); +} + + +/////////////////////////// +// // +// Stop // +// Handling // +// // +/////////////////////////// + + +RHMixxx.StopPlayer1 = function (channel, control, value, status, group) { + engine.setValue("[Channel1]","cue_default",1); + + } + +RHMixxx.StopPlayer2 = function (channel, control, value, status, group) { + engine.setValue("[Channel2]","cue_default",1); + //engine.setValue("[Channel2]","cue_default",0); + + } + + +// Samplers + + +RHMixxx.Sampler1play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler1]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler1]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler1]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler2play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler2]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler2]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler2]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler3play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler3]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler3]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler3]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler4play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler4]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler4]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler4]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler5play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler5]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler5]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler5]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler6play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler6]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler6]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler6]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler7play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler7]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler7]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler7]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler8play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler8]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler8]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler8]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler9play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler9]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler9]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler9]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler10play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler10]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler10]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler10]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler11play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler11]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler11]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler11]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + +RHMixxx.Sampler12play = function (channel, control, value, status, group) { + +{ + var currentlyPlaying = engine.getValue("[Sampler12]","play"); + if (currentlyPlaying == 0){ + engine.setValue("[Sampler12]","play",1); + //midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + engine.setValue("[Sampler12]","cue_default",1); + //midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +} + + + + +/////////////////////////// +// // +// Functions // +// setting leds // +// // +/////////////////////////// + +RHMixxx.Channel1_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Channel1]","play"); + if (currentlyPlaying == 0){ + //engine.setValue("[Channel1]","play",1); + midi.sendShortMsg(0x80,0x01,0x00); + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Channel1]","play",0); + midi.sendShortMsg(0x90,0x01,0x00); + } + + } +} +engine.trigger("[Channel1]","play"); +} + +RHMixxx.Channel2_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Channel2]","play"); + if (currentlyPlaying == 0){ + //engine.setValue("[Channel2]","play",1); + midi.sendShortMsg(0x80,0x03,0x00); + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Channel2]","play",0); + midi.sendShortMsg(0x90,0x03,0x00); + } + + } +} +engine.trigger("[Channel2]","play"); +} + +RHMixxx.Sampler1_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler1]","play"); + var position = engine.getValue("[Sampler1]","playposition"); + if (currentlyPlaying == 0){ + midi.sendShortMsg(0x80,0x04,0x00); + //engine.setValue("[Sampler1]","play",1); + //engine.setValue([Sampler1], "cue_gotoandstop", 1); + if (position == 1){ + engine.setValue("[Sampler1]","playposition", 0); + } + + + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler1]","play",0); + midi.sendShortMsg(0x90,0x04,0x00); + } + + } +} +engine.trigger("[Sampler1]","play"); +} + +RHMixxx.Sampler2_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler2]","play"); + var position = engine.getValue("[Sampler2]","playposition"); + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler2]","play",1); + midi.sendShortMsg(0x80,0x05,0x00); + + if (position == 1){ + engine.setValue("[Sampler2]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler2]","play",0); + midi.sendShortMsg(0x90,0x05,0x00); + } + + } +} +engine.trigger("[Sampler2]","play"); +} + +RHMixxx.Sampler3_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler3]","play"); + var position = engine.getValue("[Sampler3]","playposition"); + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler3]","play",1); + midi.sendShortMsg(0x80,0x06,0x00); + + if (position == 1){ + engine.setValue("[Sampler3]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler3]","play",0); + midi.sendShortMsg(0x90,0x06,0x00); + } + + } +} +engine.trigger("[Sampler3]","play"); +} + +RHMixxx.Sampler4_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler4]","play"); + var position = engine.getValue("[Sampler4]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler4]","play",1); + midi.sendShortMsg(0x80,0x07,0x00); + + if (position == 1){ + engine.setValue("[Sampler4]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler4]","play",0); + midi.sendShortMsg(0x90,0x07,0x00); + } + + } +} +engine.trigger("[Sampler4]","play"); +} + +RHMixxx.Sampler5_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler5]","play"); + var position = engine.getValue("[Sampler5]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler5]","play",1); + midi.sendShortMsg(0x80,0x08,0x00); + + if (position == 1){ + engine.setValue("[Sampler5]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler5]","play",0); + midi.sendShortMsg(0x90,0x08,0x00); + } + + } +} +engine.trigger("[Sampler5]","play"); +} + +RHMixxx.Sampler6_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler6]","play"); + var position = engine.getValue("[Sampler6]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler6]","play",1); + midi.sendShortMsg(0x80,0x09,0x00); + + if (position == 1){ + engine.setValue("[Sampler6]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler6]","play",0); + midi.sendShortMsg(0x90,0x09,0x00); + } + + } +} +engine.trigger("[Sampler6]","play"); +} + +RHMixxx.Sampler7_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler7]","play"); + var position = engine.getValue("[Sampler7]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler7]","play",1); + midi.sendShortMsg(0x80,0x0a,0x00); + + if (position == 1){ + engine.setValue("[Sampler7]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler7]","play",0); + midi.sendShortMsg(0x90,0x0a,0x00); + } + + } +} +engine.trigger("[Sampler7]","play"); +} + +RHMixxx.Sampler8_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler8]","play"); + var position = engine.getValue("[Sampler8]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler8]","play",1); + midi.sendShortMsg(0x80,0x0b,0x00); + + if (position == 1){ + engine.setValue("[Sampler8]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler8]","play",0); + midi.sendShortMsg(0x90,0x0b,0x00); + } + + } +} +engine.trigger("[Sampler8]","play"); +} + +RHMixxx.Sampler9_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler9]","play"); + var position = engine.getValue("[Sampler9]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler9]","play",1); + midi.sendShortMsg(0x80,0x0c,0x00); + + if (position == 1){ + engine.setValue("[Sampler9]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler9]","play",0); + midi.sendShortMsg(0x90,0x0c,0x00); + } + + } +} +engine.trigger("[Sampler9]","play"); +} + +RHMixxx.Sampler10_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler10]","play"); + var position = engine.getValue("[Sampler10]","playposition"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler10]","play",1); + midi.sendShortMsg(0x80,0x0d,0x00); + + if (position == 1){ + engine.setValue("[Sampler10]","playposition", 0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler10]","play",0); + midi.sendShortMsg(0x90,0x0d,0x00); + } + + } +} +engine.trigger("[Sampler10]","play"); +} + +RHMixxx.Sampler11_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler11]","play"); + var position = engine.getValue("[Sampler11]","playposition"); + var duration = engine.getValue("[Sampler11]","duration"); + + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler11]","play",1); + midi.sendShortMsg(0x80,0x0e,0x00); + + if(position == 1){ + engine.setValue("[Sampler11]","playposition",0); + } + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler11]","play",0); + midi.sendShortMsg(0x90,0x0e,0x00); + } + } +} +engine.trigger("[Sampler11]","play"); +} + + + + +RHMixxx.Sampler12_playing = function (channel, control, value, status, group) { + + { + var currentlyPlaying = engine.getValue("[Sampler12]","play"); + var position = engine.getValue("[Sampler12]","playposition"); + if (currentlyPlaying == 0){ + //engine.setValue("[Sampler12]","play",1); + midi.sendShortMsg(0x80,0x0f,0x00); + } + else { + if (currentlyPlaying == 1){ + //engine.setValue("[Sampler12]","cue_default",1); + midi.sendShortMsg(0x90,0x0f,0x00); + + if (position == 1){ + engine.setValue("[Sampler12]","playposition", 0); + } + } + + } +} +engine.trigger("[Sampler12]","play"); +} + + + +RHMixxx.Channel1_paused = function (channel, control, value, status, group) { + + { + var currentlyPaused = engine.getValue("[Channel1]","play_indicator"); + if (currentlyPaused == 0){ + //engine.setValue("[Channel1]","play",1); + midi.sendShortMsg(0x80,0x08,0x00); + } + else { + if (currentlyPaused == 1){ + //engine.setValue("[Channel1]","play",0); + midi.sendShortMsg(0x90,0x08,0x00); + } + + } +} +engine.trigger("[Channel1]","play_indicator"); +} + +RHMixxx.OffAllLED = function () { + midi.sendShortMsg(0x80,0x09,0x00); +} + + + + +/////////////////////////// +// // +// The END // +// :P // +// // +/////////////////////////// + diff --git a/midi/rhmixxx_midi_controller_MIDI_1.midi.xml b/midi/rhmixxx_midi_controller_MIDI_1.midi.xml new file mode 100644 index 0000000..c0fd281 --- /dev/null +++ b/midi/rhmixxx_midi_controller_MIDI_1.midi.xml @@ -0,0 +1,171 @@ + + + + + + + + + 0x90 + 0x00 + [Channel1] + RHMixxx.StopPlayer1 + + + + + + + 0x90 + 0x01 + [Channel1] + play + + + + + + 0x90 + 0x02 + [Channel2] + RHMixxx.StopPlayer2 + + + + + + + 0x90 + 0x03 + [Channel2] + play + + + + + + + + 0x90 + 0x4 + [Sampler1] + RHMixxx.Sampler1play + + + + + + + 0x90 + 0x5 + [Sampler2] + RHMixxx.Sampler2play + + + + + + + 0x90 + 0x6 + [Sampler3] + RHMixxx.Sampler3play + + + + + + + 0x90 + 0x7 + [Sampler4] + RHMixxx.Sampler4play + + + + + + + 0x90 + 0x8 + [Sampler5] + RHMixxx.Sampler5play + + + + + + + 0x90 + 0x9 + [Sampler6] + RHMixxx.Sampler6play + + + + + + + 0x90 + 0xa + [Sampler7] + RHMixxx.Sampler7play + + + + + + + 0x90 + 0xb + [Sampler8] + RHMixxx.Sampler8play + + mixxx + + + + + 0x90 + 0xc + [Sampler9] + RHMixxx.Sampler9play + + + + + + + 0x90 + 0xd + [Sampler10] + RHMixxx.Sampler10play + + + + + + + 0x90 + 0xe + [Sampler11] + RHMixxx.Sampler11play + + + + + + + 0x90 + 0xf + [Sampler12] + RHMixxx.Sampler12play + + + + + + + + + diff --git a/skins/RHMixxx1280x800/.gitignore b/skins/RHMixxx1280x800/.gitignore new file mode 100644 index 0000000..22c592e --- /dev/null +++ b/skins/RHMixxx1280x800/.gitignore @@ -0,0 +1,2 @@ +.sublime-project +.sublime-project.sublime-workspace \ No newline at end of file diff --git a/skins/RHMixxx1280x800/Bildschirmfoto - 17.03.2014 - 22:04:36.png b/skins/RHMixxx1280x800/Bildschirmfoto - 17.03.2014 - 22:04:36.png new file mode 100644 index 0000000..7f6082f Binary files /dev/null and b/skins/RHMixxx1280x800/Bildschirmfoto - 17.03.2014 - 22:04:36.png differ diff --git a/skins/RHMixxx1280x800/ESX_MidiTAB.pdf b/skins/RHMixxx1280x800/ESX_MidiTAB.pdf new file mode 100644 index 0000000..59c1b70 Binary files /dev/null and b/skins/RHMixxx1280x800/ESX_MidiTAB.pdf differ diff --git a/skins/RHMixxx1280x800/MixxController.js b/skins/RHMixxx1280x800/MixxController.js new file mode 100644 index 0000000..0a26df2 --- /dev/null +++ b/skins/RHMixxx1280x800/MixxController.js @@ -0,0 +1,363 @@ +function MixxxController(id) { + this.midiMappings = new Object(); + this.namedMappings = new Object(); + this.controls = new Object(); + this.id = id; + + /* + * Convenience method that returns a Mixxx value for the given control + */ + this.getMixxxValue = function(control) { + return engine.getValue(control["group"]["name"], control["name"]); + } + + /* + * Sets a Mixxx value for the given control. If a coversion has been + * registered, it is taken into account. This method also takes care + * of softTakeover, if enabled. + */ + this.setMixxxValue = function(control, value) { + var conversion = control["conversion"]; + if (conversion) { + if (conversion["name"] != "none") { + value = script[conversion["name"]](value, conversion["min"], conversion["max"], conversion["mid"]); + } + } + else { + value = script["absoluteNonLin"](value, 0, 1, 4); + } + if (control["softTakeover"] && (Math.abs(this.getMixxxValue(control) - value) < 0.1)) + { + control["softTakeover"] = false; + } + else if (!control["softTakeover"]) { + engine.setValue(control["group"]["name"], control["name"], value); + control["value"] = value; + } + } + + /* + * Convenience method that returns a control based on its midi number. + */ + this.getByMidiNo = function (midiNo) + { + return this.midiMappings[midiNo]; + } + + /* + * Convenience method that returns a control based on its group and control. + */ + this.getByNames = function(group, control) + { + return this.namedMappings[group+control]; + } + + /* + * Creates a multi button that supports klicking and turning. + * Parameters are: + * # Mixxx value that is set if button is klicked (may be empty if button cannot be pressed) + * # Midi number + * # Mixxx value that is set if button is turned left + * # Mixxx value that is set if button is turned right + */ + this.createMultiButton = function(name, id, left, right) + { + var button = this.createControl(name, id); + button.setConversion("none"); + button["isMultiButton"] = true; + button["left"] = left; + button["right"] = right; + return button; + } + + /* + * Creates a button that executed a Mixxx function without having a concrete + * state (e.g. the beatsync button). + * Parameters are: + * # Mixxx value that is set if button is klicked + * # Midi number + */ + this.createButton = function(name, id) + { + var button = this.createControl(name, id); + button.setConversion("none"); + button["isButton"] = true; + return button; + } + + /* + * Creates a switch that can be switches on and off (e.g. the play button). + * Parameters are: + * # Mixxx value that is toggled if switch is pressed + * # Midi number + */ + this.createSwitch = function(name, id) + { + var button = this.createControl(name, id); + button.setConversion("none"); + button["activated"] = false; + button["isSwitch"] = true; + return button; + } + + /* + * Creates a control that can be used for volume sliders, filter knobs, etc. + * Parameters are: + * # Mixxx value that is changed if the control is used + * # Midi number + * Various behaviours can be enabled on a control: + * # enableFireOnKeyUp() (control is fired if released, not if pressed. Useful for buttons/switches) + * # enableSoftTakeover() (custom softTakeover function that is some smarter than Mixxx's default implementation) + * # addCallback() (add a MixxxController callback. Currently available is only "kill" to emulate a kill switch for equalizers) + * # addExternalCallback() (add a callback to a custom function specific for a certain controller) + * # setConversion(name, min, max, mid) (supported: absoluteLin, absoluteNonLin) + * headVolume, Master volume, crossfader, headMix and volume are automatically enhanced with a fitting conversion. + */ + this.createControl = function(name, id) + { + var control = new Object(); + control["name"] = name; + control["midiNo"] = id; + control["ledMidiNo"] = id; + control["callbacks"] = new Object(); + control["fireOnKeyUp"] = false; + this.midiMappings[id] = control; + control.enableFireOnKeyUp = function() { + control["fireOnKeyUp"] = true; + return control; + } + control.enableSoftTakeover = function() { + control["softTakeover"] = true; + return control; + } + control.addCallback = function(name) { + control["callbacks"][name] = name; + return control; + } + control.addCallback = function(name) { + control["callbacks"][name] = name; + return control; + } + control.addExternalCallback = function(name) { + control["externalCallbacks"][name] = name; + return control; + } + control.setConversion = function(name, min, max, mid) { + control["conversion"] = new Object(); + control["conversion"]["name"] = name; + control["conversion"]["min"] = min; + control["conversion"]["max"] = max; + control["conversion"]["mid"] = mid; + return control; + } + control.setLEDMidiNo = function(id) { + control["ledMidiNo"] = id; + return control; + } + return control; + } + + /* + * Create a new control group to which multiple controls can be added. A control must have a name that matches + * the Mixxx group ([Master], [Channel1], ...) + */ + this.createGroup = function(name, id) + { + var group = new Object(); + group["name"] = name; + if (name.indexOf("[Channel") == 0) { + group["id"] = name.substring(8, 9); + } + group["controller"] = this; + group["scratching"] = false; + group["scratchingEnabled"] = false; + group.addControl = function(control) { + group[control["name"]] = control; + control["group"] = this; + group["controller"].namedMappings[group["name"]+control["name"]] = control; + + if (control["softTakeover"]) { + control["value"] = group["controller"].getMixxxValue(control); + engine.connectControl(group["name"], control["name"], this["controller"].id+".softTakeover"); + } + if (control["name"] == "play") { + engine.connectControl(group["name"], control["name"], this["controller"].id+".playListener"); + } + for (var callback in control["callbacks"]) { + engine.connectControl(group["name"], control["name"], this["controller"].id+"."+callback); + } + for (var callback in control["externalCallbacks"]) { + engine.connectControl(group["name"], control["name"], callback); + } + + var name = control["name"]; + if (name == "headVolume") { + control.setConversion("absoluteNonLin", 0, 5, 1); + } else if ((group["name"] == "[Master]") && (name == "volume")) { + control.setConversion("absoluteNonLin", 0, 5, 1); + } else if (name == "crossfader") { + control.setConversion("absoluteLin", -1, 1); + } else if (name == "headMix") { + control.setConversion("absoluteLin", -1, 1); + } else if (name == "volume") { + control.setConversion("absoluteLin", 0, 1); + } + + return group; + } + this[name] = group; + return group; + } + + /* + * Enabled softTakeover on a control if the controllers value differs to much from Mixxx's state. + * This can be the case on startup of mix or if a control has been modified inside of Mixxx, + * if beatsync has been used, ... + */ + this.softTakeover = function(value, group, control) { + var controller = this["controller"]; + var control = controller.getByNames(group, control); + if (Math.abs(control["value"] - value) > 0.1) { + control["softTakeover"] = true; + } + } + + /* + * If a controller has no eq kill switch, this method can be used to kill frequencies + * if a knob has been moved to zero. To enable this feature, use .addCallback("kill") + * on the created control before adding it to its group. + */ + this.kill = function(value, group, control) { + var controller = this["controller"]; + var control = controller.getByNames(group, control); + if (controller.getMixxxValue(control) == 0) { + engine.setValue(control["group"]["name"], control["name"]+"Kill", 1); + } else if (engine.getValue(control["group"]["name"], control["name"]+"Kill") == 1) { + engine.setValue(control["group"]["name"], control["name"]+"Kill", 0); + } + } + + /* + * This callback is added to the play state and toggles of the play buttons led if needed. + */ + this.playListener = function (value, group, control) { + var controller = this["controller"]; + var control = controller.getByNames(group, control); + controller.led(controller.getMixxxValue(control), control["group"]["name"], control["name"]); + control["activated"] = (controller.getMixxxValue(control) == 1); + } + + /* + * Switch a led for a control on or off. + */ + this.led = function (value, group, control) { + var led = this.getByNames(group, control)["ledMidiNo"]; + if (value == 1) { + midi.sendShortMsg(0x90, led, 0x7F); + } else if (value == 0) { + midi.sendShortMsg(0x90, led, 0x0); + } + } + + /* + * This method must be called from a concrete controller script to get the cow flying. + */ + this.dispatch = function (c, midi, value, status) { + var control = this.getByMidiNo(midi); + if (control["isButton"]) { + this.handleButton(control, value); + } else if (control["isSwitch"]) { + this.handleSwitch(control, value); + } else if (control["isMultiButton"]) { + this.handleMultiButton(control, value); + } else if (control["name"] == "jogWheel") { + this.wheelTurn(c, midi, value, status); + } else { + this.setMixxxValue(control, value); + } + } + + /* + * This method handles multiButtons. + */ + this.handleMultiButton = function (control, value) { + if (value == 127) { + engine.setValue(control["group"]["name"], control["name"], 1); + } else if (value == 0x3f) { + engine.setValue(control["group"]["name"], control["left"], 1); + } else { + engine.setValue(control["group"]["name"], control["right"], 1); + } + } + + /* + * This method handles buttons. + */ + this.handleButton = function (control, value) { + if (value == 0) { + this.led(0, control["group"]["name"], control["name"]); + } else { + this.led(1, control["group"]["name"], control["name"]); + } + if ((control["fireOnKeyUp"] && (value == 0)) || (!control["fireOnKeyUp"] && (value == 127))) { + this.setMixxxValue(control, 1); + } else { + this.setMixxxValue(control, 0); + } + } + + /* + * This method handles switches. + */ + this.handleSwitch = function (control, value) { + if ((control["fireOnKeyUp"] && (value == 0)) || (!control["fireOnKeyUp"] && (value == 127))) { + if (control["name"] == "scratch") { + var group = control["group"]; + group["scratchingEnabled"] = !group["scratchingEnabled"]; + if (group["scratchingEnabled"]) { + this.led(1, control["group"]["name"], control["name"]); + } else { + this.led(0, control["group"]["name"], control["name"]); + } + } else if (control["activated"]) { + this.setMixxxValue(control, 0); + this.led(0, control["group"]["name"], control["name"]); + } else { + this.setMixxxValue(control, 1); + this.led(1, control["group"]["name"], control["name"]); + } + control["activated"] = !control["activated"]; + } + } + + /* + * This method handles a jog wheel for scratching. + */ + this.wheelTurn = function (channel, control, value, status) { + var control = Mixage.controls.getByMidiNo(control); + var group = control["group"]; + // See if we're scratching. If not, just return. + if (!group["scratchingEnabled"]) return; + + if (!group["scratching"]) { + var alpha = 1.0/8; + var beta = alpha/32; + engine.scratchEnable(group["id"], 128, 100, alpha, beta); + } + + // Register the movement + var ramp = (value - 64); + engine.scratchTick(group["id"], ramp); + group["scratching"] = true; + // This two timers check if you are still scratching and disable + // the function if not. + engine.beginTimer(20, function() { + group["scratching"] = false; + engine.beginTimer(20, function() { + if (!group["scratching"]) { + engine.scratchDisable(group["id"]); + } + }, true); + }, true); + } +} diff --git a/skins/RHMixxx1280x800/RHMixxx_desktop1280x1080_design.svg b/skins/RHMixxx1280x800/RHMixxx_desktop1280x1080_design.svg new file mode 100644 index 0000000..04bc7a6 --- /dev/null +++ b/skins/RHMixxx1280x800/RHMixxx_desktop1280x1080_design.svg @@ -0,0 +1,7704 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skins/RHMixxx1280x800/Sampler.png b/skins/RHMixxx1280x800/Sampler.png new file mode 100644 index 0000000..928ca34 Binary files /dev/null and b/skins/RHMixxx1280x800/Sampler.png differ diff --git a/skins/RHMixxx1280x800/Volume_long.png b/skins/RHMixxx1280x800/Volume_long.png new file mode 100644 index 0000000..d84b072 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long.png differ diff --git a/skins/RHMixxx1280x800/Volume_long.xcf b/skins/RHMixxx1280x800/Volume_long.xcf new file mode 100644 index 0000000..ea445da Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long.xcf differ diff --git a/skins/RHMixxx1280x800/Volume_long_over.png b/skins/RHMixxx1280x800/Volume_long_over.png new file mode 100644 index 0000000..03d7063 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long_over.png differ diff --git a/skins/RHMixxx1280x800/Volume_long_over.xcf b/skins/RHMixxx1280x800/Volume_long_over.xcf new file mode 100644 index 0000000..7def984 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long_over.xcf differ diff --git a/skins/RHMixxx1280x800/Volume_long_over_player.png b/skins/RHMixxx1280x800/Volume_long_over_player.png new file mode 100644 index 0000000..8fca120 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long_over_player.png differ diff --git a/skins/RHMixxx1280x800/Volume_long_over_player.xcf b/skins/RHMixxx1280x800/Volume_long_over_player.xcf new file mode 100644 index 0000000..10ecb61 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long_over_player.xcf differ diff --git a/skins/RHMixxx1280x800/Volume_long_player.png b/skins/RHMixxx1280x800/Volume_long_player.png new file mode 100644 index 0000000..73c3fe8 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long_player.png differ diff --git a/skins/RHMixxx1280x800/Volume_long_player.xcf b/skins/RHMixxx1280x800/Volume_long_player.xcf new file mode 100644 index 0000000..5cb5887 Binary files /dev/null and b/skins/RHMixxx1280x800/Volume_long_player.xcf differ diff --git a/skins/RHMixxx1280x800/background1280x1024.png b/skins/RHMixxx1280x800/background1280x1024.png new file mode 100644 index 0000000..83d04ff Binary files /dev/null and b/skins/RHMixxx1280x800/background1280x1024.png differ diff --git a/skins/RHMixxx1280x800/background1280x1024.xcf b/skins/RHMixxx1280x800/background1280x1024.xcf new file mode 100644 index 0000000..b18964b Binary files /dev/null and b/skins/RHMixxx1280x800/background1280x1024.xcf differ diff --git a/skins/RHMixxx1280x800/background1280x800.png b/skins/RHMixxx1280x800/background1280x800.png new file mode 100644 index 0000000..e86f129 Binary files /dev/null and b/skins/RHMixxx1280x800/background1280x800.png differ diff --git a/skins/RHMixxx1280x800/background1280x800.psd b/skins/RHMixxx1280x800/background1280x800.psd new file mode 100644 index 0000000..49edaba Binary files /dev/null and b/skins/RHMixxx1280x800/background1280x800.psd differ diff --git a/skins/RHMixxx1280x800/background1280x800.xcf b/skins/RHMixxx1280x800/background1280x800.xcf new file mode 100644 index 0000000..f5464fc Binary files /dev/null and b/skins/RHMixxx1280x800/background1280x800.xcf differ diff --git a/skins/RHMixxx1280x800/btn_clipping.png b/skins/RHMixxx1280x800/btn_clipping.png new file mode 100644 index 0000000..18ea733 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_clipping.png differ diff --git a/skins/RHMixxx1280x800/btn_clipping_master.png b/skins/RHMixxx1280x800/btn_clipping_master.png new file mode 100644 index 0000000..52e638c Binary files /dev/null and b/skins/RHMixxx1280x800/btn_clipping_master.png differ diff --git a/skins/RHMixxx1280x800/btn_clipping_master_over.png b/skins/RHMixxx1280x800/btn_clipping_master_over.png new file mode 100644 index 0000000..509042c Binary files /dev/null and b/skins/RHMixxx1280x800/btn_clipping_master_over.png differ diff --git a/skins/RHMixxx1280x800/btn_clipping_over.png b/skins/RHMixxx1280x800/btn_clipping_over.png new file mode 100644 index 0000000..ed5f5c5 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_clipping_over.png differ diff --git a/skins/RHMixxx1280x800/btn_cue.png b/skins/RHMixxx1280x800/btn_cue.png new file mode 100755 index 0000000..22b40fa Binary files /dev/null and b/skins/RHMixxx1280x800/btn_cue.png differ diff --git a/skins/RHMixxx1280x800/btn_cue_over.png b/skins/RHMixxx1280x800/btn_cue_over.png new file mode 100755 index 0000000..4e84b2f Binary files /dev/null and b/skins/RHMixxx1280x800/btn_cue_over.png differ diff --git a/skins/RHMixxx1280x800/btn_forward.png b/skins/RHMixxx1280x800/btn_forward.png new file mode 100755 index 0000000..5817de4 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_forward.png differ diff --git a/skins/RHMixxx1280x800/btn_forward_over.png b/skins/RHMixxx1280x800/btn_forward_over.png new file mode 100755 index 0000000..6fddd05 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_forward_over.png differ diff --git a/skins/RHMixxx1280x800/btn_hotcue1_over.png b/skins/RHMixxx1280x800/btn_hotcue1_over.png new file mode 100755 index 0000000..1b64938 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_hotcue1_over.png differ diff --git a/skins/RHMixxx1280x800/btn_hotcue2_over.png b/skins/RHMixxx1280x800/btn_hotcue2_over.png new file mode 100755 index 0000000..12211ca Binary files /dev/null and b/skins/RHMixxx1280x800/btn_hotcue2_over.png differ diff --git a/skins/RHMixxx1280x800/btn_hotcue3_over.png b/skins/RHMixxx1280x800/btn_hotcue3_over.png new file mode 100755 index 0000000..820fe3b Binary files /dev/null and b/skins/RHMixxx1280x800/btn_hotcue3_over.png differ diff --git a/skins/RHMixxx1280x800/btn_hotcue4_over.png b/skins/RHMixxx1280x800/btn_hotcue4_over.png new file mode 100755 index 0000000..2046fdb Binary files /dev/null and b/skins/RHMixxx1280x800/btn_hotcue4_over.png differ diff --git a/skins/RHMixxx1280x800/btn_play.png b/skins/RHMixxx1280x800/btn_play.png new file mode 100755 index 0000000..c3478a6 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play.png differ diff --git a/skins/RHMixxx1280x800/btn_play_over.png b/skins/RHMixxx1280x800/btn_play_over.png new file mode 100755 index 0000000..3a75ca1 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_over.png differ diff --git a/skins/RHMixxx1280x800/btn_play_over_sampler.png b/skins/RHMixxx1280x800/btn_play_over_sampler.png new file mode 100644 index 0000000..7845b39 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_over_sampler.png differ diff --git a/skins/RHMixxx1280x800/btn_play_sampler.png b/skins/RHMixxx1280x800/btn_play_sampler.png new file mode 100644 index 0000000..cd47853 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_sampler.png differ diff --git a/skins/RHMixxx1280x800/btn_play_sampler.xcf b/skins/RHMixxx1280x800/btn_play_sampler.xcf new file mode 100644 index 0000000..9ec3bac Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_sampler.xcf differ diff --git a/skins/RHMixxx1280x800/btn_play_sampler_down.png b/skins/RHMixxx1280x800/btn_play_sampler_down.png new file mode 100644 index 0000000..7976982 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_sampler_down.png differ diff --git a/skins/RHMixxx1280x800/btn_play_sampler_over.png b/skins/RHMixxx1280x800/btn_play_sampler_over.png new file mode 100644 index 0000000..cfca7ec Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_sampler_over.png differ diff --git a/skins/RHMixxx1280x800/btn_play_sampler_overdown.png b/skins/RHMixxx1280x800/btn_play_sampler_overdown.png new file mode 100644 index 0000000..56ea7a6 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_play_sampler_overdown.png differ diff --git a/skins/RHMixxx1280x800/btn_repeat1.png b/skins/RHMixxx1280x800/btn_repeat1.png new file mode 100644 index 0000000..3ba581b Binary files /dev/null and b/skins/RHMixxx1280x800/btn_repeat1.png differ diff --git a/skins/RHMixxx1280x800/btn_repeat1_over.png b/skins/RHMixxx1280x800/btn_repeat1_over.png new file mode 100644 index 0000000..5aeb7ee Binary files /dev/null and b/skins/RHMixxx1280x800/btn_repeat1_over.png differ diff --git a/skins/RHMixxx1280x800/btn_repeat2.png b/skins/RHMixxx1280x800/btn_repeat2.png new file mode 100644 index 0000000..3ba581b Binary files /dev/null and b/skins/RHMixxx1280x800/btn_repeat2.png differ diff --git a/skins/RHMixxx1280x800/btn_repeat2_over.png b/skins/RHMixxx1280x800/btn_repeat2_over.png new file mode 100644 index 0000000..5aeb7ee Binary files /dev/null and b/skins/RHMixxx1280x800/btn_repeat2_over.png differ diff --git a/skins/RHMixxx1280x800/btn_repeat_sampler.png b/skins/RHMixxx1280x800/btn_repeat_sampler.png new file mode 100644 index 0000000..3ba581b Binary files /dev/null and b/skins/RHMixxx1280x800/btn_repeat_sampler.png differ diff --git a/skins/RHMixxx1280x800/btn_repeat_sampler_over.png b/skins/RHMixxx1280x800/btn_repeat_sampler_over.png new file mode 100644 index 0000000..84fdc89 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_repeat_sampler_over.png differ diff --git a/skins/RHMixxx1280x800/btn_rewind.png b/skins/RHMixxx1280x800/btn_rewind.png new file mode 100755 index 0000000..c7b6a5c Binary files /dev/null and b/skins/RHMixxx1280x800/btn_rewind.png differ diff --git a/skins/RHMixxx1280x800/btn_rewind_over.png b/skins/RHMixxx1280x800/btn_rewind_over.png new file mode 100755 index 0000000..86b7cf8 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_rewind_over.png differ diff --git a/skins/RHMixxx1280x800/btn_stop.png b/skins/RHMixxx1280x800/btn_stop.png new file mode 100644 index 0000000..2f3f945 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_stop.png differ diff --git a/skins/RHMixxx1280x800/btn_stop.xcf b/skins/RHMixxx1280x800/btn_stop.xcf new file mode 100644 index 0000000..4b4d1a9 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_stop.xcf differ diff --git a/skins/RHMixxx1280x800/btn_stop_red.png b/skins/RHMixxx1280x800/btn_stop_red.png new file mode 100644 index 0000000..e35a458 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_stop_red.png differ diff --git a/skins/RHMixxx1280x800/btn_stop_red.xcf b/skins/RHMixxx1280x800/btn_stop_red.xcf new file mode 100644 index 0000000..6e796d2 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_stop_red.xcf differ diff --git a/skins/RHMixxx1280x800/btn_volume_display.png b/skins/RHMixxx1280x800/btn_volume_display.png new file mode 100644 index 0000000..8360f5c Binary files /dev/null and b/skins/RHMixxx1280x800/btn_volume_display.png differ diff --git a/skins/RHMixxx1280x800/btn_volume_display_over.png b/skins/RHMixxx1280x800/btn_volume_display_over.png new file mode 100644 index 0000000..178affd Binary files /dev/null and b/skins/RHMixxx1280x800/btn_volume_display_over.png differ diff --git a/skins/RHMixxx1280x800/btn_volume_display_small.png b/skins/RHMixxx1280x800/btn_volume_display_small.png new file mode 100644 index 0000000..c335e4e Binary files /dev/null and b/skins/RHMixxx1280x800/btn_volume_display_small.png differ diff --git a/skins/RHMixxx1280x800/btn_volume_display_small_over.png b/skins/RHMixxx1280x800/btn_volume_display_small_over.png new file mode 100644 index 0000000..0eb5b05 Binary files /dev/null and b/skins/RHMixxx1280x800/btn_volume_display_small_over.png differ diff --git a/skins/RHMixxx1280x800/clipping_long.png b/skins/RHMixxx1280x800/clipping_long.png new file mode 100644 index 0000000..1d9370a Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long.png differ diff --git a/skins/RHMixxx1280x800/clipping_long.xcf b/skins/RHMixxx1280x800/clipping_long.xcf new file mode 100644 index 0000000..d6c2092 Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long.xcf differ diff --git a/skins/RHMixxx1280x800/clipping_long_over.png b/skins/RHMixxx1280x800/clipping_long_over.png new file mode 100644 index 0000000..8708895 Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long_over.png differ diff --git a/skins/RHMixxx1280x800/clipping_long_over.xcf b/skins/RHMixxx1280x800/clipping_long_over.xcf new file mode 100644 index 0000000..1b8695a Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long_over.xcf differ diff --git a/skins/RHMixxx1280x800/clipping_long_over_player.png b/skins/RHMixxx1280x800/clipping_long_over_player.png new file mode 100644 index 0000000..0a832c9 Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long_over_player.png differ diff --git a/skins/RHMixxx1280x800/clipping_long_over_player.xcf b/skins/RHMixxx1280x800/clipping_long_over_player.xcf new file mode 100644 index 0000000..006cc80 Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long_over_player.xcf differ diff --git a/skins/RHMixxx1280x800/clipping_long_player.png b/skins/RHMixxx1280x800/clipping_long_player.png new file mode 100644 index 0000000..0f39c20 Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long_player.png differ diff --git a/skins/RHMixxx1280x800/clipping_long_player.xcf b/skins/RHMixxx1280x800/clipping_long_player.xcf new file mode 100644 index 0000000..fc9d04f Binary files /dev/null and b/skins/RHMixxx1280x800/clipping_long_player.xcf differ diff --git a/skins/RHMixxx1280x800/marker_cue.png b/skins/RHMixxx1280x800/marker_cue.png new file mode 100755 index 0000000..c56b9c2 Binary files /dev/null and b/skins/RHMixxx1280x800/marker_cue.png differ diff --git a/skins/RHMixxx1280x800/marker_hotcue_1.png b/skins/RHMixxx1280x800/marker_hotcue_1.png new file mode 100755 index 0000000..341a4ec Binary files /dev/null and b/skins/RHMixxx1280x800/marker_hotcue_1.png differ diff --git a/skins/RHMixxx1280x800/marker_hotcue_2.png b/skins/RHMixxx1280x800/marker_hotcue_2.png new file mode 100755 index 0000000..5e266a4 Binary files /dev/null and b/skins/RHMixxx1280x800/marker_hotcue_2.png differ diff --git a/skins/RHMixxx1280x800/marker_hotcue_3.png b/skins/RHMixxx1280x800/marker_hotcue_3.png new file mode 100755 index 0000000..bfed836 Binary files /dev/null and b/skins/RHMixxx1280x800/marker_hotcue_3.png differ diff --git a/skins/RHMixxx1280x800/marker_hotcue_4.png b/skins/RHMixxx1280x800/marker_hotcue_4.png new file mode 100755 index 0000000..314eed0 Binary files /dev/null and b/skins/RHMixxx1280x800/marker_hotcue_4.png differ diff --git a/skins/RHMixxx1280x800/marker_loopin.png b/skins/RHMixxx1280x800/marker_loopin.png new file mode 100755 index 0000000..cae017c Binary files /dev/null and b/skins/RHMixxx1280x800/marker_loopin.png differ diff --git a/skins/RHMixxx1280x800/marker_loopout.png b/skins/RHMixxx1280x800/marker_loopout.png new file mode 100755 index 0000000..eb142c7 Binary files /dev/null and b/skins/RHMixxx1280x800/marker_loopout.png differ diff --git a/skins/RHMixxx1280x800/notes b/skins/RHMixxx1280x800/notes new file mode 100644 index 0000000..51f5930 --- /dev/null +++ b/skins/RHMixxx1280x800/notes @@ -0,0 +1,106 @@ +Wandler: + +Hoontech dsp2000 von Marco funkt, DI wäre ncoh nötig, 10 kanäle werden bei alsa aber nciht ebein envy24conttrol angezeigt + + + + +http://mixxx.org/wiki/doku.php/creating_skins +http://www.mixxx.org/wiki/doku.php/mixxxcontrols +http://www.mixxx.org/manual/latest/chapters/appendix.html + + + + +Wichtig: +-------- + +festplatte einbinden +formate testen + +Defaultmäßig dateien in sampler laden + +-> Command line options + -------------------- + + http://manpages.ubuntu.com/manpages/lucid/man5/ssh_config.5.html + + mit filename nur ein file in player 2 geladen (?) + + unlabelleing multiargs to load songs at start-up + ------------------------------------------------ + https://www.mail-archive.com/mixxx-devel@lists.sourceforge.net/msg04054.html + +ordner vordefiniert + + +Taster: +------- + +RAFI002 011 ejher günstig +rs: 179-1167 +einmal PS2 einmal usb? + + +probieren: + +- nach playback zurück zum beginn +- play und nochmal play soll stoppen und wieder zum anfang zurück? noch nicht zusammengebracht +- axum fernbedienung, wine etc + + + + +Tasten +------ + +PS011A drung + + +Anforderungen +------------- + + +16 Tasten je ein LED gelb +4 Ins AXUM +4 outs Axum +Tasten Matrix (16 Pins am Controller sollten reichen) +Player rot und Blau, kohnstantes leutchten, bei Play Play Taste, bei Pause beide (Play Stop) +Sampler leuchten permanent, wenn sie spielen blinken sie. Play und stopp eine Taste +zwecks sampler Automatisch neu starten, mit beschränkung?? oder icon mit script inkl. optionen +Eventuell Datei, wo die files drinnen stehen, die beim start aufgerufen wird + +Auto DJ ist Zustand +------------------- + +- wenn liste in auto dj erstellt ist, und beide player leer: + - "Auto DJ aktivieren" startet mit erstem track in player A + - gespielte Tracks werden aus AUtoDJ list gelöscht, wenn gespielt lässt + sich in Einstelungen Benutzeroberfläche ändern + - Überblenden blenden zum nächstem im Track im gerade inaktiven player + - Achtung AutoDJ auch aktiv, wenn man in einer playliste ist! + + +wenn play aktiv am midi ausgang aber kein druck stattgefunden hat, stop und zurück. + +http://www.mixxx.org/wiki/doku.php/gsoc2012_autodj_features + + - Ähnliches Problem: + https://bugs.launchpad.net/mixxx/+bug/1187258 + + - Source Code Hinweis: + http://www.mixxx.org/forums/viewtopic.php?f=6&t=1477 + + - Vielversprehcend: + http://blog.christian-hufgard.de/mixxx_midiscripting_made_easier_update-2013-05-23 + + - in /src/basetrackplayer.cpp + bPlay bei Aufruf durch Auto DJ null setzen? + void BaseTrackPlayer::slotLoadTrack(TrackPointer track, bool bPlay) { + +Airtime +------- + +https://www.sourcefabric.org/en/airtime/didUknow/630/Open-source-digital-DJ-Integrating-Airtime-and-Mixxx.htm + +emacs editor diff --git a/skins/RHMixxx1280x800/original_skin.xml b/skins/RHMixxx1280x800/original_skin.xml new file mode 100755 index 0000000..265a551 --- /dev/null +++ b/skins/RHMixxx1280x800/original_skin.xml @@ -0,0 +1,1864 @@ + + + + + + + + + + + + + background1280x800.png + #FFFFFF + + + + + + 6,349 + 1252,346 + #FFFFFF + #333333 + #ebebeb + #cfdee7 + + + + + + + Waveform display Shows the loaded tracks' waveforms near the playback position. Drag with mouse to control sound playback. Drop tracks from external file manager here. + + 1 + 11,90 + 404,102 + #ffffff + #000000 + #4889c3 + #e0ddd7 + #00FF00 + #00FF00 + #e20020 + + loop_start_position + loop_end_position + loop_enabled + #00FF00 + #FFFFFF + + + loop_start_position + marker_loopin1.png + LOOP IN + bottom + #00FF00 + #FFFFFF + + + loop_end_position + marker_loopout1.png + LOOP OUT + bottom + #00FF00 + #FFFFFF + + + + hotcue_1_position + marker_hotcue1_1.png + HOTCUE 1 + bottom + #00FF00 + #333333 + + + hotcue_2_position + marker_hotcue1_2.png + HOTCUE 2 + bottom + #00FF00 + #333333 + + + hotcue_3_position + marker_hotcue1_3.png + HOTCUE 3 + bottom + #00FF00 + #333333 + + + hotcue_4_position + marker_hotcue1_4.png + HOTCUE 4 + bottom + #00FF00 + #333333 + + + hotcue_5_position + HOTCUE 5 + center + #AE5CFF + #333333 + + + hotcue_6_position + HOTCUE 6 + center + #AE5CFF + #333333 + + + hotcue_7_position + HOTCUE 7 + center + #AE5CFF + #333333 + + + hotcue_8_position + HOTCUE 8 + center + #AE5CFF + #333333 + + + hotcue_9_position + HOTCUE 9 + center + #AE5CFF + #333333 + + + hotcue_10_position + HOTCUE 10 + center + #AE5CFF + #333333 + + + hotcue_11_position + HOTCUE 11 + center + #AE5CFF + #333333 + + + hotcue_12_position + HOTCUE 12 + center + #AE5CFF + #333333 + + + hotcue_13_position + HOTCUE 13 + center + #AE5CFF + #333333 + + + hotcue_14_position + HOTCUE 14 + center + #AE5CFF + #333333 + + + hotcue_15_position + HOTCUE 15 + center + #AE5CFF + #333333 + + + hotcue_16_position + HOTCUE 16 + center + #AE5CFF + #333333 + + + hotcue_17_position + HOTCUE 17 + center + #AE5CFF + #333333 + + + hotcue_18_position + HOTCUE 18 + center + #AE5CFF + #333333 + + + hotcue_19_position + HOTCUE 19 + center + #AE5CFF + #333333 + + + hotcue_20_position + HOTCUE 20 + center + #AE5CFF + #333333 + + + hotcue_21_position + HOTCUE 21 + center + #AE5CFF + #333333 + + + hotcue_22_position + HOTCUE 22 + center + #AE5CFF + #333333 + + + hotcue_23_position + HOTCUE 23 + center + #AE5CFF + #333333 + + + hotcue_24_position + HOTCUE 24 + center + #AE5CFF + #333333 + + + hotcue_25_position + HOTCUE 25 + center + #AE5CFF + #333333 + + + hotcue_26_position + HOTCUE 26 + center + #AE5CFF + #333333 + + + hotcue_27_position + HOTCUE 27 + center + #AE5CFF + #333333 + + + hotcue_28_position + HOTCUE 28 + center + #AE5CFF + #333333 + + + hotcue_29_position + HOTCUE 29 + center + #AE5CFF + #333333 + + + hotcue_30_position + HOTCUE 30 + center + #AE5CFF + #333333 + + + hotcue_31_position + HOTCUE 31 + center + #AE5CFF + #333333 + + + hotcue_32_position + HOTCUE 32 + center + #AE5CFF + #333333 + + + + cue_point + marker_cue1.png + CUE + bottom + #FF001C + #333333 + + + + Waveform display Shows the loaded tracks' waveforms near the playback position. Drag with mouse to control sound playback. Drop tracks from external file manager here. + + 2 + 850,90 + 403,102 + #ffffff + #000000 + #4889c3 + #e0ddd7 + #00FF00 + #00FF00 + #e20020 + + loop_start_position + loop_end_position + loop_enabled + #00FF00 + #FFFFFF + + + loop_start_position + marker_loopin1.png + LOOP IN + bottom + #00FF00 + #FFFFFF + + + loop_end_position + marker_loopout1.png + LOOP OUT + bottom + #00FF00 + #FFFFFF + + + + hotcue_1_position + marker_hotcue1_1.png + HOTCUE 1 + bottom + #00FF00 + #333333 + + + hotcue_2_position + marker_hotcue1_2.png + HOTCUE 2 + bottom + #00FF00 + #333333 + + + hotcue_3_position + marker_hotcue1_3.png + HOTCUE 3 + bottom + #00FF00 + #333333 + + + hotcue_4_position + marker_hotcue1_4.png + HOTCUE 4 + bottom + #00FF00 + #333333 + + + hotcue_5_position + HOTCUE 5 + center + #AE5CFF + #333333 + + + hotcue_6_position + HOTCUE 6 + center + #AE5CFF + #333333 + + + hotcue_7_position + HOTCUE 7 + center + #AE5CFF + #333333 + + + hotcue_8_position + HOTCUE 8 + center + #AE5CFF + #333333 + + + hotcue_9_position + HOTCUE 9 + center + #AE5CFF + #333333 + + + hotcue_10_position + HOTCUE 10 + center + #AE5CFF + #333333 + + + hotcue_11_position + HOTCUE 11 + center + #AE5CFF + #333333 + + + hotcue_12_position + HOTCUE 12 + center + #AE5CFF + #333333 + + + hotcue_13_position + HOTCUE 13 + center + #AE5CFF + #333333 + + + hotcue_14_position + HOTCUE 14 + center + #AE5CFF + #333333 + + + hotcue_15_position + HOTCUE 15 + center + #AE5CFF + #333333 + + + hotcue_16_position + HOTCUE 16 + center + #AE5CFF + #333333 + + + hotcue_17_position + HOTCUE 17 + center + #AE5CFF + #333333 + + + hotcue_18_position + HOTCUE 18 + center + #AE5CFF + #333333 + + + hotcue_19_position + HOTCUE 19 + center + #AE5CFF + #333333 + + + hotcue_20_position + HOTCUE 20 + center + #AE5CFF + #333333 + + + hotcue_21_position + HOTCUE 21 + center + #AE5CFF + #333333 + + + hotcue_22_position + HOTCUE 22 + center + #AE5CFF + #333333 + + + hotcue_23_position + HOTCUE 23 + center + #AE5CFF + #333333 + + + hotcue_24_position + HOTCUE 24 + center + #AE5CFF + #333333 + + + hotcue_25_position + HOTCUE 25 + center + #AE5CFF + #333333 + + + hotcue_26_position + HOTCUE 26 + center + #AE5CFF + #333333 + + + hotcue_27_position + HOTCUE 27 + center + #AE5CFF + #333333 + + + hotcue_28_position + HOTCUE 28 + center + #AE5CFF + #333333 + + + hotcue_29_position + HOTCUE 29 + center + #AE5CFF + #333333 + + + hotcue_30_position + HOTCUE 30 + center + #AE5CFF + #333333 + + + hotcue_31_position + HOTCUE 31 + center + #AE5CFF + #333333 + + + hotcue_32_position + HOTCUE 32 + center + #AE5CFF + #333333 + + + + cue_point + marker_cue1.png + CUE + bottom + #FF001C + #333333 + + + + + + Waveform overview Shows information about the track currently loaded in this channel. Jump around in the track by clicking somewhere on the waveform. + + 1 + 11,197 + 207,40 + #FFFFFF + #4889c3 + #00FF00 + + [Channel1],playposition + false + + + + Waveform overview Shows information about the track currently loaded in this channel. Jump around in the track by clicking somewhere on the waveform. + + 2 + 1045,197 + 207,40 + #FFFFFF + #4889c3 + #00FF00 + + [Channel2],playposition + false + + + + + + Channel volume meter Shows the current channel volume + + btn_volume_display1_over.png + btn_volume_display1.png + 610,114 + false + 5 + 500 + 50 + 1 + + [Channel1],VuMeter + + + + Channel volume meter Shows the current channel volume + + btn_volume_display2_over.png + btn_volume_display2.png + 645,114 + false + 5 + 500 + 50 + 1 + + [Channel2],VuMeter + + + + + Master channel volume meter Outputs the current instantaneous master volume for the left channel. + + btn_volume_display_master1_over.png + btn_volume_display_master1.png + 624,114 + 5 + 500 + 50 + 1 + + [Master],VuMeterL + + + + Master channel volume meter Outputs the current instantaneous master volume for the right channel. + + btn_volume_display_master2_over.png + btn_volume_display_master2.png + 632,114 + 5 + 500 + 50 + 1 + + [Master],VuMeterR + + + + + + Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). + + btn_clipping1_over.png + btn_clipping1.png + 610,122 + + [Channel1],PeakIndicator + + + + Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). + + btn_clipping2_over.png + btn_clipping2.png + 645,122 + + [Channel2],PeakIndicator + + + + Master Peak Indicator Indicates when the signal on the Master output is clipping, (too loud for the hardware and is being distorted). + + btn_clipping_master_over.png + btn_clipping_master.png + 624,122 + + [Master],PeakIndicator + + + + + + + + Track information Displays the Name and Title of the loaded track. Informations are extracted from the tracks tags. + + 1 + 11,20 + 506,28 + + + Track information Displays the Name and Title of the loaded track. Informations are extracted from the tracks tags. + + 2 + 751,20 + 506,28 + + + + + + + Time information Displays the current playback position or remaining time of the loaded track. Depends on your settings in Preferences→Interface→Position display. + + 1 + 11,52 + 506,28 + 6 + + [Channel1],playposition + + + + Time information Displays the current playback position or remaining time of the loaded track. Depends on your settings in Preferences→Interface→Position display. + + 2 + 751,52 + 506,28 + 6 + + [Channel2],playposition + + + + + + + + + + Volume control Adjust the volume of the selected channel. Right-click: Reset to default value + + knob_volume1.png + slider_volume1.png + 550,83 + false + + [Channel1],volume + false + + + + Volume control Adjust the volume of the selected channel. Right-click: Reset to default value + + knob_volume2.png + slider_volume2.png + 664,83 + false + + [Channel2],volume + false + + + + + + Crossfader Fade between the channels and define what you hear through the master output. Right-click: Reset to default value Change the crossfader curve in Preferences→Crossfader + + knob_crossfader.png + slider_crossfader.png + 538,270 + true + + [Master],crossfader + false + + + + + + + + + + Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current position on the waveform. + + 2 + true + + 0 + btn_play1.png + btn_play1.png + + + 1 + btn_play1_over.png + btn_play1_over.png + + 419,89 + + [Channel1],play + true + LeftButton + + + [Channel1],cue_set + true + RightButton + false + + + + Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current position on the waveform. + + 2 + true + + 0 + btn_play2.png + btn_play2.png + + + 1 + btn_play2_over.png + btn_play2_over.png + + 750,89 + + [Channel2],play + true + LeftButton + + + [Channel2],cue_set + true + RightButton + false + + + + + + Cue Left-click (while playing): The track will seek to the cue-point and stop (=CDJ) OR play (=simple). Change the default cue behaviour in Preferences→Interface. Left-click (while stopped): Places a cue-point at the current position on the waveform. Right-click: The track will seek to the cue-point and stop. + + 1 + + 0 + btn_cue1_over.png + btn_cue1.png + + 468,196 + + [Channel1],cue_default + true + LeftButton + + + [Channel1],cue_default + false + LeftButton + + + [Channel1],cue_gotoandstop + true + RightButton + + + [Channel1],cue_gotoandstop + false + RightButton + + + + Cue Left-click (while playing): The track will seek to the cue-point and stop (=CDJ) OR play (=simple). Change the default cue behaviour in Preferences→Interface. Left-click (while stopped): Places a cue-point at the current position on the waveform. Right-click: The track will seek to the cue-point and stop. + + 1 + + 0 + btn_cue2_over.png + btn_cue2.png + + 750,196 + + [Channel2],cue_default + true + LeftButton + + + [Channel2],cue_default + false + LeftButton + + + [Channel2],cue_gotoandstop + true + RightButton + + + [Channel2],cue_gotoandstop + false + RightButton + + + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue1_over.png + btn_hotcue1.png + + + 1 + btn_hotcue1.png + btn_hotcue1_over.png + + 273,197 + + [Channel1],hotcue_1_activate + true + LeftButton + false + + + [Channel1],hotcue_1_activate + false + LeftButton + false + + + [Channel1],hotcue_1_clear + true + RightButton + false + + + [Channel1],hotcue_1_clear + false + RightButton + false + + + [Channel1],hotcue_1_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue2_over.png + btn_hotcue2.png + + + 1 + btn_hotcue2.png + btn_hotcue2_over.png + + 298,197 + + [Channel1],hotcue_2_activate + true + LeftButton + false + + + [Channel1],hotcue_2_activate + false + LeftButton + false + + + [Channel1],hotcue_2_clear + true + RightButton + false + + + [Channel1],hotcue_2_clear + false + RightButton + false + + + [Channel1],hotcue_2_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue3_over.png + btn_hotcue3.png + + + 1 + btn_hotcue3.png + btn_hotcue3_over.png + + 273,220 + + [Channel1],hotcue_3_activate + true + LeftButton + false + + + [Channel1],hotcue_3_activate + false + LeftButton + false + + + [Channel1],hotcue_3_clear + true + RightButton + false + + + [Channel1],hotcue_3_clear + false + RightButton + false + + + [Channel1],hotcue_3_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue4_over.png + btn_hotcue4.png + + + 1 + btn_hotcue4.png + btn_hotcue4_over.png + + 298,220 + + [Channel1],hotcue_4_activate + true + LeftButton + false + + + [Channel1],hotcue_4_activate + false + LeftButton + false + + + [Channel1],hotcue_4_clear + true + RightButton + false + + + [Channel1],hotcue_4_clear + false + RightButton + false + + + [Channel1],hotcue_4_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue1_over.png + btn_hotcue1.png + + + 1 + btn_hotcue1.png + btn_hotcue1_over.png + + 947,197 + + [Channel2],hotcue_1_activate + true + LeftButton + false + + + [Channel2],hotcue_1_activate + false + LeftButton + false + + + [Channel2],hotcue_1_clear + true + RightButton + false + + + [Channel2],hotcue_1_clear + false + RightButton + false + + + [Channel2],hotcue_1_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue2_over.png + btn_hotcue2.png + + + 1 + btn_hotcue2.png + btn_hotcue2_over.png + + 972,197 + + [Channel2],hotcue_2_activate + true + LeftButton + false + + + [Channel2],hotcue_2_activate + false + LeftButton + false + + + [Channel2],hotcue_2_clear + true + RightButton + false + + + [Channel2],hotcue_2_clear + false + RightButton + false + + + [Channel2],hotcue_2_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue3_over.png + btn_hotcue3.png + + + 1 + btn_hotcue3.png + btn_hotcue3_over.png + + 947,220 + + [Channel2],hotcue_3_activate + true + LeftButton + false + + + [Channel2],hotcue_3_activate + false + LeftButton + false + + + [Channel2],hotcue_3_clear + true + RightButton + false + + + [Channel2],hotcue_3_clear + false + RightButton + false + + + [Channel2],hotcue_3_enabled + false + + + + Hotcue Left-click: If Hotcue is set, seeks the player to Hotcue position. If Hotcue is not set, sets Hotcue to the current play position. Right-click: If Hotcue is set, clears its hotcue status (delete). + + 2 + true + true + + 0 + btn_hotcue4_over.png + btn_hotcue4.png + + + 1 + btn_hotcue4.png + btn_hotcue4_over.png + + 972,220 + + [Channel2],hotcue_4_activate + true + LeftButton + false + + + [Channel2],hotcue_4_activate + false + LeftButton + false + + + [Channel2],hotcue_4_clear + true + RightButton + false + + + [Channel2],hotcue_4_clear + false + RightButton + false + + + [Channel2],hotcue_4_enabled + false + + + + + + + + + + Fast Forward Left-click: Fast forward through the track. Right-click: Jumps to the end of the track. + + 1 + + 0 + btn_forward1_over.png + btn_forward1.png + + 370,196 + + [Channel1],fwd + true + LeftButton + + + [Channel1],fwd + false + LeftButton + + + [Channel1],end + true + RightButton + + + [Channel1],end + false + RightButton + + + + Fast Rewind Left-click: Fast rewind through the track. Right-click: Jumps to the beginning of the track. + + 1 + + 0 + btn_rewind1_over.png + btn_rewind1.png + + 321,196 + + [Channel1],back + true + LeftButton + + + [Channel1],back + false + LeftButton + + + [Channel1],start + true + RightButton + + + [Channel1],start + false + RightButton + + + + Fast Forward Left-click: Fast forward through the track. Right-click: Jumps to the end of the track. + + 1 + + 0 + btn_forward2_over.png + btn_forward2.png + + 897,196 + + [Channel2],fwd + true + LeftButton + + + [Channel2],fwd + false + LeftButton + + + [Channel2],end + true + RightButton + + + [Channel2],end + false + RightButton + + + + Fast Rewind Left-click: Fast rewind through the track. Right-click: Jumps to the beginning of the track. + + 1 + + 0 + btn_rewind2_over.png + btn_rewind2.png + + 848,196 + + [Channel2],back + true + LeftButton + + + [Channel2],back + false + LeftButton + + + [Channel2],start + true + RightButton + + + [Channel2],start + false + RightButton + + + + + + + + + + + + Headphone Sends the selected channel's audio to the Headphones output audio device selected in Preferences→Sound Hardware. + + 2 + + 0 + btn_pfl1.png + btn_pfl1.png + + + 1 + btn_pfl1_over.png + btn_pfl1_over.png + + 419,196 + + [Channel1],pfl + + + + Headphone Sends the selected channel's audio to the Headphones output audio device selected in Preferences→Sound Hardware. + + 2 + + 0 + btn_pfl2.png + btn_pfl2.png + + + 1 + btn_pfl2_over.png + btn_pfl2_over.png + + 800,196 + + [Channel2],pfl + + + + + + End of track mode Determines Mixxx's behaviour when it reaches the end of the track. + + 3 + + 0 + btn_trackmode_stop.png + btn_trackmode_stop.png + + + 1 + btn_trackmode_next.png + btn_trackmode_next.png + + + 2 + btn_trackmode_loop.png + btn_trackmode_loop.png + + 224,197 + + [Channel1],TrackEndMode + + + + End of track mode Determines Mixxx's behaviour when it reaches the end of the track. + + 3 + + 0 + btn_trackmode_stop.png + btn_trackmode_stop.png + + + 1 + btn_trackmode_next.png + btn_trackmode_next.png + + + 2 + btn_trackmode_loop.png + btn_trackmode_loop.png + + 996,197 + + [Channel2],TrackEndMode + + + + + + + + + + + Master volume Adjusts the Master output volume. Right-click: Reset to default value + + 40 + knob_rotary_s%1.png + 1210,270 + + [Master],volume + + + + Balance Adjusts the left/right channel balance on the Master output. Right-click: Reset to default value + + 39 + knob_rotary_s%1.png + 1125,270 + + [Master],balance + + + + + + + Headphone volume Adjusts the headphone output volume. Right-click: Reset to default value + + 40 + knob_rotary_s%1.png + 955,270 + + [Master],headVolume + + + + Headphone mix Controls what you hear on the headphone output. Right-click: Reset to default value + + 40 + knob_rotary_s%1.png + 1040,270 + + [Master],headMix + + + + + + diff --git a/skins/RHMixxx1280x800/radio_helsinki_bar_black-white.png b/skins/RHMixxx1280x800/radio_helsinki_bar_black-white.png new file mode 100644 index 0000000..5e2ba80 Binary files /dev/null and b/skins/RHMixxx1280x800/radio_helsinki_bar_black-white.png differ diff --git a/skins/RHMixxx1280x800/skin.xml b/skins/RHMixxx1280x800/skin.xml new file mode 100755 index 0000000..9e39586 --- /dev/null +++ b/skins/RHMixxx1280x800/skin.xml @@ -0,0 +1,2777 @@ + + + + + + + + + RH 1280x800 2-deck + Radio Helsinki + 1.11.0.1 + A 2-deck split-waveform for radio broadcasting, no DJ tools, but additional samplers + en + Creative Commons Attribution, Share-Alike 3.0 Unported + + 2 + 12 + 0 + 0 + 10 + + + + + + + + background1280x1024.png + #e9e9e9 + + + + +15,250 +1240,320 +horizontal + + + +#FFFFFF +#333333 +#ebebeb +#cfdee7 + + + + + + + + + + + + 25,48 + + + + + track_title + + title + 1 + 0,1 + 460,30 + + + + + track_artist + + artist + 1 + 3,40 + 245,23 + + + + + + + 1 + 260,38 + 150,32 + 6 + + [Channel1],playposition + + + + + + + + + + + + 785,48 + + + + + track_title + + title + 2 + 0,1 + 460,30 + + + + + track_artist + + artist + 2 + 3,40 + 245,23 + + + + + + + 2 + 260,38 + 150,32 + 6 + + [Channel2],playposition + + + + + + + + + + + + + + + + + + 20,129 + + + + waveform_display + + 1 + 10,1 + 310,50 + #ffffff + + #CC0000 + + #ffff00 + #000000 + + + + + + waveform_overview + 1 + 10,60 + 254,40 + #061319 + + #CC0000 + #000000 + #000000 + + [Channel1],playposition + false + + + + + + Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current point in the track. + + 2 + true + + 0 + btn_play.png + btn_play.png + + + 1 + btn_play_over.png + btn_play_over.png + + 330,0 + + [Channel1],play + true + LeftButton + + + [Channel1],cue_set + true + RightButton + false + + + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 274,60 + + [Channel1],start_stop + true + LeftButton + + + [Channel1],start_stop + true + RightButton + + + + + + + + + + 780,129 + + + + waveform_display + + 2 + 10,1 + 310,50 + #ffffff + + #0000CC + + #ffff00 + #000000 + + + + + + waveform_overview + 2 + 10,60 + 254,40 + #061319 + + #0000CC + #000000 + #000000 + + [Channel2],playposition + false + + + + + + Play/Pause Left-click: Toggles playing or pausing the track. Right-click: Places a Cue-point at the current point in the track. + + 2 + true + + 0 + btn_play.png + btn_play.png + + + 1 + btn_play_over.png + btn_play_over.png + + 330,0 + + [Channel2],play + true + LeftButton + + + [Channel2],cue_set + true + RightButton + false + + + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 274,60 + + [Channel2],start_stop + true + LeftButton + + + [Channel2],start_stop + true + RightButton + + + + + + + + + + + + 1197,623 + + + + + Master channel volume meter Shows the current master volume for the left channel. + + Volume_long_over.png + Volume_long.png + 0,40 + 10 + 50 + 5 + 1 + + [Master],VuMeterL + + + + Master channel volume meter Shows the current master volume for the right channel. + + Volume_long_over.png + Volume_long.png + 30,40 + 10 + 50 + 5 + 1 + + [Master],VuMeterR + + + + Master Peak Indicator Indicates when the signal on the Master output is clipping, (too loud for the hardware and is being distorted). + + clipping_long_over.png + clipping_long.png + 0,0 + + [Master],PeakIndicator + + + + Master Peak Indicator Indicates when the signal on the Master output is clipping, (too loud for the hardware and is being distorted). + + clipping_long_over.png + clipping_long.png + 30,0 + + [Master],PeakIndicatorR + + + + + + + + + + 455,91 + + + + Channel volume meter Shows the left channel of player 1 volume + + Volume_long_over_player.png + Volume_long_player.png + 0,30 + false + 5 + 500 + 50 + 1 + + [Channel1],VuMeterL + + + + + Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). + + clipping_long_over_player.png + clipping_long_player.png + 0,0 + + [Channel1],PeakIndicator + + + + + Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). + + clipping_long_over_player.png + clipping_long_player.png + 20,0 + + [Channel1],PeakIndicator + + + + + + Channel volume meter Shows the right channel (1) volume + + Volume_long_over_player.png + Volume_long_player.png + 20,30 + false + 5 + 500 + 50 + 1 + + [Channel1],VuMeterR + + + + + + + + + + 1215,91 + + + + Channel volume meter Shows the left channel of player 2 volume + + Volume_long_over_player.png + Volume_long_player.png + 0,30 + false + 5 + 500 + 50 + 1 + + [Channel2],VuMeterL + + + + + Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). + + clipping_long_over_player.png + clipping_long_player.png + 0,0 + + [Channel2],PeakIndicator + + + + + Peak Indicator Indicates when the signal on the channel is clipping, (too loud for the hardware and is being distorted). + + clipping_long_over_player.png + clipping_long_player.png + 20,0 + + [Channel2],PeakIndicator + + + + + + Channel volume meter Shows the right channel (1) volume + + Volume_long_over_player.png + Volume_long_player.png + 20,30 + false + 5 + 500 + 50 + 1 + + [Channel2],VuMeterR + + + + + + + + + + ********************************************** + Visual - Clock + ********************************************** + + + + + + + 38,635 + + + + + + + + + + 0,0 + 276,103 + + + + + + + + + + artist + + artist + [Sampler1] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler1] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler1] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler1],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler1],play + true + LeftButton + + + [Sampler1],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler1],start_stop + true + LeftButton + + + [Sampler1],start_stop + true + RightButton + + + + + + + + + + 287,0 + 276,103 + + + + + + + + + + artist + + artist + [Sampler2] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler2] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler2] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler2],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler2],play + true + LeftButton + + + [Sampler2],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler2],start_stop + true + LeftButton + + + [Sampler2],start_stop + true + RightButton + + + + + + + + + 574,0 + 276,103 + + + + + + + + + + artist + + artist + [Sampler3] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler3] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler3] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler3],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler3],play + true + LeftButton + + + [Sampler3],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler3],start_stop + true + LeftButton + + + [Sampler3],start_stop + true + RightButton + + + + + + + + + + 861,0 + 276,103 + + + + + + + + + + artist + + artist + [Sampler4] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler4] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler4] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler4],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler4],play + true + LeftButton + + + [Sampler4],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler4],start_stop + true + LeftButton + + + [Sampler4],start_stop + true + RightButton + + + + + + + + + 0,115 + 276,103 + + + + + + + + + + artist + + artist + [Sampler5] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler5] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler5] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler5],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler5],play + true + LeftButton + + + [Sampler5],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler5],start_stop + true + LeftButton + + + [Sampler5],start_stop + true + RightButton + + + + + + + + + 287,115 + 276,103 + + + + + + + + + + artist + + artist + [Sampler6] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler6] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler6] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler6],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler6],play + true + LeftButton + + + [Sampler6],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler6],start_stop + true + LeftButton + + + [Sampler6],start_stop + true + RightButton + + + + + + + + 574,115 + 276,103 + + + + + + + + + + artist + + artist + [Sampler7] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler7] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler7] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler7],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler7],play + true + LeftButton + + + [Sampler7],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler7],start_stop + true + LeftButton + + + [Sampler7],start_stop + true + RightButton + + + + + + + + 861,115 + 276,103 + + + + + + + + + + artist + + artist + [Sampler8] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler8] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler8] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler8],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler8],play + true + LeftButton + + + [Sampler8],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler8],start_stop + true + LeftButton + + + [Sampler8],start_stop + true + RightButton + + + + + + + + 0,230 + 276,103 + + + + + + + + + + artist + + artist + [Sampler9] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler9] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler9] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler9],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler9],play + true + LeftButton + + + [Sampler9],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler9],start_stop + true + LeftButton + + + [Sampler9],start_stop + true + RightButton + + + + + + + + 287,230 + 276,103 + + + + + + + + + + artist + + artist + [Sampler10] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler10] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler10] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler10],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler10],play + true + LeftButton + + + [Sampler10],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler10],start_stop + true + LeftButton + + + [Sampler10],start_stop + true + RightButton + + + + + + + + 574,230 + 276,103 + + + + + + + + + + artist + + artist + [Sampler11] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler11] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler11] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler11],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler11],play + true + LeftButton + + + [Sampler11],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler11],start_stop + true + LeftButton + + + [Sampler11],start_stop + true + RightButton + + + + + + + + 861,230 + 276,103 + + + + + + + + + + artist + + artist + [Sampler12] + 4,4 + 258f,20 + + + + Alternative "TITLE ONLY" display + + track_title + + title + [Sampler12] + 4,25 + 258f,20 + + + + + + + + waveform_overview + + [Sampler12] + 6,55 + 150,42 + + + + + ##CC0000 + #000000 + + bottom + #00FF00 + #FFFFFF + %1 + + + [Sampler12],playposition + false + + + + + + + play_start + + + 2 + true + + 0 + btn_play_over_sampler.png + btn_play_sampler.png + + + 1 + btn_play_sampler.png + btn_play_over_sampler.png + + 212,55 + + [Sampler12],play + true + LeftButton + + + [Sampler12],start + true + RightButton + false + + + + + + + cue_default_cue_gotoandstop + + 1 + + 0 + btn_stop_red.png + btn_stop.png + + 162,55 + + [Sampler12],start_stop + true + LeftButton + + + [Sampler12],start_stop + true + RightButton + + + + + + + + + diff --git a/skins/RHMixxx1280x800/style/style_bg_sampler.png b/skins/RHMixxx1280x800/style/style_bg_sampler.png new file mode 100644 index 0000000..0a0a8c6 Binary files /dev/null and b/skins/RHMixxx1280x800/style/style_bg_sampler.png differ diff --git a/skins/RHMixxx1280x800/style/style_sampler.png b/skins/RHMixxx1280x800/style/style_sampler.png new file mode 100644 index 0000000..e5a42f1 Binary files /dev/null and b/skins/RHMixxx1280x800/style/style_sampler.png differ diff --git a/skins/RHMixxx1280x800/style/style_sampler.xcf b/skins/RHMixxx1280x800/style/style_sampler.xcf new file mode 100644 index 0000000..f977142 Binary files /dev/null and b/skins/RHMixxx1280x800/style/style_sampler.xcf differ diff --git a/skins/RHMixxx1280x800/unused.zip b/skins/RHMixxx1280x800/unused.zip new file mode 100644 index 0000000..afed3b5 Binary files /dev/null and b/skins/RHMixxx1280x800/unused.zip differ -- cgit v0.10.2