Skip to content

Latest commit

 

History

History
374 lines (261 loc) · 17.2 KB

README-hu.md

File metadata and controls

374 lines (261 loc) · 17.2 KB

YouTube Music

GitHub release GitHub license eslint code style Build status GitHub All Releases AUR Known Vulnerabilities

Bannerkep

Olvasd el más nyelveken: 🏴 Angol, 🇰🇷 Korea, 🇮🇸 Izland, 🇪🇸 Spanyol, 🇷🇺 Orosz

Electron keretrendszerre épülő alkalmazás a YouTube Music számára, amely a következőket kínálja:

  • Natív megjelenés és élmény, amely az eredeti felület megtartására törekszik
  • Egyedi bővítmények keretrendszere: alakítsd át a YouTube Music-ot igényeid szerint (stílus, tartalom, funkciók), engedélyezd/tiltsd le a bővítményeket egy kattintással

Bemutató kép

Lejátszó ablak (album színtéma és környezeti fény)
Bemutatókép1

Tartalom

Funkciók:

  • Automatikus megerősítés a lejátszás szüneteltetésekor (Alapból engedélyezve): Kikapcsolja a "Folytatja a nézést?" felugró ablakot, amely bizonyos idő után leállítja a zenét.

  • És még sok más ...

Elérhető bővítmények:

  • Reklámblokkoló: Blokkolja az összes hirdetést és nyomkövetőt.

  • Album műveletek: Dislike, Undislike, Like, Unlike gombok hozzáadása, amivel ezt a lejátszási listán vagy albumban lévő összes dalra alkalmazza.

  • Album színtéma: Dinamikus téma és vizuális effektek alkalmazása az album színpalettája alapján.

  • Ambient mód: Fényhatás alkalmazása a videóból származó lágy színek vetítésével a képernyő hátterére.

  • Hangtömörítő: Hang tömörítés alkalmazása. (csökkenti a jel legzajosabb részeinek hangerősségét, és emeli a legcsendesebb részek hangerősségét)

  • Navigációs sáv elmosása: Átlátszóvá és elmosódottá teszi a navigációs sávot.

  • Korellenőrzés kihagyása: A YouTube korellenőrzését kihagyja, ezáltal nem kel meg erősíteni a zene meghallgatása elött. (automatikusan megerősítve lesz)

  • Feliratválasztó: Felirat választó a YouTube Music zenékhez.

  • Kompakt oldalsáv: Mindig becsukva tartja a bal oldali sávot, ahol a Kezdőlap, Felfedezés, Könyvtár és egyebek láthatók. (amit bármikor ki lehet nyitni)

  • Áttünés: Áttünést biztosít a dalok között, ami folytonossá teszi a zenehallgatást anélkül, hogy érezhető lenne a váltás.

  • Automatikus lejátszás letiltása: Ez a funkció kikapcsolja az automatikus lejátszást, így a zenék nem indulnak el maguktól. Amikor egy album vagy egy dal lejátszása véget ér, a következő szám nem kezdődik el automatikusan. (a bővítmény használata során minden zenét manuálisan kell elindítani)

  • Discord Rich Presence: Mutassa meg barátainak, hogy mit hallgat a Rich Presence segítségével. (Ehez a Discord-on is engedélyezve kel lennie a Tevékenységállapot megosztásának [DC Beállítások -> Tevékenyég-adatvédelem -> Megoszthatod az észlelt tevékenységeidet másokkal])

  • Letöltő: MP3/forrás hanganyag letöltése közvetlenül az interfészről. (youtube-dl)

  • Hangszínszabályzó: Szűrőket ad hozzá, hogy erősítsd vagy csökkentsd bizonyos frekvenciatartományokat. (pl. basszuskiemelés)

  • Exponenciális hangerő: A hangerő csúszka exponenciálissá tételével könnyebbé válik az alacsony hangerő kiválasztása.

  • Alkalmazáson belüli menü: A Menüsáv stílusos, sötét vagy album-színű megjelenítése.

    (Lásd ezt a bejegyzést, ha problémád van a menü elérésével, miután engedélyezted ezt a bővítményt és a "menü elrejtése" opciót.

  • Scrobbler: Scrobbling támogatást biztosít Last.fm és ListenBrainz számára.

  • Lumia Stream: Lumia Stream támogatás hozzáadása.

  • Lyrics Genius: Dalszöveg támogatást nyújt a legtöbb dalhoz.

  • Zene együtt: Lehetővé teszi a lejátszási listák, dalok megosztását másokkal. Amikor a házigazda lejátszik egy dalt, mindenki ugyanazt a dalt fogja hallani.

  • Navigáció: Következő/Vissza navigációs nyilak közvetlenül az interfészbe integrálva, mint a kedvenc böngésződben.

  • Nincs Google bejelentkezés: A Bejelentkezés gomb eltávolítása az interfészről (Jobb fentről eltünik a bejelentkezés gomb.)

  • Értesítések: Értesítés megjelenítése, amikor egy dal elindul. (interaktív értesítések elérhetők Windows-on)

  • Kép a képben: Lehetővé teszi az alkalmazás kép a képben módra váltását.

  • Lejátszás sebessége: Hallgassd gyorsan, hallgassd lassan! Hozzáad egy csúszkát, amely szabályozza a dal sebességét

  • Precíz hangerő: A hangerő precíz szabályozása egérgörgővel/gyorsbillentyűkkel, egy egyedi HUD és testreszabható hangerő csuszka segítségével.

  • Gyorsbillentyűk (& MPRIS): Lehetővé teszi globális gyorsbillentyűk beállítását a lejátszáshoz (lejátszás/szünet/következő/előző), valamint a média OSD kikapcsolását a médiagombok felülírásával. Bekapcsolja a Ctrl/CMD + F billentyűkombinációt a kereséshez, a Linux MPRIS támogatását a médiagombokhoz, és egyedi gyorsbillentyűket a haladó felhasználók számára.

  • Nem kedvelt dal kihagyása: Kihagyja a nem kedvelt dalokat.

  • Csend kihagyása: Automatikusan átugorja a csendes szakaszokat.

  • SzponzorBlokk: Automatikusan átugorja a nem zenei részeket, például az intrókat/outrokat vagy a zenei videók azon részeit, ahol a dal nem szól.

  • Szinkronizált dalszövegek: Szinkronizált dalszövegeket biztosít dalokhoz, LRClib-hez hasonló szolgáltatókat használva.

  • Médiavezérlés a tálcán: Lejátszás vezérlése a Windows tálcáról.

  • TouchBar: Egyedi TouchBar elrendezés macOS-hoz.

  • Tuna OBS: Integráció az OBS Tuna pluginjával.

  • Videóminőség modosító: Lehetővé teszi a videó minőségének megváltoztatását egy gombbal a videó fedvényen.

  • Videó váltó: Hozzáad egy gombot a Videó/Dal mód közötti váltáshoz. (opcionálisan teljesen eltávolíthatja a videó fület is)

  • Vizualizáció: Különböző zenei vizualizációk.

Fordítás

Segíthetsz a fordításban a Hosted Weblate oldalán.

Fordítás állapota Fordítás állapota Fordítás állapota

Letöltés

A legfrissebb kiadás megtekintésével gyorsan megtalálhatod a legújabb verziót.

Arch Linux

Telepítsd a youtube-music-bin csomagot az AUR-ból. Az AUR telepítési útmutatóját megtalálod ezen a wiki oldalon.

macOS

Telepítheted az alkalmazást Homebrew segítségével (lásd a cask definíciót):

brew install th-ch/youtube-music/youtube-music

Ha manuálisan telepítetted az alkalmazást, és a következő hibát kapod indításkor: "sérült, és nem nyitható meg./is damaged and can’t be opened.", futtasd az alábbi parancsot a Terminálban:

/usr/bin/xattr -cr /Applications/YouTube\ Music.app

Windows

A Scoop csomagkezelő segítségével telepítheted a youtube-music csomagot az extras tárolóból.

scoop bucket add extras
scoop install extras/youtube-music

Alternatívaként használhatod a Winget eszközt, a Windows 11 hivatalos CLI csomagkezelőjét, hogy telepítsd a th-ch.YouTubeMusic csomagot.

Megjegyzés: A Microsoft Defender SmartScreen figyelmeztethet vagy blokkolhatja a telepítést, mivel az alkalmazás "ismeretlen kiadótól" származik. Ez a figyelmeztetés akkor is megjelenhet, ha manuálisan töltöd le és próbálod futtatni a GitHubról letöltött (.exe) fájlt. Ebben az esetben kattints a "További információ" gombra, majd válaszd a "Futtatás mindenképp" opciót a telepítés folytatásához.

winget install th-ch.YouTubeMusic

Hogyan telepítsd hálózati kapcsolat nélkül? (Windows)

  • Töltsd le a *.nsis.7z fájlt a kiadás oldalról, amely megfelel az eszközöd architektúrájának:
    • x64 64 bites Windows-hoz
    • ia32 32 bites Windows-hoz
    • arm64 ARM64 Windows-hoz
  • Töltsd le a telepítőt a kiadás oldalról. (*-Setup.exe)
  • Helyezd mindkét fájlt ugyanabba a könyvtárba.
  • Futtasd a telepítőt.

Témák

CSS fájlokat tölthetsz be az alkalmazás megjelenésének megváltoztatásához. (Beállítások > Kinézeti beállítások > Téma)

Néhány előre definiált téma elérhető itt: https://github.com/kerichdev/themes-for-ytmdesktop-player.

Fejlesztés

git clone https://github.com/th-ch/youtube-music
cd youtube-music
pnpm install --frozen-lockfile
pnpm dev

Saját bővítmények készítése

A bővítmények segítségével a következőket teheted:

  • Az alkalmazás manipulálása: Az Electron BrowserWindow objektuma átadásra kerül a bővítménykezelőnek.
  • Az interfész módosítása: HTML és CSS manipulációval megváltoztathatod az alkalmazás kinézetét.

Bővítmény létrehozása

Hozz létre egy mappát a src/plugins/YOUR-PLUGIN-NAME útvonalon:

  • index.ts: a bővítmény fő fájlja
import style from './style.css?inline'; // import style as inline

import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Plugin Label',
  restartNeeded: true, // if value is true, ytmusic show restart dialog
  config: {
    enabled: false,
  }, // your custom config
  stylesheets: [style], // your custom style,
  menu: async ({ getConfig, setConfig }) => {
    // All *Config methods are wrapped Promise<T>
    const config = await getConfig();
    return [
      {
        label: 'menu',
        submenu: [1, 2, 3].map((value) => ({
          label: `value ${value}`,
          type: 'radio',
          checked: config.value === value,
          click() {
            setConfig({ value });
          },
        })),
      },
    ];
  },
  backend: {
    start({ window, ipc }) {
      window.maximize();

      // you can communicate with renderer plugin
      ipc.handle('some-event', () => {
        return 'hello';
      });
    },
    // it fired when config changed
    onConfigChange(newConfig) { /* ... */ },
    // it fired when plugin disabled
    stop(context) { /* ... */ },
  },
  renderer: {
    async start(context) {
      console.log(await context.ipc.invoke('some-event'));
    },
    // Only renderer available hook
    onPlayerApiReady(api: YoutubePlayer, context: RendererContext) {
      // set plugin config easily
      context.setConfig({ myConfig: api.getVolume() });
    },
    onConfigChange(newConfig) { /* ... */ },
    stop(_context) { /* ... */ },
  },
  preload: {
    async start({ getConfig }) {
      const config = await getConfig();
    },
    onConfigChange(newConfig) {},
    stop(_context) {},
  },
});

