Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==PREPROCESSOR==
- // @name "Simple VU meter (25.03.2013)"
- // @author "eXtremeHunter"
- // ==/PREPROCESSOR==
- // Tested with foo_vis_vumeter v. 2013-02-16
- function RGB(r, g, b) {
- return (0xff000000 | (r << 16) | (g << 8) | (b));
- }
- VUMeter = new ActiveXObject("VUMeter");
- VUMeter.RegisterWindow(window.ID);
- // ==================================================== //
- var meterBackColor = RGB(230, 230, 230);
- var levelColor = RGB(75, 149, 229);
- var peakColor = RGB(180, 180, 80);
- function on_paint(gr) {
- var centerGap = 40,
- x = 15,
- y = 10,
- w = ww / 2,
- h = 8,
- c = centerGap / 2,
- leftLevel = (VUMeter.LeftLevel * ((w - c - x) / 2.5)),
- rightLevel = (VUMeter.RightLevel * ((w - c - x) / 2.5)),
- leftPeak = (VUMeter.LeftPeak * ((w - c - x) / 2.5)),
- rightPeak = (VUMeter.RightPeak * ((w - c - x) / 2.5));
- // Draw Level
- gr.FillSolidRect(x, y, w - c - x, h, meterBackColor); // L
- gr.FillSolidRect(x, y, leftLevel, h, levelColor);
- gr.FillSolidRect(w + c, y, w - c - x, h, meterBackColor); // R
- gr.FillSolidRect(ww - rightLevel - x, y, rightLevel, h, levelColor);
- // Offset Indicator
- gr.SetTextRenderingHint(5);
- gr.Drawstring(VUMeter.Offset, gdi.font("Segoe Ui", 12, 0), RGB(0, 0, 0), 0, y, ww, 14, 0x11005000);
- var y = y + h + 3;
- var h = 3;
- // Draw Peak
- gr.FillSolidRect(x, y, w - c - x, h, meterBackColor); // L
- gr.FillSolidRect(x, y, leftPeak, h, peakColor);
- gr.FillSolidRect(w + c, y, w - c - x, h, meterBackColor); // R
- gr.FillSolidRect(ww - rightPeak - x, y, rightPeak, h, peakColor);
- }
- // ==================================================== //
- function on_size() {
- ww = window.Width;
- wh = window.Height;
- }
- // ==================================================== //
- function on_mouse_wheel(step) {
- VUMeter.Offset = VUMeter.Offset + step;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement