EDITOR  "korg x5 librarian"

INCLUDE "x5lp"

PAGE    @p_main   "" ""

;---------------------------------------------------
; Programs:

BOX     @b_prog   @p_main "PROGRAMS" 0d 0d 60d 10d ""

BUFFER  @buf_prog 194d "program buffer"

OUT     @m_mode_pe F0 42 30 36 4E 03 00 F7 P(10)
OUT     @m_mode_p  F0 42 30 36 4E 02 00 F7 P(10)

REQ     @rq_pr_edit @m_mode_pe F0 42 30 36 10 F7
RECEIVE @r_pr_edit @b_prog  "read from edit buffer" @rq_pr_edit @buf_prog 2d 1d 0d 193d ' ' ""

OUT     @m_pr_edit @m_mode_pe @buf_prog
SEND    @s_pr_edit @b_prog "write to edit buffer" @m_pr_edit ""

CHOICE  @v_pr_nu_r @b_prog "read num  = " @l_progs 1d 236d 1d 10d 4d "[1...100]=[A00...A99] [101...236]=[G001...G136]"
GLOBAL  @v_bnk j(#v_pr_nu_r,1d,0d,100d,1d,229d,2d) ""
REQ     @m_pr_ch B0 0 .(@v_bnk,0,38,3E) B0 20 0 C0 .(@v_bnk,-(@v_pr_nu_r,1d),-(@v_pr_nu_r,100d),J(@v_pr_nu_r,229d,0,10,19,20,28,40,18,30)) P(10)
REQ     @rq_pr_nu  @m_mode_p @m_pr_ch @rq_pr_edit
RECEIVE @r_pr_nu @b_prog "read from prg num" @rq_pr_nu @buf_prog 4d 1d 0d 193d ' ' "Global/ProgramChangeFilter must be at least on PRG !"
OUT     @m_pr_after z(#r_pr_nu) @m_mode_p

NUM     @v_pr_nu_w @b_prog "write num = A" 0d 99d 0 10d ""
OUT     @m_pr_nu  @m_mode_pe @buf_prog P(10) F0 42 30 36 11 00 @v_pr_nu_w F7 @m_mode_p
SEND    @s_pr_nu  @b_prog "write to prg num (user)" @m_pr_nu ""

OUT     @m_pr_sa @buf_prog
SAVE    @save_pr @b_prog "save to file  :" 34d "p-noname.x5" @m_pr_sa ""
LOAD    @load_pr @b_prog "load from file:" 34d "p-noname.x5" @buf_prog 1d 1d 0d 193d ' ' ""


;---------------------------------------------------
; Combi:

BOX     @b_comb   @p_main "COMBINATIONS" 0d 10d 60d 9d ""

BUFFER  @buf_comb 162d "combination buffer"

OUT     @m_mode_ce   F0 42 30 36 4E 01 00 F7 P(10)
OUT     @m_mode_c F0 42 30 36 4E 00 00 F7 P(10)

REQ     @rq_cb_edit @m_mode_ce F0 42 30 36 19 F7
RECEIVE @r_cb_edit @b_comb "read from edit buffer" @rq_cb_edit @buf_comb 2d 1d 0d 161d ' ' ""

OUT     @m_cb_edit @m_mode_ce @buf_comb
SEND    @s_cb_edit @b_comb "write to edit buffer" @m_cb_edit ""

NUM     @v_cb_nu @b_comb "combi num = " 0d 99d 0d 10d "[00...99]"
REQ     @rq_cb_nu  @m_mode_c C0 @v_cb_nu @rq_cb_edit
RECEIVE @r_cb_nu @b_comb "read from combi num" @rq_cb_nu @buf_comb 4d 1d 0d 161d ' ' "Global/ProgramChangeFilter must be at least on ENA !"
OUT     @m_cb_after z(#r_cb_nu) @m_mode_c

OUT     @m_cb_nu  @m_mode_ce @buf_comb P(10) F0 42 30 36 1A 00 @v_cb_nu F7 @m_mode_c
SEND    @s_cb_nu  @b_comb "write to combi num" @m_cb_nu ""

OUT     @m_cb_sa @buf_comb
SAVE    @save_cb @b_comb "save to file  :" 34d "c-noname.x5" @m_cb_sa ""
LOAD    @load_cb @b_comb "load from file:" 34d "c-noname.x5" @buf_comb 1d 1d 0d 161d ' ' ""

