How yildirimmmm/g-midi works
G-Midi is an Electron-based Habbo MIDI player. Its main workflow is to load a MIDI file, control playback, and send piano-furni clicks through the Habbo extension. It also supports piano-key mapping, named mapping configurations, and app settings. The sampled source confirms server routes, configuration persistence, and Habbo packet handling; the README is empty, and the excerpts do not establish how the HTML pages call the server or how the extension is connected to a Habbo session.
Main entry points: main.mjs HTTP API · index.html Player page · settings.html Settings page · editConfig.html Config editor
Components 16
Desktop interface
- Electron window
main.mjs - Player page
public/index.html - Settings page
public/settings.html - Config editor
public/editConfig.html - HTTP API
main.mjs
MIDI playback
- MIDI parser
main.mjs - Playback controls
main.mjs - Note scheduling
main.mjs
Habbo piano
- Key mapping
main.mjs - Habbo extension
main.mjs
Configuration
- Config routes
main.mjs - Mapping configs
configs/default.json - Settings handling
main.mjs - App settings
public/settings.json
Other components
- User
- Habbo game server
Connections 14
- User → Electron window: uses
- Electron window → Player page: loads
- Electron window → Settings page: loads
- Electron window → Config editor: loads
- HTTP API → MIDI parser: parses upload
- HTTP API → Playback controls: dispatches controls
- Playback controls → Note scheduling: schedules notes
- Note scheduling → Key mapping: maps notes
- Key mapping → Habbo extension: sends piano clicks
- Habbo extension → Habbo game server: forwards packets
- HTTP API → Config routes: dispatches config requests
- Config routes → Mapping configs: reads and writes
- HTTP API → Settings handling: dispatches settings requests
- Settings handling → App settings: reads and writes