Xover_VGA.cpp library

Source code of Xover_VGA library (~/libraries/Xover_VGA/Xover_VGA.cpp)

/*

Xover_VGA.cpp - Library for flashing Xover_VGA code.

Created by Sirio Maccolini 2018.

*/


#include <VGA.h>

#include "Arduino.h"

#include "Xover_VGA.h"


const int freqlenght[6]={31,15,7,31,15,7};

Xover_VGA::Xover_VGA(int pin)

{

pinMode(pin, OUTPUT);

_pin = pin;


}


char menutext[5]="Menu";

char volumestext[8]="Volumes";

char frequenciestext[12]="Frequencies";

char resonancestext[11]="Resonances";

char preferencestext[12]="Preferences";

char stereotext[7]="Stereo";

char monotext[5]="Mono";

char settingstext[9]="Settings";

char lptext[3]="LP";

char mbtext[3]="MB";

char mhtext[3]="MH";

char hptext[3]="HP";

char bptext[3]="BP";


char mhhptext[15] = "MH/HP X freq (";

char mbmhtext[15] = "MB/MH X freq (";

char lpmbtext[15] = "LP/MB X freq (";

char bphptext[15] = "BP/HP X freq (";

char lpbptext[15] = "LP/BP X freq (";

char lphptext[15] = "LP/HP X freq (";


char settings2text[11] = "<=Settings";

char buttontext[8] = "Button:";

char uptext[3] = "UP";

char downtext[5] = "DOWN";

char lefttext[5] = "LEFT";

char righttext[6] = "RIGHT";

char oktext[3] = "OK";

char newremotetext[11] = "New Remote";

char savetext[5] = "Save";

char loadtext[5] = "Load";

char order1text[10] = "12db/Oct.";

char order2text[10] = "24db/Oct.";


char cut1text[15] = "1st cut reso (";

char cut2text[15] = "2nd cut reso (";

char cut3text[15] = "3rd cut reso (";

char settingsmenutext[14] = "Settings Menu";

char backtomenutext[15] = "<=Back to Menu";

char encodertext[8] = "Encoder";

char sdpresettext[11] = "SD Presets";

char speakerlimitstext[15] = "Speaker limits";

char biggraphtext[10] = "Big Graph";

char colourstext[8] = "Colours";

char remotecontroltext[15] = "Remote control";

char energysavingtext[14] = "Energy saving";

char defaultstext[9] = "Defaults";

char preset2text[8] = "Preset2";

char preset3text[8] = "Preset3";

char preset4text[8] = "Preset4";

char preset5text[8] = "Preset5";

char preset6text[8] = "Preset6";

char preset7text[8] = "Preset7";

char preset8text[8] = "Preset8";


char hpllimittext[16] = "HP-L min freq (";

char midllimittext[17] = "Mid-L min freq (";

char hprlimittext[16] = "HP-R min freq (";

char midrlimittext[17] = "Mid-R min freq (";

char cp1text[5] = "Navy";

char cp2text[7] = "Sahara";

char cp3text[4] = "Win";

char cp4text[4] = "Ice";

char cp5text[5] = "Golf";

char cp6text[5] = "Doom";

char cp7text[8] = "Pastels";

char cp8text[4] = "Pro";

char cp9text[9] = "Contrast";

char cp10text[5] = "Neon";


void Xover_VGA::draw_notify(String notification, int colour0_code, int colour1_code, int colour2_code, int delayz){


_notification=notification;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;



char cnotification[40];


notification.toCharArray(cnotification, 40);



VGA.clear(colour0_code);

VGA.waitSync();

VGA.drawButton(cnotification,20,60,280,120,9,colour1_code,colour2_code, colour0_code);


delay(delayz);



}




void Xover_VGA::draw_graph(int ways, int mono_stereo, int xover_freq0, int xover_freq1, int xover_freq2, int xover_freq3, int xover_freq4, int xover_freq5, int xover_vol0, int xover_vol1, int xover_vol2, int xover_vol3, int xover_vol4, int xover_vol5, int xover_vol6, int xover_vol7, bool xover_order0, bool xover_order1, bool xover_order2, bool xover_order3, bool xover_order4, bool xover_order5, int colour1_code, int colour2_code, int colour6_code, int colour7_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_xover_vol0=xover_vol0;

_xover_vol1=xover_vol1;

_xover_vol2=xover_vol2;

_xover_vol3=xover_vol3;

_xover_vol4=xover_vol4;

_xover_vol5=xover_vol5;

_xover_vol6=xover_vol6;

_xover_vol7=xover_vol7;

_xover_freq0=xover_freq0;

_xover_freq1=xover_freq1;

_xover_freq2=xover_freq2;

_xover_freq3=xover_freq3;

_xover_freq4=xover_freq4;

_xover_freq5=xover_freq5;

_xover_order0=xover_order0;

_xover_order1=xover_order1;

_xover_order2=xover_order2;

_xover_order3=xover_order3;

_xover_order4=xover_order4;

_xover_order5=xover_order5;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour6_code=colour6_code;

_colour7_code=colour7_code;

_colour10_code=colour10_code;


VGA.waitSync();


if(ways==4){


VGA.fillRoundRecta(151,9,148,90,3,colour10_code);

VGA.drawLP(150, 8, 150, 92, freqlenght[2]-xover_freq2, 8, 15-xover_vol0, colour2_code, ways, xover_order0);

VGA.drawLM(150, 8, 150, 92, freqlenght[2]-xover_freq2, freqlenght[1]-xover_freq1, 8, 16, 15-xover_vol1, colour6_code, ways, xover_order0, xover_order1);

VGA.drawMH(150, 8, 150, 92, freqlenght[1]-xover_freq1, freqlenght[0]-xover_freq0, 16, 32, 15-xover_vol2, colour7_code, ways, xover_order1, xover_order2);

VGA.drawHP(150, 8, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);


if(mono_stereo == 1){VGA.fillRoundRecta(151,139,148,90,3,colour10_code);}

if(mono_stereo == 1){VGA.drawLP(150, 138, 150, 92, freqlenght[5]-xover_freq5, 8, 15-xover_vol4, colour2_code, ways, xover_order3);}

if(mono_stereo == 1){VGA.drawLM(150, 138, 150, 92, freqlenght[5]-xover_freq5, freqlenght[4]-xover_freq4, 8, 16, 15-xover_vol5, colour6_code, ways, xover_order3,xover_order4);}

if(mono_stereo == 1){VGA.drawMH(150, 138, 150, 92, freqlenght[4]-xover_freq4, freqlenght[3]-xover_freq3, 16, 32, 15-xover_vol6, colour7_code, ways, xover_order4,xover_order5);}

if(mono_stereo == 1){VGA.drawHP(150, 138, 150, 92, freqlenght[3]-xover_freq3, 32, 15-xover_vol7, colour1_code, ways, xover_order5);}


} else if(ways==3){


VGA.fillRoundRecta(151,9,148,90,3,colour10_code);

VGA.drawLP(150, 8, 150, 92, freqlenght[1]-xover_freq1, 16, 15-xover_vol1, colour2_code, ways, xover_order1);

VGA.drawMH(150, 8, 150, 92, freqlenght[1]-xover_freq1, freqlenght[0]-xover_freq0, 16, 32, 15-xover_vol2, colour7_code, ways, xover_order1, xover_order2);

VGA.drawHP(150, 8, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);


if(mono_stereo == 1){VGA.fillRoundRecta(151,139,148,90,3,colour10_code);}

if(mono_stereo == 1){VGA.drawLP(150, 138, 150, 92, freqlenght[4]-xover_freq4, 16, 15-xover_vol5, colour2_code, ways, xover_order4);}

if(mono_stereo == 1){VGA.drawMH(150, 138, 150, 92, freqlenght[4]-xover_freq4, freqlenght[3]-xover_freq3, 16, 32, 15-xover_vol6, colour7_code, ways, xover_order4,xover_order5);}

if(mono_stereo == 1){VGA.drawHP(150, 138, 150, 92, freqlenght[3]-xover_freq3, 32, 15-xover_vol7, colour1_code, ways, xover_order5);}


} else if(ways==2){


VGA.fillRoundRecta(151,9,148,90,3,colour10_code);

VGA.drawLP(150, 8, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol2, colour2_code, ways, xover_order2);

VGA.drawHP(150, 8, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);


if(mono_stereo == 1){VGA.fillRoundRecta(151,139,148,90,3,colour10_code);}

if(mono_stereo == 1){VGA.drawLP(150, 138, 150, 92, freqlenght[3]-xover_freq3, 32, 15-xover_vol6, colour2_code, ways, xover_order5);}

if(mono_stereo == 1){VGA.drawHP(150, 138, 150, 92, freqlenght[3]-xover_freq3, 32, 15-xover_vol7, colour1_code, ways, xover_order5);}


}

}


void Xover_VGA::draw_graphG(int ways, int mono_stereo, int xover_freq0, int xover_freq1, int xover_freq2, int xover_freq3, int xover_freq4, int xover_freq5, int xover_vol0, int xover_vol1, int xover_vol2, int xover_vol3, int xover_vol4, int xover_vol5, int xover_vol6, int xover_vol7, bool xover_order0, bool xover_order1, bool xover_order2, bool xover_order3, bool xover_order4, bool xover_order5, int colour1_code, int colour2_code, int colour6_code, int colour7_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_xover_vol0=xover_vol0;

_xover_vol1=xover_vol1;

_xover_vol2=xover_vol2;

_xover_vol3=xover_vol3;

_xover_vol4=xover_vol4;

_xover_vol5=xover_vol5;

_xover_vol6=xover_vol6;

_xover_vol7=xover_vol7;

_xover_freq0=xover_freq0;

_xover_freq1=xover_freq1;

_xover_freq2=xover_freq2;

_xover_freq3=xover_freq3;

_xover_freq4=xover_freq4;

_xover_freq5=xover_freq5;

_xover_order0=xover_order0;

_xover_order1=xover_order1;

_xover_order2=xover_order2;

_xover_order3=xover_order3;

_xover_order4=xover_order4;

_xover_order5=xover_order5;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour6_code=colour6_code;

_colour7_code=colour7_code;

_colour10_code=colour10_code;


VGA.waitSync();


if(ways==4){


VGA.fillRoundRecta(151,29,148,90,3,colour10_code);

VGA.drawLP(150, 28, 150, 92, freqlenght[2]-xover_freq2, 8, 15-xover_vol0, colour2_code, ways, xover_order0);

VGA.drawLM(150, 28, 150, 92, freqlenght[2]-xover_freq2, freqlenght[1]-xover_freq1, 8, 16, 15-xover_vol1, colour6_code, ways, xover_order0, xover_order1);

VGA.drawMH(150, 28, 150, 92, freqlenght[1]-xover_freq1, freqlenght[0]-xover_freq0, 16, 32, 15-xover_vol2, colour7_code, ways, xover_order1, xover_order2);

VGA.drawHP(150, 28, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);


} else if(ways==3){


VGA.fillRoundRecta(151,29,148,90,3,colour10_code);

VGA.drawLP(150, 28, 150, 92, freqlenght[1]-xover_freq1, 16, 15-xover_vol1, colour2_code, ways, xover_order1);

VGA.drawMH(150, 28, 150, 92, freqlenght[1]-xover_freq1, freqlenght[0]-xover_freq0, 16, 32, 15-xover_vol2, colour7_code, ways, xover_order1, xover_order2);

VGA.drawHP(150, 28, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);



} else if(ways==2){


VGA.fillRoundRecta(151,29,148,90,3,colour10_code);

VGA.drawLP(150, 28, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol2, colour2_code, ways, xover_order2);

VGA.drawHP(150, 28, 150, 92, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);



}

}


void Xover_VGA::draw_graphB(int ways, int mono_stereo, int xover_freq0, int xover_freq1, int xover_freq2, int xover_freq3, int xover_freq4, int xover_freq5, int xover_vol0, int xover_vol1, int xover_vol2, int xover_vol3, int xover_vol4, int xover_vol5, int xover_vol6, int xover_vol7, bool xover_order0, bool xover_order1, bool xover_order2, bool xover_order3, bool xover_order4, bool xover_order5, int colour1_code, int colour2_code, int colour6_code, int colour7_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_xover_vol0=xover_vol0;

_xover_vol1=xover_vol1;

_xover_vol2=xover_vol2;

_xover_vol3=xover_vol3;

_xover_vol4=xover_vol4;

_xover_vol5=xover_vol5;

_xover_vol6=xover_vol6;

_xover_vol7=xover_vol7;

_xover_freq0=xover_freq0;

_xover_freq1=xover_freq1;

_xover_freq2=xover_freq2;

_xover_freq3=xover_freq3;

_xover_freq4=xover_freq4;

_xover_freq5=xover_freq5;

_xover_order0=xover_order0;

_xover_order1=xover_order1;

_xover_order2=xover_order2;

_xover_order3=xover_order3;

_xover_order4=xover_order4;

_xover_order5=xover_order5;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour6_code=colour6_code;

_colour7_code=colour7_code;

_colour10_code=colour10_code;


VGA.waitSync();


if(ways==4){


VGA.fillRoundRecta(19,21,278,178,3,colour10_code);

VGA.drawLP(18, 20, 280, 180, freqlenght[2]-xover_freq2, 8, 15-xover_vol0, colour2_code, ways, xover_order0);

VGA.drawLM(18, 20, 280, 180, freqlenght[2]-xover_freq2, freqlenght[1]-xover_freq1, 8, 16, 15-xover_vol1, colour6_code, ways, xover_order0, xover_order1);

VGA.drawMH(18, 20, 280, 180, freqlenght[1]-xover_freq1, freqlenght[0]-xover_freq0, 16, 32, 15-xover_vol2, colour7_code, ways, xover_order1, xover_order2);

VGA.drawHP(18, 20, 280, 180, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);


} else if(ways==3){


VGA.fillRoundRecta(19,21,278,178,3,colour10_code);

VGA.drawLP(18, 20, 280, 180, freqlenght[1]-xover_freq1, 16, 15-xover_vol1, colour2_code, ways, xover_order1);

VGA.drawMH(18, 20, 280, 180, freqlenght[1]-xover_freq1, freqlenght[0]-xover_freq0, 16, 32, 15-xover_vol2, colour7_code, ways, xover_order1, xover_order2);

VGA.drawHP(18, 20, 280, 180, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);



} else if(ways==2){


VGA.fillRoundRecta(11,21,318,238,3,colour10_code);

VGA.drawLP(18, 20, 280, 180, freqlenght[0]-xover_freq0, 32, 15-xover_vol2, colour2_code, ways, xover_order2);

VGA.drawHP(18, 20, 280, 180, freqlenght[0]-xover_freq0, 32, 15-xover_vol3, colour1_code, ways, xover_order2);



}

}



void Xover_VGA::draw_menu(int ways, int mono_stereo, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code) {


_mono_stereo=mono_stereo;

_ways=ways;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;


char ways_title[15];

char waystxt[5] = "Ways";

sprintf(ways_title, "%i %s", ways, waystxt);


VGA.clear(colour0_code);

VGA.waitSync();


VGA.drawRoundRecta(14,2,292,104,3,colour1_code);

VGA.drawRoundRecta(150,8,150,92,3,colour4_code);



VGA.drawButton(menutext,20,8,120,20,9,colour2_code,colour2_code, colour0_code);

VGA.drawButton(volumestext,20,32,120,20,9,colour1_code,colour1_code, colour0_code);

VGA.drawButton(frequenciestext,20,56,120,20,9,colour1_code,colour1_code, colour0_code);

VGA.drawButton(resonancestext,20,80,120,20,9,colour1_code,colour1_code, colour0_code);

VGA.drawRoundRecta(14,132,292,104,3,colour2_code);

VGA.drawRoundRecta(150,138,150,92,3,colour5_code);

VGA.drawButton(preferencestext,20,138,120,20,9,colour2_code,colour2_code, colour0_code);

VGA.drawButton(ways_title,20,162,120,20,9,colour1_code,colour1_code, colour0_code);




if(mono_stereo == 1){VGA.drawButton(stereotext,20,186,120,20,9,colour1_code,colour1_code, colour0_code);} else {VGA.drawButton(monotext,20,186,120,20,9,colour1_code,colour1_code, colour0_code);}

VGA.drawButton(settingstext,20,210,120,20,9,colour1_code,colour1_code, colour0_code);

}



void Xover_VGA::switch_menu(int ways, int mono_stereo, int page, int pos, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code) {


_mono_stereo=mono_stereo;

_ways=ways;

_page=page;

_pos=pos;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

char ways_title[15];

char waystxt[5] = "Ways";

sprintf(ways_title, "%i %s", ways, waystxt);


VGA.waitSync();


if(page==0){


switch(pos){

case 0:

VGA.drawButton(volumestext,20,32,120,20,9,colour1_code,colour3_code, colour0_code);

VGA.drawButton(frequenciestext,20,56,120,20,9,colour1_code,colour1_code, colour0_code);

break;

case 1:

VGA.drawButton(volumestext,20,32,120,20,9,colour1_code,colour1_code, colour0_code);

VGA.drawButton(frequenciestext,20,56,120,20,9,colour1_code,colour3_code, colour0_code);

VGA.drawButton(resonancestext,20,80,120,20,9,colour1_code,colour1_code, colour0_code);

break;

case 2:

VGA.drawButton(frequenciestext,20,56,120,20,9,colour1_code,colour1_code, colour0_code);

VGA.drawButton(resonancestext,20,80,120,20,9,colour1_code,colour3_code, colour0_code);

VGA.drawButton(ways_title,20,162,120,20,9,colour1_code,colour1_code, colour0_code);

break;

case 3:

VGA.drawButton(resonancestext,20,80,120,20,9,colour1_code,colour1_code, colour0_code);

VGA.drawButton(ways_title,20,162,120,20,9,colour1_code,colour3_code, colour0_code);

if(mono_stereo == 1){VGA.drawButton(stereotext,20,186,120,20,9,colour1_code,colour1_code, colour0_code);} else {VGA.drawButton(monotext,20,186,120,20,9,colour1_code,colour1_code, colour0_code);}

break;

case 4:

VGA.drawButton(ways_title,20,162,120,20,9,colour1_code,colour1_code, colour0_code);

if(mono_stereo == 1){VGA.drawButton(stereotext,20,186,120,20,9,colour1_code,colour3_code, colour0_code);} else {VGA.drawButton(monotext,20,186,120,20,9,colour1_code,colour3_code, colour0_code);}

VGA.drawButton(settingstext,20,210,120,20,9,colour1_code,colour1_code, colour0_code);

break;

case 5:

if(mono_stereo == 1){VGA.drawButton(stereotext,20,186,120,20,9,colour1_code,colour1_code, colour0_code);} else {VGA.drawButton(monotext,20,186,120,20,9,colour1_code,colour1_code, colour0_code);}

VGA.drawButton(settingstext,20,210,120,20,9,colour1_code,colour3_code, colour0_code);

break;

}

}

}



