Skip to main content
Glama

MCP MIDI Bridge

by tezza1971
preload.js7.03 kB
"use strict"; const electron = require("electron"); electron.contextBridge.exposeInMainWorld("electronAPI", { // Song management getSongList: () => electron.ipcRenderer.invoke("get-song-list"), getLatestSong: () => electron.ipcRenderer.invoke("get-latest-song"), getCurrentSong: () => electron.ipcRenderer.invoke("get-current-song"), importMidiFile: (filePath) => electron.ipcRenderer.invoke("import-midi-file", filePath), exportMidiFile: (noteSequence, filePath) => electron.ipcRenderer.invoke("export-midi-file", noteSequence, filePath), // MIDI functionality playMidi: (noteSequence) => electron.ipcRenderer.invoke("play-midi", noteSequence), stopMidi: () => electron.ipcRenderer.invoke("stop-midi"), getMidiOutputs: () => electron.ipcRenderer.invoke("get-midi-outputs"), getMidiInstruments: () => electron.ipcRenderer.invoke("get-midi-instruments"), getMidiDrums: () => electron.ipcRenderer.invoke("get-midi-drums"), // Configuration getConfig: () => electron.ipcRenderer.invoke("get-config"), updateConfig: (newConfig) => electron.ipcRenderer.invoke("update-config", newConfig), // MCP Status getMcpStatus: () => electron.ipcRenderer.invoke("get-mcp-status"), // Event listeners onSongUpdated: (callback) => { electron.ipcRenderer.on("song-updated", (_, data) => callback(data)); }, onPlaybackProgress: (callback) => { electron.ipcRenderer.on("playback-progress", (_, data) => callback(data)); }, onMcpServerStatus: (callback) => { electron.ipcRenderer.on("mcp-server-status", (_, data) => callback(data)); }, onOpenSettings: (callback) => { electron.ipcRenderer.on("open-settings", () => callback()); }, onShowAbout: (callback) => { electron.ipcRenderer.on("show-about", () => callback()); } }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL21haW4vcHJlbG9hZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb250ZXh0QnJpZGdlLCBpcGNSZW5kZXJlciB9IGZyb20gJ2VsZWN0cm9uJztcbmltcG9ydCB7IEFwcENvbmZpZywgQ29uZmlnVXBkYXRlUmVzdWx0LCBNY3BTZXJ2ZXJTdGF0dXMsIE1pZGlGaWxlUmVzdWx0LCBOb3RlU2VxdWVuY2UsIFBsYXlNaWRpUmVzdWx0LCBQbGF5YmFja1Byb2dyZXNzLCBTYXZlU29uZ1Jlc3VsdCwgU29uZ0luZm8gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIEV4cG9zZSBwcm90ZWN0ZWQgbWV0aG9kcyB0aGF0IGFsbG93IHRoZSByZW5kZXJlciBwcm9jZXNzIHRvIHVzZVxuLy8gdGhlIGlwY1JlbmRlcmVyIHdpdGhvdXQgZXhwb3NpbmcgdGhlIGVudGlyZSBvYmplY3RcbmNvbnRleHRCcmlkZ2UuZXhwb3NlSW5NYWluV29ybGQoJ2VsZWN0cm9uQVBJJywge1xuICAvLyBTb25nIG1hbmFnZW1lbnRcbiAgZ2V0U29uZ0xpc3Q6ICgpOiBQcm9taXNlPFNvbmdJbmZvW10+ID0+IGlwY1JlbmRlcmVyLmludm9rZSgnZ2V0LXNvbmctbGlzdCcpLFxuICBnZXRMYXRlc3RTb25nOiAoKTogUHJvbWlzZTxOb3RlU2VxdWVuY2UgfCBudWxsPiA9PiBpcGNSZW5kZXJlci5pbnZva2UoJ2dldC1sYXRlc3Qtc29uZycpLFxuICBnZXRDdXJyZW50U29uZzogKCk6IFByb21pc2U8Tm90ZVNlcXVlbmNlIHwgbnVsbD4gPT4gaXBjUmVuZGVyZXIuaW52b2tlKCdnZXQtY3VycmVudC1zb25nJyksXG4gIGltcG9ydE1pZGlGaWxlOiAoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8TWlkaUZpbGVSZXN1bHQ+ID0+IGlwY1JlbmRlcmVyLmludm9rZSgnaW1wb3J0LW1pZGktZmlsZScsIGZpbGVQYXRoKSxcbiAgZXhwb3J0TWlkaUZpbGU6IChub3RlU2VxdWVuY2U6IE5vdGVTZXF1ZW5jZSwgZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8TWlkaUZpbGVSZXN1bHQ+ID0+XG4gICAgaXBjUmVuZGVyZXIuaW52b2tlKCdleHBvcnQtbWlkaS1maWxlJywgbm90ZVNlcXVlbmNlLCBmaWxlUGF0aCksXG5cbiAgLy8gTUlESSBmdW5jdGlvbmFsaXR5XG4gIHBsYXlNaWRpOiAobm90ZVNlcXVlbmNlOiBOb3RlU2VxdWVuY2UpOiBQcm9taXNlPFBsYXlNaWRpUmVzdWx0PiA9PiBpcGNSZW5kZXJlci5pbnZva2UoJ3BsYXktbWlkaScsIG5vdGVTZXF1ZW5jZSksXG4gIHN0b3BNaWRpOiAoKTogUHJvbWlzZTx2b2lkPiA9PiBpcGNSZW5kZXJlci5pbnZva2UoJ3N0b3AtbWlkaScpLFxuICBnZXRNaWRpT3V0cHV0czogKCk6IFByb21pc2U8c3RyaW5nW10+ID0+IGlwY1JlbmRlcmVyLmludm9rZSgnZ2V0LW1pZGktb3V0cHV0cycpLFxuICBnZXRNaWRpSW5zdHJ1bWVudHM6ICgpOiBQcm9taXNlPFJlY29yZDxudW1iZXIsIHsgbmFtZTogc3RyaW5nLCBmYW1pbHk6IHN0cmluZyB9Pj4gPT5cbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ2dldC1taWRpLWluc3RydW1lbnRzJyksXG4gIGdldE1pZGlEcnVtczogKCk6IFByb21pc2U8UmVjb3JkPG51bWJlciwgeyBuYW1lOiBzdHJpbmcgfT4+ID0+IGlwY1JlbmRlcmVyLmludm9rZSgnZ2V0LW1pZGktZHJ1bXMnKSxcblxuICAvLyBDb25maWd1cmF0aW9uXG4gIGdldENvbmZpZzogKCk6IFByb21pc2U8QXBwQ29uZmlnPiA9PiBpcGNSZW5kZXJlci5pbnZva2UoJ2dldC1jb25maWcnKSxcbiAgdXBkYXRlQ29uZmlnOiAobmV3Q29uZmlnOiBQYXJ0aWFsPEFwcENvbmZpZz4pOiBQcm9taXNlPENvbmZpZ1VwZGF0ZVJlc3VsdD4gPT5cbiAgICBpcGNSZW5kZXJlci5pbnZva2UoJ3VwZGF0ZS1jb25maWcnLCBuZXdDb25maWcpLFxuXG4gIC8vIE1DUCBTdGF0dXNcbiAgZ2V0TWNwU3RhdHVzOiAoKTogUHJvbWlzZTxNY3BTZXJ2ZXJTdGF0dXM+ID0+IGlwY1JlbmRlcmVyLmludm9rZSgnZ2V0LW1jcC1zdGF0dXMnKSxcblxuICAvLyBFdmVudCBsaXN0ZW5lcnNcbiAgb25Tb25nVXBkYXRlZDogKGNhbGxiYWNrOiAoZGF0YTogU2F2ZVNvbmdSZXN1bHQpID0+IHZvaWQpID0+IHtcbiAgICBpcGNSZW5kZXJlci5vbignc29uZy11cGRhdGVkJywgKF8sIGRhdGE6IFNhdmVTb25nUmVzdWx0KSA9PiBjYWxsYmFjayhkYXRhKSk7XG4gIH0sXG4gIG9uUGxheWJhY2tQcm9ncmVzczogKGNhbGxiYWNrOiAoZGF0YTogUGxheWJhY2tQcm9ncmVzcykgPT4gdm9pZCkgPT4ge1xuICAgIGlwY1JlbmRlcmVyLm9uKCdwbGF5YmFjay1wcm9ncmVzcycsIChfLCBkYXRhOiBQbGF5YmFja1Byb2dyZXNzKSA9PiBjYWxsYmFjayhkYXRhKSk7XG4gIH0sXG4gIG9uTWNwU2VydmVyU3RhdHVzOiAoY2FsbGJhY2s6IChkYXRhOiBNY3BTZXJ2ZXJTdGF0dXMpID0+IHZvaWQpID0+IHtcbiAgICBpcGNSZW5kZXJlci5vbignbWNwLXNlcnZlci1zdGF0dXMnLCAoXywgZGF0YTogTWNwU2VydmVyU3RhdHVzKSA9PiBjYWxsYmFjayhkYXRhKSk7XG4gIH0sXG4gIG9uT3BlblNldHRpbmdzOiAoY2FsbGJhY2s6ICgpID0+IHZvaWQpID0+IHtcbiAgICBpcGNSZW5kZXJlci5vbignb3Blbi1zZXR0aW5ncycsICgpID0+IGNhbGxiYWNrKCkpO1xuICB9LFxuICBvblNob3dBYm91dDogKGNhbGxiYWNrOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgaXBjUmVuZGVyZXIub24oJ3Nob3ctYWJvdXQnLCAoKSA9PiBjYWxsYmFjaygpKTtcbiAgfVxufSk7Il0sIm5hbWVzIjpbImNvbnRleHRCcmlkZ2UiLCJpcGNSZW5kZXJlciJdLCJtYXBwaW5ncyI6Ijs7QUFLQUEsU0FBQUEsY0FBYyxrQkFBa0IsZUFBZTtBQUFBO0FBQUEsRUFFN0MsYUFBYSxNQUEyQkMsU0FBQUEsWUFBWSxPQUFPLGVBQWU7QUFBQSxFQUMxRSxlQUFlLE1BQW9DQSxTQUFBQSxZQUFZLE9BQU8saUJBQWlCO0FBQUEsRUFDdkYsZ0JBQWdCLE1BQW9DQSxTQUFBQSxZQUFZLE9BQU8sa0JBQWtCO0FBQUEsRUFDekYsZ0JBQWdCLENBQUMsYUFBOENBLFNBQUFBLFlBQVksT0FBTyxvQkFBb0IsUUFBUTtBQUFBLEVBQzlHLGdCQUFnQixDQUFDLGNBQTRCLGFBQzNDQSxTQUFBQSxZQUFZLE9BQU8sb0JBQW9CLGNBQWMsUUFBUTtBQUFBO0FBQUEsRUFHL0QsVUFBVSxDQUFDLGlCQUF3REEsU0FBQUEsWUFBWSxPQUFPLGFBQWEsWUFBWTtBQUFBLEVBQy9HLFVBQVUsTUFBcUJBLFNBQUFBLFlBQVksT0FBTyxXQUFXO0FBQUEsRUFDN0QsZ0JBQWdCLE1BQXlCQSxTQUFBQSxZQUFZLE9BQU8sa0JBQWtCO0FBQUEsRUFDOUUsb0JBQW9CLE1BQ2xCQSxTQUFBQSxZQUFZLE9BQU8sc0JBQXNCO0FBQUEsRUFDM0MsY0FBYyxNQUFpREEsU0FBQUEsWUFBWSxPQUFPLGdCQUFnQjtBQUFBO0FBQUEsRUFHbEcsV0FBVyxNQUEwQkEsU0FBQUEsWUFBWSxPQUFPLFlBQVk7QUFBQSxFQUNwRSxjQUFjLENBQUMsY0FDYkEsU0FBQUEsWUFBWSxPQUFPLGlCQUFpQixTQUFTO0FBQUE7QUFBQSxFQUcvQyxjQUFjLE1BQWdDQSxTQUFBQSxZQUFZLE9BQU8sZ0JBQWdCO0FBQUE7QUFBQSxFQUdqRixlQUFlLENBQUMsYUFBNkM7QUFDM0RBLGFBQUFBLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLFNBQXlCLFNBQVMsSUFBSSxDQUFDO0FBQUEsRUFDNUU7QUFBQSxFQUNBLG9CQUFvQixDQUFDLGFBQStDO0FBQ2xFQSxhQUFBQSxZQUFZLEdBQUcscUJBQXFCLENBQUMsR0FBRyxTQUEyQixTQUFTLElBQUksQ0FBQztBQUFBLEVBQ25GO0FBQUEsRUFDQSxtQkFBbUIsQ0FBQyxhQUE4QztBQUNoRUEsYUFBQUEsWUFBWSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsU0FBMEIsU0FBUyxJQUFJLENBQUM7QUFBQSxFQUNsRjtBQUFBLEVBQ0EsZ0JBQWdCLENBQUMsYUFBeUI7QUFDeENBLGFBQUFBLFlBQVksR0FBRyxpQkFBaUIsTUFBTSxTQUFBLENBQVU7QUFBQSxFQUNsRDtBQUFBLEVBQ0EsYUFBYSxDQUFDLGFBQXlCO0FBQ3JDQSxhQUFBQSxZQUFZLEdBQUcsY0FBYyxNQUFNLFNBQUEsQ0FBVTtBQUFBLEVBQy9DO0FBQ0YsQ0FBQzsifQ==

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tezza1971/mcp-midi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server