Gyakori használati esetek

  • Egyedi CSS injektálása: hozz létre egy style.css fájlt ugyanabban a mappában, majd:
// index.ts
import style from './style.css?inline'; // import style as inline

import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Plugin Label',
  restartNeeded: true, // if value is true, ytmusic will show a restart dialog
  config: {
    enabled: false,
  }, // your custom config
  stylesheets: [style], // your custom style
  renderer() {} // define renderer hook
});
  • Ha módosítani szeretnéd a HTML-t:
import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Plugin Label',
  restartNeeded: true, // if value is true, ytmusic will show the restart dialog
  config: {
    enabled: false,
  }, // your custom config
  renderer() {
    // Remove the login button
    document.querySelector(".sign-in-link.ytmusic-nav-bar").remove();
  } // define renderer hook
});
  • Az elülső és hátsó rész közötti kommunikáció: Az Electron ipcMain moduljának használatával valósítható meg. Lásd az index.ts fájlt és a sponsorblock bővítmény példáját.

Build

  1. Klónozd a repót
  2. Kövesd ezt az útmutatót, hogy telepítsd a pnpm csomagkezelőt.
  3. Futtasd a következő parancsot pnpm install --frozen-lockfile a kellékek telepítéséhez.
  4. Építsd meg az alkalmazást az operációs rendszerednek megfelelő paranccsal: pnpm build:OS
  • pnpm dist:win - Windows
  • pnpm dist:linux - Linux (amd64)
  • pnpm dist:linux:deb-arm64 - Linux (arm64 Debiánhoz)
  • pnpm dist:linux:rpm-arm64 - Linux (arm64 Fedorához)
  • pnpm dist:mac - macOS (amd64)
  • pnpm dist:mac:arm64 - macOS (arm64)

Az alkalmazás építéséhez a electron-builder eszközt használáld, amely támogatja a macOS, Linux és Windows platformokat.

Gyártás előnézete

pnpm start

Tesztelés

pnpm test

A Playwright tesztelési keretrendszert használd az alkalmazás teszteléséhez.

Licenc

MIT © th-ch

GYIK

Miért nem jelenik meg az alkalmazás menüje?

Ha a menü elrejtése opció be van kapcsolva, a menüt az alt billentyűvel jelenítheted meg (vagy az ` [fordított idézőjel] billentyűvel, ha az alkalmazáson belüli menü bővítményt használod).