RayMP

Where Terminal Meets Symphony

The only music player that thinks like a developer and sounds like a dream

Craft your perfect audio experience with Lua-powered plugins and infinite customization

2MB
Ultra-lightweight binary
Customization possibilities
0ms
Interface lag
100%
Pure terminal magic
$ raymp --load ~/music/playlist.m3u [♪ RayMP v1.0.0 - The Developer's Audio Playground ♪] ┌─────────────────────────────────────────────────────────┐ │ ♫ Transcending Audio ♫ │ ├─────────────────────────────────────────────────────────┤ │ Track: Bohemian Rhapsody - Queen │ │ Magic: [████████████████████░░░░] 4:12 / 5:55 │ │ Soul: ████████████████████████████████████████ 95% │ └─────────────────────────────────────────────────────────┘ 🚀 Plugins unleashed: matrix_symphony, wave_sculptor, code_radio Press 'i' to morph reality | 'o' to summon background wizardry _

Features

Everything you need for a powerful terminal music experience

🔧

Infinitely Hackable

Your terminal, your rules. Our plugin architecture doesn't just allow customization—it demands creativity. Turn RayMP into a digital audio workstation, a coding soundtrack manager, or something the world has never seen.

🎨

Mathematical Beauty

UI layouts that think. Write templates with expressions like "w/3 + 10" and watch your interface adapt flawlessly to any terminal size. It's not just responsive—it's intelligent.

🎵

Audiophile's Dream Engine

Sound quality that makes you weep. Pristine playback, surgical precision seeking, and audio controls so smooth they feel like magic. Your ears deserve better than compromise.

Impossibly Fast

2MB. That's it. While other players bloat your system with gigabytes of cruft, RayMP launches instantly, runs anywhere, and respects your machine's resources like they're sacred.

🌐

Universal Presence

One player, every platform. Linux servers, macOS studios, Windows workstations—RayMP speaks fluent terminal everywhere. SSH into Mars and your music follows.

🔄

Parallel Universes

Background plugins that bend reality. Run system monitors, notification centers, and productivity tools in parallel dimensions while your main interface stays pristine and focused.

The Terminal Renaissance

While the world drowns in bloated, electron-wrapped music players that devour RAM like digital locusts, a quiet revolution brews in the terminal. Here, where keystrokes are poetry and efficiency is art, RayMP emerges not as another media player, but as a philosophy made code.
This is for the architects of digital experiences, the sculptors of system resources, the wizards who make terminals sing. RayMP doesn't just play music—it orchestrates possibilities.

Experience the Magic

See RayMP's plugin system in action

┌─────────────────── Audio Visualizer ───────────────────┐ │ ████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │ │ ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │ │ ████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │ │ ██████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░ │ │ ████████████████████████████████░░░░░░░░░░░░░░░░░ │ │ │ │ 🎵 Frequency: 440Hz | Beat: ♪♪♪♫ | BPM: 128 │ └─────────────────────────────────────────────────────────┘

The Great Interface Awakening

Why terminals aren't just surviving—they're conquering

Terminal Interface: The Superior Species

Ruthless Efficiency
2MB versus 200MB. 10ms startup versus 5 seconds. Zero GPU load versus maxing out your graphics card. The math isn't even close—terminals obliterate GUIs in pure performance.
🔧
Automation Superpowers
Script everything, automate anything. While GUI users click buttons like digital peasants, you orchestrate symphonies of commands that bend computers to your will.
🌐
Quantum Omnipresence
SSH into a server in Tokyo, spin up a container in São Paulo, or debug a Raspberry Pi in your garage. Your interface follows you everywhere, unchanged and uncompromised.
Universal Accessibility
Screen readers native. Keyboard navigation flawless. High contrast built-in. Terminals were accessible before accessibility was cool.
🎯
Laser Focus
No popup notifications. No blinking sidebars. No UI elements having an identity crisis. Just you, your content, and pure digital zen.

GUI: The Beautiful Burden

🐌
Resource Vampires
Electron apps consuming RAM like digital black holes. GPU fans screaming for mercy. Battery life vanishing into the void of unnecessary visual effects.
🔒
Automation Hostility
Try to script a GUI app and watch it laugh at your futile attempts. Headless operation? What's that? Batch processing? Not in this lifetime.
📡
Remote Access Nightmares
X11 forwarding through molasses. VNC connections that stutter and die. Bandwidth consumption that would make Netflix jealous.
🎨
Complexity Avalanche
Framework dependencies multiplying like rabbits. Theme engines, widget toolkits, and rendering pipelines—all to display some text and buttons.
> Framework dependencies, theme bloat, and inconsistent interfaces across systems.

Documentation

Everything you need to get started and build amazing plugins

Quick Start

Get RayMP running in minutes

# Install RayMP
curl -sSL https://rayden-six.vercel.app/raymp/install.sh | bash

# Run RayMP
raymp

Configuration

Customize RayMP to your needs

-- ~/.rmp/init.lua
local api = require("rmp.rmp")

return {
  settings = {
    fps = 60,
    volume = 75,
  },
  template = "my_custom_theme",
  plugins = {
    {
      themeWindowId = 2,
      switchPluginKey = api.KEY_I,
      names = {"text_editor", "visualizer"}
    }
  }
}

Plugin Development

Create powerful plugins with Lua

-- ~/.rmp/plugins/my_plugin.lua
local api = require("rmp.rmp")

return function(x, y, xx, yy)
  local vterm = api.VirtualTerminal.new()
  
  vterm:writeText(x+1, y+1, "Hello World!", 
    api.FGColors.Brights.Green)
  
  return vterm
end

Template System

Design responsive UI layouts

-- ~/.rmp/themes/my_theme.lua
return {
  {
    id = 1,
    type = "Window",
    width = "w",        -- Terminal width
    height = "h",       -- Terminal height
    x = 1, y = 1,
    children = {
      {
        id = 2,
        width = "w - 20",   -- Math expressions
        height = "h/2",     -- supported
        x = 10, y = 5
      }
    }
  }
}

Background Plugins

Create independent overlay tools

-- Background plugin example
return function()
  local popup = api.Window.new(999):createWindow(
    api.Text.new("[ Tool ]"),
    30, 10,     -- size
    w-35, 5,    -- position
    colors, bg, border,
    function(x, y, xx, yy)
      -- Popup content here
    end
  )
  return popup
end

API Reference

Complete API documentation

api.VirtualTerminal.new()
api.Window.new(id)
api.Text.new(text, style, fg, bg)
api.Options.new(items)
api.Scroller.new(height, options)
api.Sound.new(files)
api.Frame.new()
api.Terminal:getSize()