void Xover_VGA::draw_volumes(int ways, int mono_stereo, int xover_vol0, int xover_vol1, int xover_vol2, int xover_vol3, int xover_vol4, int xover_vol5, int xover_vol6, int xover_vol7, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code) {


_mono_stereo=mono_stereo;

_ways=ways;

_xover_vol0=xover_vol0;

_xover_vol1=xover_vol1;

_xover_vol2=xover_vol2;

_xover_vol3=xover_vol3;

_xover_vol4=xover_vol4;

_xover_vol5=xover_vol5;

_xover_vol6=xover_vol6;

_xover_vol7=xover_vol7;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;


VGA.clear(colour0_code);

VGA.waitSync();

if(mono_stereo==1){VGA.drawRoundRecta(10,10,140,220,13,colour1_code);}else{VGA.drawRoundRecta(90,10,140,220,13,colour1_code);}

if(mono_stereo==1){VGA.drawRoundRecta(170,10,140,220,13,colour2_code);}

if(ways==4){

if(mono_stereo==1){VGA.linpot_V(lptext,20,30,9,15,xover_vol0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

else{VGA.linpot_V(lptext,100,30,9,15,xover_vol0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 6

if(mono_stereo==1){VGA.linpot_V(mbtext,55,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

else{VGA.linpot_V(mbtext,135,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 7

if(mono_stereo==1){VGA.linpot_V(mhtext,90,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

else{VGA.linpot_V(mhtext,170,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,125,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

else{VGA.linpot_V(hptext,205,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){

VGA.linpot_V(lptext,180,30,9,15,xover_vol4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code); //pos 10

VGA.linpot_V(mbtext,215,30,9,15,xover_vol5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code); //pos 11

VGA.linpot_V(mhtext,250,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code); //pos 12

VGA.linpot_V(hptext,285,30,9,15,xover_vol7,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code); //pos 13

}


}else if (ways==3) {

if(mono_stereo==1){VGA.linpot_V(lptext,20,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,100,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 7

if(mono_stereo==1){VGA.linpot_V(bptext,70,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(bptext,150,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,120,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,200,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 11

if(mono_stereo==1){VGA.linpot_V(bptext,230,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,280,30,9,15,xover_vol7,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 13


}else if (ways==2) {

if(mono_stereo==1){VGA.linpot_V(lptext,45,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,125,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,100,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,180,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,205,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,260,30,9,15,xover_vol7,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 13

}


}



void Xover_VGA::switch_volumes(int ways, int mono_stereo, int page, int pos, int xover_vol0, int xover_vol1, int xover_vol2, int xover_vol3, int xover_vol4, int xover_vol5, int xover_vol6, int xover_vol7, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_page=page;

_pos=pos;

_xover_vol0=xover_vol0;

_xover_vol1=xover_vol1;

_xover_vol2=xover_vol2;

_xover_vol3=xover_vol3;

_xover_vol4=xover_vol4;

_xover_vol5=xover_vol5;

_xover_vol6=xover_vol6;

_xover_vol7=xover_vol7;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;



VGA.waitSync();


if (ways==4) {


switch(pos){

case 6:

if(mono_stereo==1){VGA.linpot_V(lptext,20,30,9,15,xover_vol0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,100,30,9,15,xover_vol0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 6

if(mono_stereo==1){VGA.linpot_V(mbtext,55,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(mbtext,135,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 7

break;

case 7:

if(mono_stereo==1){VGA.linpot_V(lptext,20,30,9,15,xover_vol0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,100,30,9,15,xover_vol0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 6

if(mono_stereo==1){VGA.linpot_V(mbtext,55,30,9,15,xover_vol1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(mbtext,135,30,9,15,xover_vol1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 7

if(mono_stereo==1){VGA.linpot_V(mhtext,90,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(mhtext,170,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

break;

case 8:

if(mono_stereo==1){VGA.linpot_V(mbtext,55,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(mbtext,135,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 7

if(mono_stereo==1){VGA.linpot_V(mhtext,90,30,9,15,xover_vol2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(mhtext,170,30,9,15,xover_vol2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,125,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,205,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

break;

case 9:

if(mono_stereo==1){VGA.linpot_V(mhtext,90,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(mhtext,170,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,125,30,9,15,xover_vol3,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,205,30,9,15,xover_vol3,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 10

break;

case 10:

if(mono_stereo==1){VGA.linpot_V(hptext,125,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,205,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol4,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 10

if(mono_stereo==1){VGA.linpot_V(mbtext,215,30,9,15,xover_vol5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 11

break;

case 11:

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 10

if(mono_stereo==1){VGA.linpot_V(mbtext,215,30,9,15,xover_vol5,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 11

if(mono_stereo==1){VGA.linpot_V(mhtext,250,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

break;

case 12:

if(mono_stereo==1){VGA.linpot_V(mbtext,215,30,9,15,xover_vol5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 11

if(mono_stereo==1){VGA.linpot_V(mhtext,250,30,9,15,xover_vol6,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,285,30,9,15,xover_vol7,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 13

break;

case 13:

if(mono_stereo==1){VGA.linpot_V(mhtext,250,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,285,30,9,15,xover_vol7,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 13

break;

}

} else if(ways==3){


switch(pos){

case 6:

break;

case 7:

if(mono_stereo==1){VGA.linpot_V(lptext,20,30,9,15,xover_vol1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,100,30,9,15,xover_vol1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 7

if(mono_stereo==1){VGA.linpot_V(bptext,70,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(bptext,150,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

break;

case 8:

if(mono_stereo==1){VGA.linpot_V(lptext,20,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,100,30,9,15,xover_vol1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 7

if(mono_stereo==1){VGA.linpot_V(bptext,70,30,9,15,xover_vol2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(bptext,150,30,9,15,xover_vol2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,120,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,200,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

break;

case 9:

if(mono_stereo==1){VGA.linpot_V(bptext,70,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(bptext,150,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,120,30,9,15,xover_vol3,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,200,30,9,15,xover_vol3,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 11

break;

case 10:

break;

case 11:

if(mono_stereo==1){VGA.linpot_V(hptext,120,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,200,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol5,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 11

if(mono_stereo==1){VGA.linpot_V(bptext,230,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

break;

case 12:

if(mono_stereo==1){VGA.linpot_V(lptext,180,30,9,15,xover_vol5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 11

if(mono_stereo==1){VGA.linpot_V(bptext,230,30,9,15,xover_vol6,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,280,30,9,15,xover_vol7,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 13

break;

case 13:

if(mono_stereo==1){VGA.linpot_V(bptext,230,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,280,30,9,15,xover_vol7,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 13

break;

}


}else if (ways==2) {


switch(pos){


case 6:

break;

case 7:

break;

case 8:

if(mono_stereo==1){VGA.linpot_V(lptext,45,30,9,15,xover_vol2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,125,30,9,15,xover_vol2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,100,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,180,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

break;

case 9:

if(mono_stereo==1){VGA.linpot_V(lptext,45,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(lptext,125,30,9,15,xover_vol2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 8

if(mono_stereo==1){VGA.linpot_V(hptext,100,30,9,15,xover_vol3,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,180,30,9,15,xover_vol3,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,205,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

break;

case 10:

break;

case 11:

break;

case 12:

if(mono_stereo==1){VGA.linpot_V(hptext,100,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_V(hptext,180,30,9,15,xover_vol3,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} //pos 9

if(mono_stereo==1){VGA.linpot_V(lptext,205,30,9,15,xover_vol6,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,260,30,9,15,xover_vol7,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 13

break;

case 13:

if(mono_stereo==1){VGA.linpot_V(lptext,205,30,9,15,xover_vol6,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);} //pos 12

if(mono_stereo==1){VGA.linpot_V(hptext,260,30,9,15,xover_vol7,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);} //pos 13

break;

}

}

}






void Xover_VGA::draw_freq(int ways, int mono_stereo, int xover_freq0, int xover_freq1, int xover_freq2, int xover_freq3, int xover_freq4, int xover_freq5, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_xover_freq0=xover_freq0;

_xover_freq1=xover_freq1;

_xover_freq2=xover_freq2;

_xover_freq3=xover_freq3;

_xover_freq4=xover_freq4;

_xover_freq5=xover_freq5;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;

VGA.clear(colour0_code);

VGA.waitSync();


if(ways==4){


if(mono_stereo==1){VGA.drawRoundRecta(14,2,292,114,13,colour1_code);} else {VGA.drawRoundRecta(14,62,292,114,13,colour1_code);}

if(mono_stereo==1){VGA.drawRoundRecta(14,122,292,114,13,colour2_code);}

if(mono_stereo==1){VGA.linpot_H(mhhptext,20,18,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mhhptext,20,78,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,54,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mbmhtext,20,114,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,90,9,7,xover_freq2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code); } else {VGA.linpot_H(lpmbtext,20,150,9,7,xover_freq2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code); }


if(mono_stereo==1){VGA.linpot_H(mhhptext,20,138,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,174,9,15,xover_freq4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,210,9,7,xover_freq5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}


} else if(ways==3) {


if(mono_stereo==1){VGA.drawRoundRecta(14,17,292,84,13,colour1_code);} else {VGA.drawRoundRecta(14,62,292,114,13,colour1_code);}

if(mono_stereo==1){VGA.drawRoundRecta(14,137,292,84,13,colour2_code);}

if(mono_stereo==1){VGA.linpot_H(bphptext,20,33,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(bphptext,20,88,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,74,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lpbptext,20,134,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}


if(mono_stereo==1){VGA.linpot_H(bphptext,20,153,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,194,9,15,xover_freq4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}


} else if(ways==2) {


if(mono_stereo==1){VGA.drawRoundRecta(14,27,292,64,13,colour1_code);} else {VGA.drawRoundRecta(14,82,292,64,13,colour1_code);}

if(mono_stereo==1){VGA.drawRoundRecta(14,147,292,64,13,colour2_code);}

if(mono_stereo==1){VGA.linpot_H(lphptext,20,53,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lphptext,20,108,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}


if(mono_stereo==1){VGA.linpot_H(lphptext,20,173,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}


}


}






void Xover_VGA::switch_freq(int ways, int mono_stereo, int page, int pos, int xover_freq0, int xover_freq1, int xover_freq2, int xover_freq3, int xover_freq4, int xover_freq5, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_page=page;

_pos=pos;

_xover_freq0=xover_freq0;

_xover_freq1=xover_freq1;

_xover_freq2=xover_freq2;

_xover_freq3=xover_freq3;

_xover_freq4=xover_freq4;

_xover_freq5=xover_freq5;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;



VGA.waitSync();


if(ways==4){


switch(pos){

case 14:

if(mono_stereo==1){VGA.linpot_H(mhhptext,20,18,9,31,xover_freq0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mhhptext,20,78,9,31,xover_freq0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,54,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mbmhtext,20,114,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

break;

case 15:

if(mono_stereo==1){VGA.linpot_H(mhhptext,20,18,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mhhptext,20,78,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,54,9,15,xover_freq1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mbmhtext,20,114,9,15,xover_freq1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,90,9,7,xover_freq2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lpmbtext,20,150,9,7,xover_freq2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

break;

case 16:

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,54,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(mbmhtext,20,114,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,90,9,7,xover_freq2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code); } else {VGA.linpot_H(lpmbtext,20,150,9,7,xover_freq2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mhhptext,20,138,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 17:

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,90,9,7,xover_freq2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lpmbtext,20,150,9,7,xover_freq2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mhhptext,20,138,9,31,xover_freq3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,174,9,15,xover_freq4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 18:

if(mono_stereo==1){VGA.linpot_H(mhhptext,20,138,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,174,9,15,xover_freq4,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,210,9,7,xover_freq5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 19:

if(mono_stereo==1){VGA.linpot_H(mbmhtext,20,174,9,15,xover_freq4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpmbtext,20,210,9,7,xover_freq5,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

break;

}


} else if(ways==3) {


switch(pos){


case 14:

if(mono_stereo==1){VGA.linpot_H(bphptext,20,33,9,31,xover_freq0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(bphptext,20,88,9,31,xover_freq0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,74,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lpbptext,20,134,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

break;

case 15:

if(mono_stereo==1){VGA.linpot_H(bphptext,20,33,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(bphptext,20,88,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,74,9,15,xover_freq1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lpbptext,20,134,9,15,xover_freq1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(bphptext,20,153,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 16:


break;

case 17:

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,74,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lpbptext,20,134,9,15,xover_freq1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(bphptext,20,153,9,31,xover_freq3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,194,9,15,xover_freq4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 18:

if(mono_stereo==1){VGA.linpot_H(bphptext,20,153,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lpbptext,20,194,9,15,xover_freq4,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

break;

case 19:


break;

}


} else if(ways==2) {


switch(pos){


case 14:

if(mono_stereo==1){VGA.linpot_H(lphptext,20,53,9,31,xover_freq0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lphptext,20,108,9,31,xover_freq0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lphptext,20,173,9,31,xover_freq3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 15:

break;

case 16:

break;

case 17:

if(mono_stereo==1){VGA.linpot_H(lphptext,20,53,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);} else {VGA.linpot_H(lphptext,20,108,9,31,xover_freq0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(lphptext,20,173,9,31,xover_freq3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

break;

case 18:

break;

case 19:

break;

}


}



}




void Xover_VGA::draw_reso(int ways, int mono_stereo, int xover_reso0, int xover_reso1, int xover_reso2, int xover_reso3, int xover_reso4, int xover_reso5, bool xover_order0, bool xover_order1, bool xover_order2, bool xover_order3, bool xover_order4, bool xover_order5, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code) {


_mono_stereo=mono_stereo;

_ways=ways;

_xover_reso0=xover_reso0;

_xover_reso1=xover_reso1;

_xover_reso2=xover_reso2;

_xover_reso3=xover_reso3;

_xover_reso4=xover_reso4;

_xover_reso5=xover_reso5;


_xover_order0=xover_order0;

_xover_order1=xover_order1;

_xover_order2=xover_order2;

_xover_order3=xover_order3;

_xover_order4=xover_order4;

_xover_order5=xover_order5;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;


VGA.clear(colour0_code);

VGA.waitSync();




if(ways==4){

if(mono_stereo==1){VGA.drawRoundRecta(14,2,292,114,13,colour1_code);VGA.drawRoundRecta(14,122,292,114,13,colour2_code);}else{VGA.drawRoundRecta(14,2,292,114,13,colour1_code);}

if(xover_order0==0){VGA.drawButton(order1text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order1==0){VGA.drawButton(order1text,120,54,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,54,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order2==0){VGA.drawButton(order1text,120,90,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,90,80,20,3,colour4_code,colour1_code, colour0_code);}

if(mono_stereo==1){if(xover_order3==0){VGA.drawButton(order1text,120,138,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,138,80,20,3,colour5_code,colour2_code, colour0_code);}

if(xover_order4==0){VGA.drawButton(order1text,120,174,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,174,80,20,3,colour5_code,colour2_code, colour0_code);}

if(xover_order5==0){VGA.drawButton(order1text,120,210,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,210,80,20,3,colour5_code,colour2_code, colour0_code);}

}


VGA.linpot_HR(cut1text,38,18,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,54,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut3text,38,90,17,3,xover_reso2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);


if(mono_stereo==1){VGA.linpot_HR(cut1text,38,138,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,174,17,3,xover_reso4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut3text,38,210,17,3,xover_reso5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

}


}else if(ways==3){

if(mono_stereo==1){VGA.drawRoundRecta(14,18,292,84,13,colour1_code);VGA.drawRoundRecta(14,138,292,84,13,colour2_code);}else{VGA.drawRoundRecta(14,18,292,84,13,colour1_code);}

if(xover_order0==0){VGA.drawButton(order1text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order1==0){VGA.drawButton(order1text,120,74,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,74,80,20,3,colour4_code,colour1_code, colour0_code);}



if(mono_stereo==1){if(xover_order3==0){VGA.drawButton(order1text,120,158,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,158,80,20,3,colour5_code,colour2_code, colour0_code);}

if(xover_order4==0){VGA.drawButton(order1text,120,194,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,194,80,20,3,colour5_code,colour2_code, colour0_code);}


}


VGA.linpot_HR(cut1text,38,38,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,74,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);


if(mono_stereo==1){VGA.linpot_HR(cut1text,38,158,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,194,17,3,xover_reso4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

}else if(ways==2){

if(mono_stereo==1){VGA.drawRoundRecta(14,22,292,64,13,colour1_code);VGA.drawRoundRecta(14,142,292,64,13,colour2_code);}else{VGA.drawRoundRecta(14,22,292,64,13,colour1_code);}

if(xover_order0==0){VGA.drawButton(order1text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}



if(mono_stereo==1){if(xover_order3==0){VGA.drawButton(order1text,120,168,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,168,80,20,3,colour5_code,colour2_code, colour0_code);}


}


VGA.linpot_HR(cut1text,38,48,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);


if(mono_stereo==1){VGA.linpot_HR(cut1text,38,168,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

}


}




void Xover_VGA::switch_reso(int ways, int mono_stereo, int page, int pos, int xover_reso0, int xover_reso1, int xover_reso2, int xover_reso3, int xover_reso4, int xover_reso5, bool xover_order0, bool xover_order1, bool xover_order2, bool xover_order3, bool xover_order4, bool xover_order5, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code) {


_mono_stereo=mono_stereo;

_ways=ways;

_xover_reso0=xover_reso0;

_xover_reso1=xover_reso1;

_xover_reso2=xover_reso2;

_xover_reso3=xover_reso3;

_xover_reso4=xover_reso4;

_xover_reso5=xover_reso5;


_xover_order0=xover_order0;

_xover_order1=xover_order1;

_xover_order2=xover_order2;

_xover_order3=xover_order3;

_xover_order4=xover_order4;

_xover_order5=xover_order5;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;


VGA.waitSync();



if(ways==4){

switch(pos){

case 20:

VGA.linpot_HR(cut1text,38,18,17,3,xover_reso0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,54,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

break;

case 21:

VGA.linpot_HR(cut1text,38,18,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,54,17,3,xover_reso1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut3text,38,90,17,3,xover_reso2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

break;

case 22:

VGA.linpot_HR(cut2text,38,54,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut3text,38,90,17,3,xover_reso2,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);

if(mono_stereo==1){VGA.linpot_HR(cut1text,38,138,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

else{if(xover_order0==0){VGA.drawButton(order1text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}}

break;

case 23:

VGA.linpot_HR(cut3text,38,90,17,3,xover_reso2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut1text,38,138,17,3,xover_reso3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,174,17,3,xover_reso4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

break;

case 24:

VGA.linpot_HR(cut1text,38,138,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,174,17,3,xover_reso4,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut3text,38,210,17,3,xover_reso5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

break;

case 25:

VGA.linpot_HR(cut2text,38,174,17,3,xover_reso4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut3text,38,210,17,3,xover_reso5,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);

if(xover_order0==0){if(mono_stereo==1){VGA.drawButton(order1text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}}

else{if(mono_stereo==1){VGA.drawButton(order2text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}}

break;

case 26:

if(mono_stereo==1){VGA.linpot_HR(cut3text,38,210,17,3,xover_reso5,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_HR(cut3text,38,90,17,3,xover_reso2,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(xover_order0==0){VGA.drawButton(order1text,120,18,80,20,3,colour4_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,18,80,20,3,colour4_code,colour3_code, colour0_code);}

if(xover_order1==0){VGA.drawButton(order1text,120,54,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,54,80,20,3,colour4_code,colour1_code, colour0_code);}

break;

case 27:

if(xover_order0==0){VGA.drawButton(order1text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,18,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order1==0){VGA.drawButton(order1text,120,54,80,20,3,colour4_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,54,80,20,3,colour4_code,colour3_code, colour0_code);}

if(xover_order2==0){VGA.drawButton(order1text,120,90,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,90,80,20,3,colour4_code,colour1_code, colour0_code);}

break;

case 28:

if(xover_order1==0){VGA.drawButton(order1text,120,54,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,54,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order2==0){VGA.drawButton(order1text,120,90,80,20,3,colour4_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,90,80,20,3,colour4_code,colour3_code, colour0_code);}

if(xover_order3==0){if(mono_stereo==1){VGA.drawButton(order1text,120,138,80,20,3,colour5_code,colour2_code, colour0_code);}}

else{if(mono_stereo==1){VGA.drawButton(order2text,120,138,80,20,3,colour5_code,colour2_code, colour0_code);}}

break;

case 29:

if(xover_order2==0){VGA.drawButton(order1text,120,90,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,90,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order3==0){VGA.drawButton(order1text,120,138,80,20,3,colour5_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,138,80,20,3,colour5_code,colour3_code, colour0_code);}

if(xover_order4==0){VGA.drawButton(order1text,120,174,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,174,80,20,3,colour5_code,colour2_code, colour0_code);}

break;

case 30:

if(xover_order3==0){VGA.drawButton(order1text,120,138,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,138,80,20,3,colour5_code,colour2_code, colour0_code);}

if(xover_order4==0){VGA.drawButton(order1text,120,174,80,20,3,colour5_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,174,80,20,3,colour5_code,colour3_code, colour0_code);}

if(xover_order5==0){VGA.drawButton(order1text,120,210,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,210,80,20,3,colour5_code,colour2_code, colour0_code);}

break;

case 31:

if(xover_order4==0){VGA.drawButton(order1text,120,174,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,174,80,20,3,colour5_code,colour2_code, colour0_code);}

if(xover_order5==0){VGA.drawButton(order1text,120,210,80,20,3,colour5_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,210,80,20,3,colour5_code,colour3_code, colour0_code);}

break;

}

}else if(ways==3){


switch(pos){


case 20:

VGA.linpot_HR(cut1text,38,38,17,3,xover_reso0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);//20

VGA.linpot_HR(cut2text,38,74,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code); //21

break;

case 21:

VGA.linpot_HR(cut1text,38,38,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);//20

VGA.linpot_HR(cut2text,38,74,17,3,xover_reso1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code); //21

if(mono_stereo==1){VGA.linpot_HR(cut1text,38,158,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}else{if(xover_order0==0){VGA.drawButton(order1text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}}

break;

case 22:

break;

case 23:

VGA.linpot_HR(cut2text,38,74,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut1text,38,158,17,3,xover_reso3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,194,17,3,xover_reso4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

break;

case 24:

VGA.linpot_HR(cut1text,38,158,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);

VGA.linpot_HR(cut2text,38,194,17,3,xover_reso4,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);

if(xover_order0==0){VGA.drawButton(order1text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

break;

case 25:

break;

case 26:

if(mono_stereo==1){VGA.linpot_HR(cut2text,38,194,17,3,xover_reso4,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_HR(cut2text,38,74,17,3,xover_reso1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(xover_order0==0){VGA.drawButton(order1text,120,38,80,20,3,colour4_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,38,80,20,3,colour4_code,colour3_code, colour0_code);}

if(xover_order1==0){VGA.drawButton(order1text,120,74,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,74,80,20,3,colour4_code,colour1_code, colour0_code);}

break;

case 27:

if(xover_order0==0){VGA.drawButton(order1text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,38,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order1==0){VGA.drawButton(order1text,120,74,80,20,3,colour4_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,74,80,20,3,colour4_code,colour3_code, colour0_code);}

if(xover_order3==0){if(mono_stereo==1){VGA.drawButton(order1text,120,158,80,20,3,colour5_code,colour2_code, colour0_code);}}

else{if(mono_stereo==1){VGA.drawButton(order2text,120,158,80,20,3,colour5_code,colour2_code, colour0_code);}}

break;

case 28:

break;

case 29:

if(xover_order1==0){VGA.drawButton(order1text,120,74,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,74,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order3==0){VGA.drawButton(order1text,120,158,80,20,3,colour5_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,158,80,20,3,colour5_code,colour3_code, colour0_code);}

if(xover_order4==0){VGA.drawButton(order1text,120,194,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,194,80,20,3,colour5_code,colour2_code, colour0_code);}

break;

case 30:

if(xover_order3==0){VGA.drawButton(order1text,120,158,80,20,3,colour5_code,colour2_code, colour0_code);}

else{VGA.drawButton(order2text,120,158,80,20,3,colour5_code,colour2_code, colour0_code);}

if(xover_order4==0){VGA.drawButton(order1text,120,194,80,20,3,colour5_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,194,80,20,3,colour5_code,colour3_code, colour0_code);}

break;

case 31:

break;

}


}else if(ways==2){


switch(pos){


case 20:

VGA.linpot_HR(cut1text,38,48,17,3,xover_reso0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);//20

if(mono_stereo==1){VGA.linpot_HR(cut1text,38,168,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

else{if(xover_order0==0){VGA.drawButton(order1text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}}

break;

case 21:

break;

case 22:

break;

case 23:

VGA.linpot_HR(cut1text,38,48,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);//20

if(mono_stereo==1){VGA.linpot_HR(cut1text,38,168,17,3,xover_reso3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(xover_order0==0){VGA.drawButton(order1text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}

break;

case 24:

break;

case 25:

break;

case 26:

if(mono_stereo==1){VGA.linpot_HR(cut1text,38,168,17,3,xover_reso3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}else{VGA.linpot_HR(cut1text,38,48,17,3,xover_reso0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}//20}

if(xover_order0==0){VGA.drawButton(order1text,120,48,80,20,3,colour4_code,colour3_code, colour0_code);}

else{VGA.drawButton(order2text,120,48,80,20,3,colour4_code,colour3_code, colour0_code);}

if(xover_order3==0){if(mono_stereo==1){VGA.drawButton(order1text,120,168,80,20,3,colour5_code,colour2_code, colour0_code);}}

else{if(mono_stereo==1){VGA.drawButton(order2text,120,168,80,20,3,colour5_code,colour2_code, colour0_code);}}

break;

case 27:

break;

case 28:

break;

case 29:

if(xover_order0==0){VGA.drawButton(order1text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}

else{VGA.drawButton(order2text,120,48,80,20,3,colour4_code,colour1_code, colour0_code);}

if(xover_order3==0){if(mono_stereo==1){VGA.drawButton(order1text,120,168,80,20,3,colour5_code,colour3_code, colour0_code);}}

else{if(mono_stereo==1){VGA.drawButton(order2text,120,168,80,20,3,colour5_code,colour3_code, colour0_code);}}

break;

case 30:

break;

case 31:

break;

}


}



}




void Xover_VGA::draw_settingsMenu(int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code) {


_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;


VGA.clear(colour0_code);

VGA.waitSync();


VGA.drawRoundRecta(94,2,132,228,9,colour1_code);


VGA.drawButton(settingsmenutext,100,8,120,20,9,colour2_code,colour2_code, colour0_code);

VGA.drawButton(backtomenutext,100,32,120,20,9,colour1_code,colour1_code, colour0_code);//pos32

VGA.drawButton(encodertext,100,56,120,20,9,colour1_code,colour1_code, colour0_code);//pos33

VGA.drawButton(sdpresettext,100,80,120,20,9,colour1_code,colour1_code, colour0_code);//pos34

VGA.drawButton(speakerlimitstext,100,104,120,20,9,colour1_code,colour1_code, colour0_code);//pos35

VGA.drawButton(biggraphtext,100,128,120,20,9,colour1_code,colour1_code, colour0_code);//pos36

VGA.drawButton(colourstext,100,152,120,20,9,colour1_code,colour1_code, colour0_code);//pos37

VGA.drawButton(remotecontroltext,100,176,120,20,9,colour1_code,colour1_code, colour0_code);//pos38

VGA.drawButton(energysavingtext,100,200,120,20,9,colour1_code,colour1_code, colour0_code);//pos39

}



void Xover_VGA::switch_settingsMenu(int page, int pos, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code) {


_page=page;

_pos=pos;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;



VGA.waitSync();


if(page==4){


switch(pos){

case 32:

VGA.drawButton(backtomenutext,100,32,120,20,9,colour1_code,colour3_code, colour0_code);//pos32

VGA.drawButton(encodertext,100,56,120,20,9,colour1_code,colour1_code, colour0_code);//pos33

break;

case 33:

VGA.drawButton(backtomenutext,100,32,120,20,9,colour1_code,colour1_code, colour0_code);//pos32

VGA.drawButton(encodertext,100,56,120,20,9,colour1_code,colour3_code, colour0_code);//pos33

VGA.drawButton(sdpresettext,100,80,120,20,9,colour1_code,colour1_code, colour0_code);//pos34

break;

case 34:

VGA.drawButton(encodertext,100,56,120,20,9,colour1_code,colour1_code, colour0_code);//pos33

VGA.drawButton(sdpresettext,100,80,120,20,9,colour1_code,colour3_code, colour0_code);//pos34

VGA.drawButton(speakerlimitstext,100,104,120,20,9,colour1_code,colour1_code, colour0_code);//pos35

break;

case 35:

VGA.drawButton(sdpresettext,100,80,120,20,9,colour1_code,colour1_code, colour0_code);//pos34

VGA.drawButton(speakerlimitstext,100,104,120,20,9,colour1_code,colour3_code, colour0_code);//pos35

VGA.drawButton(biggraphtext,100,128,120,20,9,colour1_code,colour1_code, colour0_code);//pos36

break;

case 36:

VGA.drawButton(speakerlimitstext,100,104,120,20,9,colour1_code,colour1_code, colour0_code);//pos35

VGA.drawButton(biggraphtext,100,128,120,20,9,colour1_code,colour3_code, colour0_code);//pos36

VGA.drawButton(colourstext,100,152,120,20,9,colour1_code,colour1_code, colour0_code);//pos37

break;

case 37:

VGA.drawButton(biggraphtext,100,128,120,20,9,colour1_code,colour1_code, colour0_code);//pos36

VGA.drawButton(colourstext,100,152,120,20,9,colour1_code,colour3_code, colour0_code);//pos37

VGA.drawButton(remotecontroltext,100,176,120,20,9,colour1_code,colour1_code, colour0_code);//pos38

break;

case 38:

VGA.drawButton(colourstext,100,152,120,20,9,colour1_code,colour1_code, colour0_code);//pos37

VGA.drawButton(remotecontroltext,100,176,120,20,9,colour1_code,colour3_code, colour0_code);//pos38

VGA.drawButton(energysavingtext,100,200,120,20,9,colour1_code,colour1_code, colour0_code);//pos39

break;

case 39:

VGA.drawButton(remotecontroltext,100,176,120,20,9,colour1_code,colour1_code, colour0_code);//pos38

VGA.drawButton(energysavingtext,100,200,120,20,9,colour1_code,colour3_code, colour0_code);//pos39

break;

}

}

}


void Xover_VGA::set_encoder_res(int encoderRes, bool update_mode, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code) {


_encoderRes=encoderRes;

_update_mode=update_mode;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;




if (update_mode==0){VGA.clear(colour0_code); VGA.waitSync(); VGA.drawRoundRecta(24,94,272,52,9,colour1_code);}


char res_title[40];

sprintf(res_title, "Encoder Resolution = %i tick(s)", encoderRes);


VGA.drawButton(res_title,30,110,260,20,9,colour2_code,colour3_code, colour0_code);

}



void Xover_VGA::draw_SD_presets(bool clear, int selected_preset, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour8_code){


_selected_preset=selected_preset;

_clear=clear;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour8_code=colour8_code;



if(clear==1){VGA.clear(colour0_code);};

VGA.waitSync();


VGA.drawRoundRecta(14,10,292,220,3,colour2_code);

VGA.drawRoundRecta(150,28,150,92,3,colour1_code);


VGA.drawButton(settings2text,20,14,120,20,9,colour1_code,colour2_code, colour0_code);

if(selected_preset!=1){VGA.drawButton(defaultstext,20,38,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(defaultstext,20,38,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=2){VGA.drawButton(preset2text,20,62,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset2text,20,62,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=3){VGA.drawButton(preset3text,20,86,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset3text,20,86,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=4){VGA.drawButton(preset4text,20,110,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset4text,20,110,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=5){VGA.drawButton(preset5text,20,134,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset5text,20,134,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=6){VGA.drawButton(preset6text,20,158,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset6text,20,158,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=7){VGA.drawButton(preset7text,20,182,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset7text,20,182,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=8){VGA.drawButton(preset8text,20,206,120,20,9,colour1_code,colour1_code, colour0_code);} else{VGA.drawButton(preset8text,20,206,120,20,9,colour8_code,colour1_code, colour0_code);}

VGA.drawButton(loadtext,165,150,120,20,9,colour2_code,colour2_code, colour0_code);

VGA.drawButton(savetext,165,190,120,20,9,colour2_code,colour2_code, colour0_code);

}





void Xover_VGA::switch_SD_presets(int page, int pos, int selected_preset, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour8_code){

_selected_preset=selected_preset;

_page=page;

_pos=pos;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour8_code=colour8_code;



VGA.waitSync();


if(page==6){


switch(pos){

case 41:

VGA.drawButton(settings2text,20,14,120,20,9,colour2_code,colour3_code, colour0_code);

if(selected_preset!=1){VGA.drawButton(defaultstext,20,38,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(defaultstext,20,38,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 42:

VGA.drawButton(settings2text,20,14,120,20,9,colour2_code,colour2_code, colour0_code);

if(selected_preset!=1){VGA.drawButton(defaultstext,20,38,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(defaultstext,20,38,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=2){VGA.drawButton(preset2text,20,62,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset2text,20,62,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 43:

if(selected_preset!=1){VGA.drawButton(defaultstext,20,38,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(defaultstext,20,38,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=2){VGA.drawButton(preset2text,20,62,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset2text,20,62,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=3){VGA.drawButton(preset3text,20,86,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset3text,20,86,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 44:

if(selected_preset!=2){VGA.drawButton(preset2text,20,62,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset2text,20,62,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=3){VGA.drawButton(preset3text,20,86,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset3text,20,86,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=4){VGA.drawButton(preset4text,20,110,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset4text,20,110,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 45:

if(selected_preset!=3){VGA.drawButton(preset3text,20,86,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset3text,20,86,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=4){VGA.drawButton(preset4text,20,110,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset4text,20,110,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=5){VGA.drawButton(preset5text,20,134,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset5text,20,134,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 46:

if(selected_preset!=4){VGA.drawButton(preset4text,20,110,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset4text,20,110,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=5){VGA.drawButton(preset5text,20,134,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset5text,20,134,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=6){VGA.drawButton(preset6text,20,158,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset6text,20,158,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 47:

if(selected_preset!=5){VGA.drawButton(preset5text,20,134,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset5text,20,134,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=6){VGA.drawButton(preset6text,20,158,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset6text,20,158,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=7){VGA.drawButton(preset7text,20,182,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset7text,20,182,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 48:

if(selected_preset!=6){VGA.drawButton(preset6text,20,158,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset6text,20,158,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=7){VGA.drawButton(preset7text,20,182,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset7text,20,182,120,20,9,colour8_code,colour3_code, colour0_code);}

if(selected_preset!=8){VGA.drawButton(preset8text,20,206,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset8text,20,206,120,20,9,colour8_code,colour1_code, colour0_code);}

break;

case 49:

if(selected_preset!=7){VGA.drawButton(preset7text,20,182,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset7text,20,182,120,20,9,colour8_code,colour1_code, colour0_code);}

if(selected_preset!=8){VGA.drawButton(preset8text,20,206,120,20,9,colour1_code,colour3_code, colour0_code);}else{VGA.drawButton(preset8text,20,206,120,20,9,colour8_code,colour3_code, colour0_code);}

VGA.drawButton(loadtext,165,150,120,20,9,colour2_code,colour2_code, colour0_code);

break;

case 50:

if(selected_preset!=8){VGA.drawButton(preset8text,20,206,120,20,9,colour1_code,colour1_code, colour0_code);}else{VGA.drawButton(preset8text,20,206,120,20,9,colour8_code,colour1_code, colour0_code);}

VGA.drawButton(loadtext,165,150,120,20,9,colour2_code,colour3_code, colour0_code);

VGA.drawButton(savetext,165,190,120,20,9,colour2_code,colour2_code, colour0_code);

break;

case 51:

VGA.drawButton(loadtext,165,150,120,20,9,colour2_code,colour2_code, colour0_code);

VGA.drawButton(savetext,165,190,120,20,9,colour2_code,colour3_code, colour0_code);

break;


}

}


}



void Xover_VGA::draw_slimit(int ways, int mono_stereo, int page, int xover_slimit0, int xover_slimit1, int xover_slimit2, int xover_slimit3, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_page=page;

_xover_slimit0=xover_slimit0;

_xover_slimit1=xover_slimit1;

_xover_slimit2=xover_slimit2;

_xover_slimit3=xover_slimit3;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;




if(page==7){

VGA.clear(colour0_code);

VGA.waitSync();


VGA.drawRoundRecta(14,17,292,84,13,colour1_code);


VGA.drawRoundRecta(14,137,292,84,13,colour2_code);


VGA.linpot_H(hpllimittext,20,33,9,31,xover_slimit0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

if(ways>2){VGA.linpot_H(midllimittext,20,74,9,15,xover_slimit1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(hprlimittext,20,153,9,31,xover_slimit2,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){if(ways>2){VGA.linpot_H(midrlimittext,20,194,9,15,xover_slimit3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}}

}

}






void Xover_VGA::switch_slimit(int ways, int mono_stereo, int page, int pos, int xover_slimit0, int xover_slimit1, int xover_slimit2, int xover_slimit3, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour9_code, int colour10_code){


_mono_stereo=mono_stereo;

_ways=ways;

_page=page;

_pos=pos;

_xover_slimit0=xover_slimit0;

_xover_slimit1=xover_slimit1;

_xover_slimit2=xover_slimit2;

_xover_slimit3=xover_slimit3;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;




VGA.waitSync();



if(page==7){


switch(pos){


case 60:

VGA.linpot_H(hpllimittext,20,33,9,31,xover_slimit0,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);

if(ways>2){VGA.linpot_H(midllimittext,20,74,9,15,xover_slimit1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

break;

case 61:

VGA.linpot_H(hpllimittext,20,33,9,31,xover_slimit0,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);

if(ways>2){VGA.linpot_H(midllimittext,20,74,9,15,xover_slimit1,colour4_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(hprlimittext,20,153,9,31,xover_slimit2,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

break;

case 62:

if(ways>2){VGA.linpot_H(midllimittext,20,74,9,15,xover_slimit1,colour4_code,colour1_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){VGA.linpot_H(hprlimittext,20,153,9,31,xover_slimit2,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){if(ways>2){VGA.linpot_H(midrlimittext,20,194,9,15,xover_slimit3,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}}

break;

case 63:

if(mono_stereo==1){VGA.linpot_H(hprlimittext,20,153,9,31,xover_slimit2,colour5_code,colour2_code,colour9_code,colour0_code,colour10_code);}

if(mono_stereo==1){if(ways>2){VGA.linpot_H(midrlimittext,20,194,9,15,xover_slimit3,colour5_code,colour3_code,colour9_code,colour0_code,colour10_code);}}

break;


}


}



}




void Xover_VGA::draw_colours(int page, bool clear, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour6_code, int colour7_code, int colour8_code, int colour9_code, int colour10_code) {


_clear=clear;

_page=page;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour6_code=colour6_code;

_colour7_code=colour7_code;

_colour8_code=colour8_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;


if(page==9){


if (clear==1){

VGA.clear(colour0_code);

VGA.waitSync();

VGA.drawRoundRecta(168,10,132,220,9,colour1_code);

VGA.drawRoundRecta(20,10,132,220,9,colour1_code);

}


char col_title[40];



VGA.drawButton(settings2text,26,21,120,14,3,colour2_code,colour2_code,colour0_code);


VGA.fillRoundRecta(27,40,118,12,3,41);

VGA.drawButton(cp1text,26,39,120,14,3,1,1,41);


VGA.fillRoundRecta(27,58,118,12,3,204);

VGA.drawButton(cp2text,26,57,120,14,3,32,64,204);


VGA.fillRoundRecta(27,76,118,12,3,182);

VGA.drawButton(cp3text,26,75,120,14,3,0,34,182);


VGA.fillRoundRecta(27,94,118,12,3,255);

VGA.drawButton(cp4text,26,93,120,14,3,7,11,255);


VGA.fillRoundRecta(27,112,118,12,3,44);

VGA.drawButton(cp5text,26,111,120,14,3,33,0,44);


VGA.fillRoundRecta(27,130,118,12,3,32);

VGA.drawButton(cp6text,26,129,120,14,3,128,0,32);


VGA.fillRoundRecta(27,148,118,12,3,251);

VGA.drawButton(cp7text,26,147,120,14,3,0,0,251);


VGA.fillRoundRecta(27,166,118,12,3,41);

VGA.drawButton(cp8text,26,165,120,14,3,7,1,41);


VGA.fillRoundRecta(27,184,118,12,3,0);

VGA.drawButton(cp9text,26,183,120,14,3,7,7,0);


VGA.fillRoundRecta(27,202,118,12,3,0);

VGA.drawButton(cp10text,26,201,120,14,3,226,7,0);






sprintf(col_title, " BG = %i ", colour0_code);

if(colour0_code==0){VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour0_code,255);}else{VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour0_code,0);}


sprintf(col_title, " FG-L = %i ", colour1_code);

VGA.drawButton(col_title,174,39,120,14,3,colour1_code,colour1_code,colour0_code);


sprintf(col_title, " FG-R = %i ", colour2_code);

VGA.drawButton(col_title,174,57,120,14,3,colour2_code,colour2_code,colour0_code);


sprintf(col_title, " SEL = %i ", colour3_code);

VGA.drawButton(col_title,174,75,120,14,3,colour3_code,colour3_code,colour0_code);


sprintf(col_title, " FILL-L = %i ", colour4_code);

VGA.drawButton(col_title,174,93,120,14,3,colour4_code,colour4_code,colour0_code);


sprintf(col_title, " FILL-R = %i ", colour5_code);

VGA.drawButton(col_title,174,111,120,14,3,colour5_code,colour5_code,colour0_code);


sprintf(col_title, " LINE3 = %i ", colour6_code);

VGA.drawButton(col_title,174,129,120,14,3,colour6_code,colour6_code,colour0_code);


sprintf(col_title, " LINE4 = %i ", colour7_code);

VGA.drawButton(col_title,174,147,120,14,3,colour7_code,colour7_code,colour0_code);


sprintf(col_title, " PRESET = %i ", colour8_code);

VGA.drawButton(col_title,174,165,120,14,3,colour8_code,colour8_code,colour0_code);


sprintf(col_title, " TxFG = %i ", colour9_code);

VGA.drawButton(col_title,174,183,120,14,3,colour9_code,colour9_code,colour0_code);


sprintf(col_title, " TxBG = %i ", colour10_code);

VGA.drawButton(col_title,174,201,120,14,3,colour10_code,colour10_code,colour0_code);

}

}






void Xover_VGA::switch_colours(int page, int pos, int colour0_code, int colour1_code, int colour2_code, int colour3_code, int colour4_code, int colour5_code, int colour6_code, int colour7_code, int colour8_code, int colour9_code, int colour10_code) {


_page=page;

_pos=pos;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;

_colour4_code=colour4_code;

_colour5_code=colour5_code;

_colour6_code=colour6_code;

_colour7_code=colour7_code;

_colour8_code=colour8_code;

_colour9_code=colour9_code;

_colour10_code=colour10_code;


if(page==9){


char col_title[40];


switch(pos){


case 120:

VGA.drawButton(settings2text,26,21,120,14,3,colour2_code,colour3_code,colour0_code);


VGA.fillRoundRecta(27,40,118,12,3,41);

VGA.drawButton(cp1text,26,39,120,14,3,1,1,41);

break;


case 121:

VGA.drawButton(settings2text,26,21,120,14,3,colour2_code,colour2_code,colour0_code);


VGA.fillRoundRecta(27,40,118,12,3,41);

VGA.drawButton(cp1text,26,39,120,14,3,1,255,41);


VGA.fillRoundRecta(27,58,118,12,3,204);

VGA.drawButton(cp2text,26,57,120,14,3,32,64,204);

break;


case 122:

VGA.fillRoundRecta(27,40,118,12,3,41);

VGA.drawButton(cp1text,26,39,120,14,3,1,1,41);


VGA.fillRoundRecta(27,58,118,12,3,204);

VGA.drawButton(cp2text,26,57,120,14,3,32,255,204);


VGA.fillRoundRecta(27,76,118,12,3,182);

VGA.drawButton(cp3text,26,75,120,14,3,0,34,182);

break;


case 123:

VGA.fillRoundRecta(27,58,118,12,3,204);

VGA.drawButton(cp2text,26,57,120,14,3,32,64,204);


VGA.fillRoundRecta(27,76,118,12,3,182);

VGA.drawButton(cp3text,26,75,120,14,3,0,255,182);


VGA.fillRoundRecta(27,94,118,12,3,255);

VGA.drawButton(cp4text,26,93,120,14,3,7,11,255);

break;


case 124:

VGA.fillRoundRecta(27,76,118,12,3,182);

VGA.drawButton(cp3text,26,75,120,14,3,0,34,182);


VGA.fillRoundRecta(27,94,118,12,3,182);

VGA.drawButton(cp4text,26,93,120,14,3,7,255,182);


VGA.fillRoundRecta(27,112,118,12,3,44);

VGA.drawButton(cp5text,26,111,120,14,3,33,0,44);

break;


case 125:

VGA.fillRoundRecta(27,94,118,12,3,255);

VGA.drawButton(cp4text,26,93,120,14,3,7,11,255);


VGA.fillRoundRecta(27,112,118,12,3,44);

VGA.drawButton(cp5text,26,111,120,14,3,33,255,44);


VGA.fillRoundRecta(27,130,118,12,3,32);

VGA.drawButton(cp6text,26,129,120,14,3,128,0,32);

break;


case 126:

VGA.fillRoundRecta(27,112,118,12,3,44);

VGA.drawButton(cp5text,26,111,120,14,3,33,0,44);


VGA.fillRoundRecta(27,130,118,12,3,32);

VGA.drawButton(cp6text,26,129,120,14,3,128,255,32);


VGA.fillRoundRecta(27,148,118,12,3,251);

VGA.drawButton(cp7text,26,147,120,14,3,0,0,251);

break;


case 127:

VGA.fillRoundRecta(27,130,118,12,3,32);

VGA.drawButton(cp6text,26,129,120,14,3,128,0,32);


VGA.fillRoundRecta(27,148,118,12,3,251);

VGA.drawButton(cp7text,26,147,120,14,3,0,255,251);


VGA.fillRoundRecta(27,166,118,12,3,41);

VGA.drawButton(cp8text,26,165,120,14,3,7,1,41);

break;


case 128:

VGA.fillRoundRecta(27,148,118,12,3,251);

VGA.drawButton(cp7text,26,147,120,14,3,0,0,251);


VGA.fillRoundRecta(27,166,118,12,3,41);

VGA.drawButton(cp8text,26,165,120,14,3,7,255,41);


VGA.fillRoundRecta(27,184,118,12,3,0);

VGA.drawButton(cp9text,26,183,120,14,3,7,7,0);

break;

case 129:

VGA.fillRoundRecta(27,166,118,12,3,41);

VGA.drawButton(cp8text,26,165,120,14,3,7,1,41);


VGA.fillRoundRecta(27,184,118,12,3,0);

VGA.drawButton(cp9text,26,183,120,14,3,7,255,0);


VGA.fillRoundRecta(27,202,118,12,3,0);

VGA.drawButton(cp10text,26,201,120,14,3,226,7,0);

break;


case 130:

VGA.fillRoundRecta(27,184,118,12,3,0);

VGA.drawButton(cp9text,26,183,120,14,3,7,7,0);


VGA.fillRoundRecta(27,202,118,12,3,0);

VGA.drawButton(cp10text,26,201,120,14,3,226,225,0);


sprintf(col_title, " BG = %i ", colour0_code);

if(colour0_code==0){VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour3_code, 255);}else{VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour0_code,0);}

break;

case 131:

VGA.fillRoundRecta(27,202,118,12,3,0);

VGA.drawButton(cp10text,26,201,120,14,3,226,7,0);


sprintf(col_title, " BG = %i ", colour0_code);

if(colour0_code==0){VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour3_code, 255);}else{VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour0_code,0);}


sprintf(col_title, " FG-L = %i ", colour1_code);

VGA.drawButton(col_title,174,39,120,14,3,colour1_code,colour1_code, colour0_code);

break;


case 132:

sprintf(col_title, " BG = %i ", colour0_code);

if(colour0_code==0){VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour0_code, 255);}else{VGA.drawButton(col_title,174,21,120,14,3,colour0_code,colour0_code,0);}


sprintf(col_title, " FG-L = %i ", colour1_code);

VGA.drawButton(col_title,174,39,120,14,3,colour1_code,colour3_code, colour0_code);


sprintf(col_title, " FG-R = %i ", colour2_code);

VGA.drawButton(col_title,174,57,120,14,3,colour2_code,colour2_code, colour0_code);

break;


case 133:

sprintf(col_title, " FG-L = %i ", colour1_code);

VGA.drawButton(col_title,174,39,120,14,3,colour1_code,colour1_code, colour0_code);


sprintf(col_title, " FG-R = %i ", colour2_code);

VGA.drawButton(col_title,174,57,120,14,3,colour2_code,colour3_code, colour0_code);


sprintf(col_title, " SEL = %i ", colour3_code);

VGA.drawButton(col_title,174,75,120,14,3,colour3_code,colour3_code, colour0_code);

break;


case 134:

sprintf(col_title, " FG-R = %i ", colour2_code);

VGA.drawButton(col_title,174,57,120,14,3,colour2_code,colour2_code, colour0_code);


sprintf(col_title, " SEL = %i ", colour3_code);

VGA.drawButton(col_title,174,75,120,14,3,colour3_code,colour3_code, colour0_code);


sprintf(col_title, " FILL-L = %i ", colour4_code);

VGA.drawButton(col_title,174,93,120,14,3,colour4_code,colour4_code, colour0_code);

break;


case 135:

sprintf(col_title, " SEL = %i ", colour3_code);

VGA.drawButton(col_title,174,75,120,14,3,colour3_code,colour3_code, colour0_code);


sprintf(col_title, " FILL-L = %i ", colour4_code);

VGA.drawButton(col_title,174,93,120,14,3,colour4_code,colour3_code, colour0_code);


sprintf(col_title, " FILL-R = %i ", colour5_code);

VGA.drawButton(col_title,174,111,120,14,3,colour5_code,colour5_code, colour0_code);

break;


case 136:

sprintf(col_title, " FILL-L = %i ", colour4_code);

VGA.drawButton(col_title,174,93,120,14,3,colour4_code,colour4_code, colour0_code);


sprintf(col_title, " FILL-R = %i ", colour5_code);

VGA.drawButton(col_title,174,111,120,14,3,colour5_code,colour3_code, colour0_code);


sprintf(col_title, " LINE3 = %i ", colour6_code);

VGA.drawButton(col_title,174,129,120,14,3,colour6_code,colour6_code, colour0_code);

break;


case 137:

sprintf(col_title, " FILL-R = %i ", colour5_code);

VGA.drawButton(col_title,174,111,120,14,3,colour5_code,colour5_code, colour0_code);


sprintf(col_title, " LINE3 = %i ", colour6_code);

VGA.drawButton(col_title,174,129,120,14,3,colour6_code,colour3_code, colour0_code);


sprintf(col_title, " LINE4 = %i ", colour7_code);

VGA.drawButton(col_title,174,147,120,14,3,colour7_code,colour7_code, colour0_code);

break;


case 138:

sprintf(col_title, " LINE3 = %i ", colour6_code);

VGA.drawButton(col_title,174,129,120,14,3,colour6_code,colour6_code, colour0_code);


sprintf(col_title, " LINE4 = %i ", colour7_code);

VGA.drawButton(col_title,174,147,120,14,3,colour7_code,colour3_code, colour0_code);


sprintf(col_title, " PRESET = %i ", colour8_code);

VGA.drawButton(col_title,174,165,120,14,3,colour8_code,colour8_code, colour0_code);

break;


case 139:

sprintf(col_title, " LINE4 = %i ", colour7_code);

VGA.drawButton(col_title,174,147,120,14,3,colour7_code,colour7_code, colour0_code);


sprintf(col_title, " PRESET = %i ", colour8_code);

VGA.drawButton(col_title,174,165,120,14,3,colour8_code,colour3_code, colour0_code);


sprintf(col_title, " TxFG = %i ", colour9_code);

VGA.drawButton(col_title,174,183,120,14,3,colour9_code,colour9_code, colour0_code);

break;

case 140:

sprintf(col_title, " PRESET = %i ", colour8_code);

VGA.drawButton(col_title,174,165,120,14,3,colour8_code,colour8_code, colour0_code);


sprintf(col_title, " TxFG = %i ", colour9_code);

VGA.drawButton(col_title,174,183,120,14,3,colour9_code,colour3_code, colour0_code);


sprintf(col_title, " TxBG = %i ", colour0_code);

VGA.drawButton(col_title,174,201,120,14,3,colour10_code,colour10_code, colour0_code);

break;


case 141:

sprintf(col_title, " TxFG = %i ", colour9_code);

VGA.drawButton(col_title,174,183,120,14,3,colour9_code,colour9_code, colour0_code);


sprintf(col_title, " TxBG = %i ", colour0_code);

VGA.drawButton(col_title,174,201,120,14,3,colour10_code,colour3_code, colour0_code);

break;

}

}



}




void Xover_VGA::draw_remote(int page, String remote_up, String remote_down, String remote_left, String remote_right, String remote_ok, String remoteN_up, String remoteN_down, String remoteN_left, String remoteN_right, String remoteN_ok, int colour0_code, int colour1_code, int colour2_code, int colour3_code) {



_page=page;

_remote_up=remote_up;

_remote_left=remote_left;

_remote_right=remote_right;

_remote_down=remote_down;

_remote_ok=remote_ok;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;


char cremote_up[10];

char cremote_down[10];

char cremote_left[10];

char cremote_right[10];

char cremote_ok[10];


char cremoteN_up[10];

char cremoteN_down[10];

char cremoteN_left[10];

char cremoteN_right[10];

char cremoteN_ok[10];



remote_up.toCharArray(cremote_up, 10);

remote_down.toCharArray(cremote_down, 10);

remote_left.toCharArray(cremote_left, 10);

remote_right.toCharArray(cremote_right, 10);

remote_ok.toCharArray(cremote_ok, 10);


remoteN_up.toCharArray(cremoteN_up, 10);

remoteN_down.toCharArray(cremoteN_down, 10);

remoteN_left.toCharArray(cremoteN_left, 10);

remoteN_right.toCharArray(cremoteN_right, 10);

remoteN_ok.toCharArray(cremoteN_ok, 10);


VGA.clear(colour0_code);

VGA.waitSync();



VGA.drawButton(settings2text,26,21,120,14,3,colour2_code,colour2_code,colour0_code);



VGA.drawButton(buttontext,26,39,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(uptext,26,57,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(downtext,26,75,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(lefttext,26,93,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(righttext,26,111,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(oktext,26,129,120,14,3,colour1_code,colour1_code,colour0_code);



VGA.drawButton(newremotetext,174,39,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(cremoteN_up,174,57,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(cremoteN_down,174,75,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(cremoteN_left,174,93,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(cremoteN_right,174,111,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(cremoteN_ok,174,129,120,14,3,colour1_code,colour1_code,colour0_code);


VGA.drawButton(savetext,174,147,120,14,3,colour2_code,colour2_code,colour0_code);//pos=156



}


void Xover_VGA::switch_remote(int page, int pos, String remote_up, String remote_down, String remote_left, String remote_right, String remote_ok, String remoteN_up, String remoteN_down, String remoteN_left, String remoteN_right, String remoteN_ok, int colour0_code, int colour1_code, int colour2_code, int colour3_code) {


_pos=pos;

_page=page;

_remote_up=remote_up;

_remote_left=remote_left;

_remote_right=remote_right;

_remote_down=remote_down;

_remote_ok=remote_ok;

_remoteN_up=remoteN_up;

_remoteN_left=remoteN_left;

_remoteN_right=remoteN_right;

_remoteN_down=remoteN_down;

_remoteN_ok=remoteN_ok;

_colour0_code=colour0_code;

_colour1_code=colour1_code;

_colour2_code=colour2_code;

_colour3_code=colour3_code;


char cremote_up[10];

char cremote_down[10];

char cremote_left[10];

char cremote_right[10];

char cremote_ok[10];


char cremoteN_up[10];

char cremoteN_down[10];

char cremoteN_left[10];

char cremoteN_right[10];

char cremoteN_ok[10];


remote_up.toCharArray(cremote_up, 10);

remote_down.toCharArray(cremote_down, 10);

remote_left.toCharArray(cremote_left, 10);

remote_right.toCharArray(cremote_right, 10);

remote_ok.toCharArray(cremote_ok, 10);


remoteN_up.toCharArray(cremoteN_up, 10);

remoteN_down.toCharArray(cremoteN_down, 10);

remoteN_left.toCharArray(cremoteN_left, 10);

remoteN_right.toCharArray(cremoteN_right, 10);

remoteN_ok.toCharArray(cremoteN_ok, 10);


switch(pos){


case 150:

VGA.drawButton(settings2text,26,21,120,14,3,colour2_code,colour3_code,colour0_code);//pos=150

VGA.drawButton(uptext,26,57,120,14,3,colour1_code,colour1_code,colour0_code);//pos=151

break;


case 151:

VGA.drawButton(settings2text,26,21,120,14,3,colour2_code,colour2_code,colour0_code);//pos=150

VGA.drawButton(uptext,26,57,120,14,3,colour1_code,colour3_code,colour0_code);//pos=151

VGA.drawButton(downtext,26,75,120,14,3,colour1_code,colour1_code,colour0_code);//pos=152

break;


case 152:

VGA.drawButton(uptext,26,57,120,14,3,colour1_code,colour1_code,colour0_code);//pos=151

VGA.drawButton(downtext,26,75,120,14,3,colour1_code,colour3_code,colour0_code);//pos=152

VGA.drawButton(lefttext,26,93,120,14,3,colour1_code,colour1_code,colour0_code);//pos=153

break;


case 153:

VGA.drawButton(downtext,26,75,120,14,3,colour1_code,colour1_code,colour0_code);//pos=152

VGA.drawButton(lefttext,26,93,120,14,3,colour1_code,colour3_code,colour0_code);//pos=153

VGA.drawButton(righttext,26,111,120,14,3,colour1_code,colour1_code,colour0_code);//pos=154

break;


case 154:

VGA.drawButton(lefttext,26,93,120,14,3,colour1_code,colour1_code,colour0_code);//pos=153

VGA.drawButton(righttext,26,111,120,14,3,colour1_code,colour3_code,colour0_code);//pos=154

VGA.drawButton(oktext,26,129,120,14,3,colour1_code,colour1_code,colour0_code);//pos=155

break;


case 155:

VGA.drawButton(righttext,26,111,120,14,3,colour1_code,colour1_code,colour0_code);//pos=154

VGA.drawButton(oktext,26,129,120,14,3,colour1_code,colour3_code,colour0_code);//pos=155

VGA.drawButton(savetext,174,147,120,14,3,colour2_code,colour2_code,colour0_code);//pos=156

break;


case 156:

VGA.drawButton(oktext,26,129,120,14,3,colour1_code,colour1_code,colour0_code);//pos=155

VGA.drawButton(savetext,174,147,120,14,3,colour2_code,colour3_code,colour0_code);//pos=156

break;



}


}




void Xover_VGA::dot()

{

digitalWrite(_pin, HIGH);

}


void Xover_VGA::dash()

{


digitalWrite(_pin, LOW);


}