Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Hilderbert 07. 12. 2017, 21:37:29
-
Chtěl bych v pythonu udělat hudební aplikaci, která by realime zobrazovala hru nebo na klavír. GUI bych chtěl mít ideálně přes websocket v html/js nebo v gtk. Vizualizace by měla vypadat nějak takto http://littlebluerodent.tripod.com/MIDI/Piano_roll_single.png (jde mi hlavně o to grafické znázornění výšek a délek tónů.) Ale nevím jak na to. Neexistuje na to nějaká knihovna? Python, HTML/JS i GTK ovládám.
-
Editor SPE s wxPython by mohl pomoct.
-
Mám výborné zkušenosti s https://github.com/dddomodossola/remi . Autor je velice ochotný https://gitter.im/dddomodossola/remi?source=all-rooms-list
-
Pokud to může být bloatware, pak zkus https://github.com/mjhasbach/pixi-piano-roll. Je to postaveno na pixi.js (https://github.com/mjhasbach/pixi.js), což je hodně rychlá html 5 knihovna pro 2D graiku postavená na WbGL.
Pokud chceš vlastní řešení, pak by řešením mohlo být SVG a manipulace s ním, buď přímo přes JS/DOM a nebo o něco pomaleji, ale mnohem pohodlněji přes SVG.js (http://svgjs.com/manipulating/).
-
na tohle určitě není potřeba SVG ani webGL. Použil bych obyčejnou HTML tabulku.
-
Určitě bych použil nějaký JS framework. Pythonu IMHO v oblasti GUI ujel vlak.
-
na tohle určitě není potřeba SVG ani webGL. Použil bych obyčejnou HTML tabulku.
Viděl jste ten screenshot? Jak chcete přes HTML tabulku kreslit ty zelené značky? Přes tu maximálně tak ten rastr a i to jen s krajním sebezapřením.
-
na tohle určitě není potřeba SVG ani webGL. Použil bych obyčejnou HTML tabulku.
Viděl jste ten screenshot? Jak chcete přes HTML tabulku kreslit ty zelené značky? Přes tu maximálně tak ten rastr a i to jen s krajním sebezapřením.
overflow?
-
na tohle určitě není potřeba SVG ani webGL. Použil bych obyčejnou HTML tabulku.
Piano Roll je teoreticky nekonečný, a přidávat další a další sloupce do tabulky není dobrý nápad. Tabulky jsou pomalé a čím jsou větší, tím jsou pomalejší. U dvaatřicetinových not by bylo potřeba 32 sloupců na takt (dvakrát tolik při podpoře triol) a delší skladby mají desítky až stovky taktů. A já náhodou potřebuji ještě větší rozlišení, protože chci zobrazit skladbu z not a přes to midi nahrávku reálného hráče a ukázat mu, kde se dopouští větších nepřesností.
To pixy se mi líbí, je to neuvěřitelně rychlé a plynulé, děkuji za rady.
-
Tak jsem nakonec použil SVG, Pixi je hezké, ale dost žere baterky.
Funkční prototyp vypadá takto: http://imgworld.cz/oqr6Vm7xPr.png# (http://imgworld.cz/oqr6Vm7xPr.png#)