@@ -10,7 +10,9 @@ import { SettingsMixin } from "./mixin-settings.js";
1010
1111class SettingsEdit extends SettingsMixin ( LitElement ) {
1212 render ( ) {
13- const rawMidiPattern = "[89A-E,a-e][0-9A-Fa-f] [0-7][0-9A-Fa-f] [x0-7][x0-9A-Fa-f]" ;
13+ const note = "[89A-E,a-e][0-9A-Fa-f] [0-7][0-9A-Fa-f] [x0-7][x0-9A-Fa-f]" ;
14+ const dblNote = `${ note } \\s*(/\\s*${ note } )?` ;
15+ const rawMidiPattern = `^(${ dblNote } ,\s*)?${ dblNote } $` ;
1416 return html `
1517 <abstract- action- page @cancel = "${ this . exit } " @accept = "${ this . save } " >
1618 <div class= "outer" >
@@ -73,17 +75,16 @@ class SettingsEdit extends SettingsMixin(LitElement) {
7375 <div class= "fields" >
7476 <md- filled- text- field label= "Midi volume exp scale" .value = ${ this . midiVolumeExponentialFactor } id= "midiVolumeExponentialFacto r"> </ md- filled- text- field>
7577 <md- filled- text- field label= "Midi volume linear scale" .value = ${ this . midiVolumeLinearFactor } id= "midiVolumeLinearFacto r"> </ md- filled- text- field>
76- <md- filled- text- field label= "Volume (msb)" .value = ${ this . midiVolumeMsb } id= "midiVolumeMsb" allowedPattern= "${ rawMidiPattern } "> </ md- filled- text- field>
77- <md- filled- text- field label= "Volume (lsb)" .value = ${ this . midiVolumeLsb } id= "midiVolumeLsb" allowedPattern= "${ rawMidiPattern } "> </ md- filled- text- field>
78+ <md- filled- text- field label= "Volume" .value = ${ this . midiVolumeValue } id= "midiVolumeValue" allowedPattern= "${ rawMidiPattern } "> </ md- filled- text- field>
7879 <br>
7980 <md- filled- text- field label= "Preview Start Time (in %)" .value = ${ this . songListPreviewStartPercent } id= "songLis tPreviewStartPercent"> </ md- filled- text- field>
8081 </ div>
8182 <div class= "fields" >
8283 <label> Midi for VDJ stem responsiveness </ label>
83- <md- filled- text- field type= "textarea" label = "BPM updates (Deck 1)" .value = "${ this . virtualdjMidiBpmDeck1 } " id= "virtualdjMidiBpmDeck1" rows= "3"> </ md- filled- text- field>
84- <md- filled- text- field type= "textarea" label = "BPM updates (Deck 2)" .value = "${ this . virtualdjMidiBpmDeck2 } " id= "virtualdjMidiBpmDeck2" rows= "3"> </ md- filled- text- field>
85- <md- filled- text- field type= "textarea" label = "Position updates (Deck 1)" .value = "${ this . virtualdjMidiPositionDeck1 } " id= "virtualdjMidiPositionDeck1" rows= "3"> </ md- filled- text- field>
86- <md- filled- text- field type= "textarea" label = "Position updates (Deck 2)" .value = "${ this . virtualdjMidiPositionDeck2 } " id= "virtualdjMidiPositionDeck2" rows= "3"> </ md- filled- text- field>
84+ <md- filled- text- field type= "textarea" label = "BPM updates (Deck 1)" .value = "${ this . virtualdjMidiBpmDeck1 } " id= "virtualdjMidiBpmDeck1" rows= "3" allowedPattern = " ${ rawMidiPattern } " > </ md- filled- text- field>
85+ <md- filled- text- field type= "textarea" label = "BPM updates (Deck 2)" .value = "${ this . virtualdjMidiBpmDeck2 } " id= "virtualdjMidiBpmDeck2" rows= "3" allowedPattern = " ${ rawMidiPattern } " > </ md- filled- text- field>
86+ <md- filled- text- field type= "textarea" label = "Position updates (Deck 1)" .value = "${ this . virtualdjMidiPositionDeck1 } " id= "virtualdjMidiPositionDeck1" rows= "3" allowedPattern = " ${ rawMidiPattern } " > </ md- filled- text- field>
87+ <md- filled- text- field type= "textarea" label = "Position updates (Deck 2)" .value = "${ this . virtualdjMidiPositionDeck2 } " id= "virtualdjMidiPositionDeck2" rows= "3" allowedPattern = " ${ rawMidiPattern } " > </ md- filled- text- field>
8788 </ div>
8889 </ section>
8990 <section>
@@ -179,8 +180,7 @@ class SettingsEdit extends SettingsMixin(LitElement) {
179180 this . midiPauseAudio = this . settings . getString ( 'midi.pauseAudio' ) ;
180181 this . midiVolumeExponentialFactor = this . settings . getString ( 'midi.volume.exponentialFactor' ) ;
181182 this . midiVolumeLinearFactor = this . settings . getString ( 'midi.volume.linearFactor' ) ;
182- this . midiVolumeLsb = this . settings . getString ( 'midi.volume.lsb' ) ;
183- this . midiVolumeMsb = this . settings . getString ( 'midi.volume.msb' ) ;
183+ this . midiVolumeValue = this . settings . getString ( 'midi.volume.value' ) ;
184184 this . songListColBpm = this . settings . getBool ( 'songList.column.bpm' ) ;
185185 this . songListColBpmShift = this . settings . getBool ( 'songList.column.bpmShift' ) ;
186186 this . songListColComments = this . settings . getBool ( 'songList.column.comments' ) ;
@@ -322,8 +322,7 @@ class SettingsEdit extends SettingsMixin(LitElement) {
322322 this . puts ( 'midi.pauseAudio' , this . shadowRoot . getElementById ( 'midiPauseAudio' ) . value ) ;
323323 this . puts ( 'midi.volume.exponentialFactor' , this . shadowRoot . getElementById ( 'midiVolumeExponentialFactor' ) . value ) ;
324324 this . puts ( 'midi.volume.linearFactor' , this . shadowRoot . getElementById ( 'midiVolumeLinearFactor' ) . value ) ;
325- this . puts ( 'midi.volume.lsb' , this . shadowRoot . getElementById ( 'midiVolumeLsb' ) . value ) ;
326- this . puts ( 'midi.volume.msb' , this . shadowRoot . getElementById ( 'midiVolumeMsb' ) . value ) ;
325+ this . puts ( 'midi.volume.value' , this . shadowRoot . getElementById ( 'midiVolumeValue' ) . value ) ;
327326 this . putb ( 'songList.column.bpm' , this . shadowRoot . getElementById ( 'songListColBpm' ) . checked ) ;
328327 this . putb ( 'songList.column.bpmShift' , this . shadowRoot . getElementById ( 'songListColBpmShift' ) . checked ) ;
329328 this . putb ( 'songList.column.comments' , this . shadowRoot . getElementById ( 'songListColComments' ) . checked ) ;
0 commit comments