Jump to content

Recommended Posts

Posted

Opusmodus 1.2 can be used from within the Emacs editor as well (see the post at the link below for details). For me as a programmer having additionally access to the Emacs Lisp IDE SLIME is greatly preferable due to various advanced features provided by Slime when compared with the more easy-to-use native IDE of Opusmodus. 

 

For more information on SLIME see its website:

https://common-lisp.net/project/slime

 

Unfortunately, the SLIME link is seemingly broken in Opusmodus 1.3, which I just started for the first time. For those who have no SLIME installed (but have Quicklisp set up), SLIME can be installed with the following command.

(ql:quickload "quicklisp-slime-helper")

 

Unfortunately, this results now in an error.

 

To load "quicklisp-slime-helper":
  Load 1 ASDF system:
    quicklisp-slime-helper
; Loading "quicklisp-slime-helper"
..
> Error: Undefined function asdf/interface::operation-forced called with arguments (#<load-op>) .
> While executing: #<standard-method asdf/action:perform (asdf/lisp-action:load-op swank-loader::swank-loader-file)>, in process Listener-2(9).
> Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
> If continued: Retry applying asdf/interface::operation-forced to (#<load-op>).
> Type :? for other options.


I already had SLIME installed, but simply running it does not work either and results in the same error.

(cl-user::start-swank) 

? To load "swank":
  Load 1 ASDF system:
    swank
; Loading "swank"
.
> Error: Undefined function asdf/interface::operation-forced called with arguments (#<load-op>) .
> While executing: #<standard-method asdf/action:perform (asdf/lisp-action:load-op swank-loader::swank-loader-file)>, in process Listener-2(9).
> Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
> If continued: Retry applying asdf/interface::operation-forced to (#<load-op>).
> Type :? for other options.

 

Any help? Thanks a lot! 

 

Best,

Torsten

  • 1 year later...
Posted

Following up on this - is there a way to have Opusmodus work within a Jupyter notebook? I think it would be very useful in educational settings. I know there are lisp implementations that work in Jupyter:

 

1104500?s=400&v=4
GITHUB.COM

An enhanced interactive Shell for Common Lisp (based on the Jupyter protocol) - fredokun/cl-jupyter

 

- but is there a way to include Opusmodus as well? At least the functions and notation?

Posted
On 6/23/2020 at 3:10 PM, Avner Dorman said:

Following up on this - is there a way to have Opusmodus work within a Jupyter notebook? I think it would be very useful in educational settings. I know there are lisp implementations that work in Jupyter:

 

1104500?s=400&v=4
GITHUB.COM

An enhanced interactive Shell for Common Lisp (based on the Jupyter protocol) - fredokun/cl-jupyter

 

- but is there a way to include Opusmodus as well? At least the functions and notation?

 

If your goal is for you as a teacher to create documents for your students to read containing Common Lisp and Opusmodus code, and where you want to evaluate the code directly from within that document, then Org mode with embedded Common Lisp + Slime is your friend. This is a very powerful combination, that can automatically create nice slides (with the LaTeX beamer interface), embed music notation (Lilypond) etc. I used this combination for years for teaching, had then all sessions of a course in a single document for easily moving content around etc.

 

Nevertheless, you likely do not want to introduce your students to use Org mode... For that, Jupyter notebooks (or plain Opusmodus) will be more easy for the students.

 

ORGMODE.ORG

Org: an Emacs Mode for Notes, Planning, and Authoring

 

 

However, I don't know of a way to automatically embed music notation output of Opusmodus in Emacs Org mode. What is missing for that, AFAIK, is some Opusmodus function that automatically creates a graphic file for a given snippet or score. If that would be there, that feature shouldn't be too hard to add (other Org mode babel programming language interfaces do already similar things, e.g., Lilypond, and the code for that is freely available).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy