diff --git a/lfogui.css b/lfogui.css index 5c78e99..d2f53b0 100644 --- a/lfogui.css +++ b/lfogui.css @@ -1,14 +1,14 @@ * { - --locked-color: #5fadbf; - --unlocked-color: #ff5153; + --locked-color: #5fadbf; + --unlocked-color: #ff5153; } :root { - --background: ivory; + --background: white; --active: royalblue; - --nonactive: lightsteelblue; + --nonactive: rgb(205, 205, 205); --alert: red; - --textcolor: #737373; + --textcolor: black; } @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); @@ -21,49 +21,123 @@ body { font-family: "Poppins", sans-serif; } -html, body { - width: 100%; - height: 100%; - margin: 0px; - border: 0; - overflow-x: hidden; /* no horizontal scrollbar*/ - overflow-y: scroll; - display: block; /* No floating content on sides */ +html, +body { + width: 100%; + height: 100%; + margin: 0px; + border: 0; + overflow-x: hidden; + /* no horizontal scrollbar*/ + overflow-y: scroll; + display: block; + /* No floating content on sides */ } -ul { - list-style-type: none; - margin: 0; - padding: 0; - overflow: hidden; - background-color: #333333; +/*navigation*/ +.header { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + margin: 1em; } -li { - float: left; +.header button { + background-color: var(--background); + border: 1px solid var(--active); + color: var(--active); + padding: 4px; + text-align: center; + display: inline-block; + font-size: 13px; + padding: 0.5em; + margin: 4px; + border-radius: 25px; } +td button { + background-color: white; + color: var(--active); + border: 1px solid var(--active); +} + +/* :::::::::::::: SELECTING MODULATORS/ENUMERATORS */ + +.header button.highlighted-button { + color: var(--active); + border: 1px solid var(--active); +} + +.header button.unhighlighted-button { + color: var(--nonactive); + border: 1px solid var(--nonactive); +} + +/* table */ table { overflow: scroll; + margin: 1em; + border-collapse: collapse; + background-color: lightsteelblue; +} + +th { + padding: 0.4em 0.3em; + text-align: left; +} + +thead { + color: white; + background-color: royalblue; +} + +tr, td { + margin: 0em; +} + +/* input types */ +/* dropdown list */ +select { + width: 100%; +} +/* +option, select>* { + font-size: 0.8em !important; + padding: 0em !important; + margin: 0em !important; + min-height: 0em !important; +} +*/ +option { + background-color: var(--active); +} +option:not(:checked) { + background-color: white; +} + +/* input */ +input, select { + border: 1px solid var(--active); + color: var(--active); + margin: 0; + padding: 0; + line-height: 1.5em; + height: 1.5em; + box-sizing: border-box; } input[type=number] { width: 50px; - margin: 0; - padding: 0; } input[type=text] { width: 60px; - margin: 0; - padding: 0; font-weight: bold; } .timeInput { - width: 80px; - margin: 0; - padding: 0; + width: 80px; } #matrix { @@ -80,223 +154,203 @@ input[type=text] { .numbox-clicked { user-select: none; - border : solid; + border: solid; font-size: 12vw; } .param-input-label { - width: 93%; - font-size: 5vw; + width: 93%; + font-size: 5vw; } .lfo-input-label { - width: 40%; - font-size: 5vw; + width: 40%; + font-size: 5vw; } - /* The switch - the box around the slider */ +/* The switch - the box around the slider */ .switch { - position: relative; - display: inline-block; - width: 30px; - height: 17px; + position: relative; + display: inline-block; + width: 30px; + height: 17px; } /* Hide default HTML checkbox */ .switch input { - opacity: 0; - width: 0; - height: 0; + opacity: 0; + width: 0; + height: 0; } /* The slider */ -.slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #ccc; - -webkit-transition: .4s; - transition: .4s; +input[type="range"] { + appearance: none; + -webkit-appearance: none; + height: 8px; + border-radius: 6px; + background-color: white; + outline: none; + opacity: 0.7; + -webkit-transition: .2s; + transition: opacity .2s; + overflow: hidden; } -.slider:before { - position: absolute; - content: ""; - height: 13px; - width: 13px; - left: 2px; - bottom: 2px; - background-color: white; - -webkit-transition: .4s; - transition: .4s; +/*slider knob*/ +input[type="range"]::-webkit-slider-runnable-track { + -webkit-appearance: none; + color: var(--active); + margin-top: -1px; } -input:checked + .slider { - background-color: #2196F3; +input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 20px; + height: 20px; + border-radius: 50%; + background: var(--active); + box-shadow: -80px 0 0 80px var(--active); } -input:focus + .slider { - box-shadow: 0 0 1px #2196F3; -} - -input:checked + .slider:before { - -webkit-transform: translateX(13px); - -ms-transform: translateX(13px); - transform: translateX(13px); -} - -/* Rounded sliders */ -.slider.round { - border-radius: 17px; -} - -.slider.round:before { - border-radius: 50%; +input[type="range"]::-moz-range-progress { + background-color: var(--active); } h5 { - margin: 0; - padding: 0; -} - -.enum-count { - background-color: aquamarine; + margin: 0; + padding: 0; } .label { - background-color: aliceblue; - padding: 0 4px 0 4px; - margin: 0 2px 0 2px; - border-color: #333333; - border-width: 1px; + background-color: aliceblue; + padding: 0 4px 0 4px; + margin: 0 2px 0 2px; + border-color: #333333; + border-width: 1px; } .base-val { - background-color: lightgray; - border-color: #333333; - border-width: 1px; - width: 50px; - margin-left: 2px; - margin-top: 1px; + border: none; + color: white; + text-align: center; + font-size: 0.9em; + width: 50px; + margin: 0; + padding: 0; } .linked { - color: red; - border-width: 1px; - width: 50px; - font-size: small; - margin-left: 2px; - margin-top: 5px; + color: red; + border-width: 1px; + width: 50px; + font-size: small; + margin-left: 2px; + margin-top: 5px; } @keyframes pulse-animation { - 0% { - color: black; - } - 100% { - color: red; - } + 0% { + color: black; + } + + 100% { + color: red; + } } #pulse { - animation: pulse-animation 0.2s normal; -} -/* :::::::::::::: SELECTING MODULATORS/ENUMERATORS */ - -.highlighted-button { - background-color: gray; + animation: pulse-animation 0.2s normal; } -.unhighlighted-button { - background-color: white; -} /* :::::::::::::: LOCK CSS */ .locked-component { - pointer-events: none; - background-color: #333333; - color : white; -} - -.header { - display: flex; - width: 100%; - flex-direction: flex; + pointer-events: none; + background-color: #333333; + color: white; } /* Locked */ .lock { - margin-top: 14px; - width: 24px; - height: 21px; - border: 3px solid var(--locked-color); - border-radius: 5px; - position: relative; - cursor: pointer; - -webkit-transition: all 0.1s ease-in-out; - transition: all 0.1s ease-in-out; + margin-top: 14px; + width: 24px; + height: 21px; + border: 3px solid var(--locked-color); + border-radius: 5px; + position: relative; + cursor: pointer; + -webkit-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; } + .lock:after { - content: ""; - display: block; - background: var(--locked-color); - width: 3px; - height: 7px; - position: absolute; - top: 50%; - left: 50%; - margin: -3.5px 0 0 -2px; - -webkit-transition: all 0.1s ease-in-out; - transition: all 0.1s ease-in-out; + content: ""; + display: block; + background: var(--locked-color); + width: 3px; + height: 7px; + position: absolute; + top: 50%; + left: 50%; + margin: -3.5px 0 0 -2px; + -webkit-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; } + .lock:before { - content: ""; - display: block; - width: 10px; - height: 10px; - bottom: 100%; - position: absolute; - left: 50%; - margin-left: -8px; - border: 3px solid var(--locked-color); - border-top-right-radius: 50%; - border-top-left-radius: 50%; - border-bottom: 0; - -webkit-transition: all 0.1s ease-in-out; - transition: all 0.1s ease-in-out; + content: ""; + display: block; + width: 10px; + height: 10px; + bottom: 100%; + position: absolute; + left: 50%; + margin-left: -8px; + border: 3px solid var(--locked-color); + border-top-right-radius: 50%; + border-top-left-radius: 50%; + border-bottom: 0; + -webkit-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; } + /* Locked Hover */ .lock:hover:before { - height: 12px; + height: 12px; } + /* Unlocked */ .unlocked { - transform: rotate(10deg); + transform: rotate(10deg); } + .unlocked:before { - bottom: 130%; - left: 31%; - margin-left: -11.5px; - transform: rotate(-45deg); + bottom: 130%; + left: 31%; + margin-left: -11.5px; + transform: rotate(-45deg); } + .unlocked, .unlocked:before { - border-color: var(--unlocked-color); + border-color: var(--unlocked-color); } + .unlocked:after { - background: var(--unlocked-color); + background: var(--unlocked-color); } + /* Unlocked Hover */ .unlocked:hover { - transform: rotate(3deg); + transform: rotate(3deg); } + .unlocked:hover:before { - height: 10px; - left: 40%; - bottom: 124%; - transform: rotate(-30deg); + height: 10px; + left: 40%; + bottom: 124%; + transform: rotate(-30deg); } \ No newline at end of file diff --git a/lfogui.js b/lfogui.js index 8336c70..6cbbe35 100644 --- a/lfogui.js +++ b/lfogui.js @@ -586,7 +586,7 @@ function MasterLfoHandler() { displayIfEnabled( e('table', { id: 'table' }, - e('thead', null, e('tr', { id: 'headers' }, ...labels.map(x => e('th', null, x)))), + e('thead', null, e('tr', { id: 'headers' }, ...labels.map(x => e('th', {id: x == '# points' ? 'points' : x}, x)))), e('tbody', null, ...grid) )) );