;;; -*- Mode:LISP; Package: COMPOSER; Readtable:CL; Base:10 -*- ;;; ;;; Window system user interface for composer system ;;; ;;; (defflavor composer-frame () (tv:process-mixin tv:select-mixin tv:inferiors-not-in-select-menu-mixin tv:alias-for-inferiors-mixin tv:essential-mouse tv:bordered-constraint-frame-with-shared-io-buffer tv:top-box-label-mixin) (:default-init-plist :save-bits :delayed :io-buffer (tv:make-io-buffer #o512 nil 'tv:kbd-default-output-function) :borders 1 :label '(:string "Music Composer" :font fonts:metsi :centered) :configuration 'basic :panes `((music-pane music-pane) (interaction-pane tv:lisp-listener)) :constraints `((basic (music-pane interaction-pane) ((interaction-pane 10 :lines) (music-pane :even)))))) (defmethod (composer-frame :after :init) (&rest ignore) (send self :set-selection-substitute (send self :get-pane 'interaction-pane))) (defflavor music-pane () (tv:graphics-mixin tv:window)) (tv:add-system-key #\Z 'composer-frame "Music Composition Frame")