An Emacs major mode for the Glicol audio programming language.
- Syntax highlighting for Glicol code
- Smart code completion with documentation
- Integration with glicol-cli
- Built-in commands for controlling the Glicol server
- Doom Emacs integration
- Real-time documentation lookup
- Intelligent context-aware suggestions
- Dedicated Glicol-CLI buffer shows status and errors
- Emacs 26.1 or later
- glicol-cli installed and available in your PATH
- Sample audio files from the Glicol repository
After downloading the samples, you need to set the GLICOL_CLI_SAMPLES_PATH
environment variable to point to your samples directory:
# Add to your shell configuration file (.bashrc, .zshrc, config.fish, etc):
export GLICOL_CLI_SAMPLES_PATH="/path/to/your/samples"
Clone this repository:
git clone https://github.com/khtdr/glicol-mode.git
Add to your init.el
:
(add-to-list 'load-path "/path/to/glicol-mode")
(require 'glicol-mode)
(straight-use-package
'(glicol-mode :type git :host github :repo "khtdr/glicol-mode"))
(use-package glicol-mode
:load-path "/path/to/glicol-mode"
:mode "\\.glicol\\'")
Add to your packages.el
:
(package! glicol-mode
:recipe (:host github :repo "khtdr/glicol-mode"))
Files with the .glicol
extension will automatically open in Glicol mode.
C-c C-s
- Start the Glicol serverC-c C-q
- Quit the Glicol serverC-c C-c
- Check server statusC-c C-r
- Restart the serverC-c C-b
- Set BPM (beats per minute)
For Doom Emacs users, the modeline will show the Glicol server status with clickable buttons to start/stop the server.
You can customize the path to the glicol-cli executable:
;; Set the path to glicol-cli:
(setq glicol-cli-command "/path/to/glicol-cli")
;; Set the default BPM (beats per minute):
(setq glicol-bpm 120)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.