Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bym.lonestill.uk/llms.txt

Use this file to discover all available pages before exploring further.

Крутишь колёсо мыши в нижней четверти экрана (область плеера) — скорость меняется. Shift + колёсо — больший шаг.
BYM.register({
  id: 'speed-control',
  name: 'Speed Control',
  version: '1.2.0',
  description: 'Колёсиком мыши на нижней панели плеера меняй скорость.',
  author: 'BYM',
  settings: [
    { key: 'step',      type: 'number',  label: 'Шаг (обычный)',    default: 0.1,  min: 0.05, max: 0.5, step: 0.05 },
    { key: 'stepShift', type: 'number',  label: 'Шаг (Shift+кол.)', default: 0.25, min: 0.05, max: 1,   step: 0.05 },
    { key: 'toast',     type: 'boolean', label: 'Показывать тост',  default: true },
  ],
}, (api, getSetting) => {
  let handler = null;

  return {
    start() {
      handler = (e) => {
        if (e.clientY < window.innerHeight * 0.75) return;
        e.preventDefault();

        const step = e.shiftKey
          ? (getSetting('stepShift') ?? 0.25)
          : (getSetting('step')      ?? 0.1);

        const cur  = api.Player.getSpeed();
        const next = parseFloat(
          (e.deltaY < 0
            ? Math.min(4,    cur + step)
            : Math.max(0.25, cur - step)
          ).toFixed(2)
        );

        api.Player.setSpeed(next);
        if (getSetting('toast') !== false) api.UI.toast(next.toFixed(2) + '×', 800);
      };

      document.addEventListener('wheel', handler, { passive: false });
    },

    stop() {
      document.removeEventListener('wheel', handler, { passive: false });
      handler = null;
      api.Player.resetSpeed();
    },
  };
});
Использованные API: api.Player, api.UI, settings