Update TODO/BUGS. Adjusted GUI. Disabled undo debug messages.
This commit is contained in:
parent
0ea8dbdcb5
commit
7d6dbd2060
18
BUGS
18
BUGS
|
@ -1,11 +1,19 @@
|
|||
occasional bug on switching layers - check sequencer/backend details
|
||||
pop up window toggles need to be reset if window closes - simple fix
|
||||
import midi doesnt handle misfit events - see 'extratracks' in loadsmf
|
||||
scroll bar size does not indicate scroll range
|
||||
zoom needs to be adjusted
|
||||
select coordination between pianoroll and eventedit is buggy (see select_flag)
|
||||
recording makes undo semi useless
|
||||
missing graphics
|
||||
undo is buggy at least when using layers
|
||||
export midi does not include some important meta events
|
||||
track settings need readjustment
|
||||
paste is missing
|
||||
quantize is missing
|
||||
hand updates need to be regularized
|
||||
channel 10 bank 127 bug
|
||||
undo block creation from inside pattern editor probably leads to problems
|
||||
|
||||
backend should send init/stop events on all present channels, not all tracks
|
||||
|
||||
end of frame sequencing bug - unknown cause
|
||||
out of order dispatch bug - sequencer needs to sort dispatched events
|
||||
|
||||
|
||||
|
||||
|
|
8
INSTALL
8
INSTALL
|
@ -14,9 +14,13 @@ as root to install to the default location.
|
|||
|
||||
When you run into problems, make sure you have the dependency libraries
|
||||
installed. FLTK 2 and JACK with midi support (any recent version) is
|
||||
required.
|
||||
required. Also, LASH is currently required to build. However if you want
|
||||
LASH to actually work, you need the latest release candidate. At the
|
||||
time I write this it is 0.6.0-rc2. LASH can easily be deactivated
|
||||
by not defining HAVE_LASH. If you can add this to the autoconf script,
|
||||
by all means do it and commit the changes.
|
||||
|
||||
NOTE that FLTK2's default configuration will not build the shared libs.
|
||||
*NOTE that FLTK2's default configuration will not build the shared libs.
|
||||
Remember to use --enable-shared when building FLTK2.
|
||||
|
||||
After building you may have an error message about missing graphics and
|
||||
|
|
4
TODO
4
TODO
|
@ -7,8 +7,8 @@ remaining mouse editing
|
|||
remaining tools
|
||||
quantize note on
|
||||
quantize note off
|
||||
join blocks
|
||||
split blocks
|
||||
//join blocks
|
||||
//split blocks
|
||||
//unclone block
|
||||
(note off tool)
|
||||
(aftertouch tool)
|
||||
|
|
17
doc/README
17
doc/README
|
@ -9,12 +9,10 @@ A midi sequencer
|
|||
|
||||
**Epichord**
|
||||
|
||||
This is a program which I have heard described as a classical multi-track
|
||||
midi sequencer. It allows you to arrange notes and patterns to be played on a
|
||||
midi bus or record notes from some midi source. It does not make sound
|
||||
and it does not handle audio in any way. That is the the job of other midi
|
||||
aware softwares and hardware devices.
|
||||
|
||||
Epichord is a midi sequencer. It allows you to arrange midi patterns to be
|
||||
played on midi aware tools, record midi, and store/load arrangements to/from
|
||||
disk. It does not make sound or handle audio in any way. That is the job of
|
||||
other midi programs and hardware to which it can connect.
|
||||
|
||||
**where to get the source**
|
||||
|
||||
|
@ -23,6 +21,13 @@ accept the ability to get the source code if you do not already have it.
|
|||
|
||||
the source is in a git repo at http://repo.or.cz/w/epichord.git
|
||||
|
||||
Use the following command to get a clone of the repo which you can use
|
||||
to easily get updates to the very latest version, or to make improvments
|
||||
and submit them. The repo has the mob branch enabled so you do not need
|
||||
a password to use that branch.
|
||||
|
||||
git clone git://repo.or.cz/epichord.git
|
||||
|
||||
|
||||
**how to build**
|
||||
|
||||
|
|
14
src/seq.cpp
14
src/seq.cpp
|
@ -1023,12 +1023,12 @@ void reset_record_flags(){
|
|||
|
||||
void set_undo(Command* c){
|
||||
if(undo_ptr != undo_stack.end()){
|
||||
printf("changing the past, need to erase the future\n");
|
||||
//printf("changing the past, need to erase the future\n");
|
||||
std::list<int>::iterator nptr = undo_number.end();
|
||||
nptr--;
|
||||
while(nptr != undo_nptr){
|
||||
int N = *nptr;
|
||||
printf("deleting %d commands\n",N);
|
||||
//printf("deleting %d commands\n",N);
|
||||
for(int i=0; i<N; i++){
|
||||
//delete this command
|
||||
undo_stack.pop_back();
|
||||
|
@ -1037,7 +1037,7 @@ printf("deleting %d commands\n",N);
|
|||
undo_number.pop_back();
|
||||
}
|
||||
}
|
||||
printf("pushing command\n");
|
||||
//printf("pushing command\n");
|
||||
undo_stack.push_back(c);
|
||||
undo_ptr = undo_stack.end();
|
||||
c->redo();
|
||||
|
@ -1045,7 +1045,7 @@ printf("pushing command\n");
|
|||
|
||||
void undo_push(int n){
|
||||
if(n==0){return;}
|
||||
printf("pushing number of commands %d\n",n);
|
||||
//printf("pushing number of commands %d\n",n);
|
||||
undo_number.push_back(n);
|
||||
undo_nptr++;
|
||||
}
|
||||
|
@ -1055,7 +1055,7 @@ void do_undo(){
|
|||
printf("no more to undo!\n");
|
||||
return;
|
||||
}
|
||||
printf("undoing\n");
|
||||
//printf("undoing\n");
|
||||
int N = *undo_nptr;
|
||||
undo_nptr--;
|
||||
for(int i=0; i<N; i++){
|
||||
|
@ -1069,7 +1069,7 @@ void do_redo(){
|
|||
printf("no more to redo!\n");
|
||||
return;
|
||||
}
|
||||
printf("redoing\n");
|
||||
//printf("redoing\n");
|
||||
undo_nptr++;
|
||||
int N = *undo_nptr;
|
||||
for(int i=0; i<N; i++){
|
||||
|
@ -1079,7 +1079,7 @@ printf("redoing\n");
|
|||
}
|
||||
|
||||
void undo_reset(){
|
||||
printf("undo reset\n");
|
||||
//printf("undo reset\n");
|
||||
int N = undo_stack.size();
|
||||
for(int i=0; i<N; i++){
|
||||
std::list<Command*>::iterator c = undo_stack.end();
|
||||
|
|
11
src/ui.cpp
11
src/ui.cpp
|
@ -735,14 +735,15 @@ UI::UI() {
|
|||
{fltk::Group* o = pattern_buttons = new fltk::Group(200, 5, 310, 25);
|
||||
o->hide();
|
||||
o->begin();
|
||||
{fltk::Button* o = quant1_button = new fltk::Button(35, 0, 25, 25, "qua");
|
||||
{fltk::Button* o = tool_button = new fltk::Button(35, 0, 25, 25, "tool");
|
||||
o->callback((fltk::Callback*)cb_tool_button);
|
||||
o->hide();
|
||||
}
|
||||
{fltk::Button* o = quant1_button = new fltk::Button(60, 0, 25, 25, "qua");
|
||||
o->tooltip("quantize selected notes");
|
||||
}
|
||||
{fltk::Button* o = quant0_button = new fltk::Button(60, 0, 25, 25, "qu_");
|
||||
{fltk::Button* o = quant0_button = new fltk::Button(85, 0, 25, 25, "qu_");
|
||||
o->tooltip("quantize length of selected notes");
|
||||
}
|
||||
{fltk::Button* o = tool_button = new fltk::Button(85, 0, 25, 25, "tool");
|
||||
o->callback((fltk::Callback*)cb_tool_button);
|
||||
}
|
||||
{fltk::Button* o = qbutton4 = new fltk::Button(135, 0, 25, 25);
|
||||
o->callback((fltk::Callback*)cb_qbutton4);
|
||||
|
|
20
src/ui.fl
20
src/ui.fl
|
@ -72,10 +72,10 @@ save_config();} open
|
|||
o->size_range(640,455);
|
||||
o->resize(640,455);} visible
|
||||
} {
|
||||
{fltk::Group} {} {
|
||||
{fltk::Group} {} {open
|
||||
xywh {0 0 640 445} resizable
|
||||
} {
|
||||
{fltk::Group} song_edit {open
|
||||
{fltk::Group} song_edit {
|
||||
xywh {0 0 640 445}
|
||||
} {
|
||||
{fltk::Group} {} {open
|
||||
|
@ -288,25 +288,25 @@ ui->event_edit->redraw();}
|
|||
xywh {125 5 25 25}
|
||||
extra_code {o->type(fltk::Button::TOGGLE);}
|
||||
}
|
||||
{fltk::Group} {} {open
|
||||
{fltk::Group} {} {selected
|
||||
xywh {155 0 20 35} resizable
|
||||
} {}
|
||||
{fltk::Group} pattern_buttons {
|
||||
xywh {200 5 310 25} hide
|
||||
} {
|
||||
{fltk::Button} tool_button {
|
||||
label tool
|
||||
callback {toggle_tool();}
|
||||
xywh {35 0 25 25} hide
|
||||
}
|
||||
{fltk::Button} quant1_button {
|
||||
label qua
|
||||
tooltip {quantize selected notes}
|
||||
xywh {35 0 25 25}
|
||||
xywh {60 0 25 25}
|
||||
}
|
||||
{fltk::Button} quant0_button {
|
||||
label qu_
|
||||
tooltip {quantize length of selected notes}
|
||||
xywh {60 0 25 25}
|
||||
}
|
||||
{fltk::Button} tool_button {
|
||||
label tool
|
||||
callback {toggle_tool();}
|
||||
xywh {85 0 25 25}
|
||||
}
|
||||
{fltk::Button} qbutton4 {
|
||||
|
@ -429,7 +429,7 @@ else{
|
|||
{fltk::Window} config_window {
|
||||
label config
|
||||
callback {ui->conf_button->state(0);
|
||||
o->hide();} open selected
|
||||
o->hide();}
|
||||
xywh {52 125 320 285} hide
|
||||
} {
|
||||
{fltk::TabGroup} {} {open
|
||||
|
|
4
src/ui.h
4
src/ui.h
|
@ -118,13 +118,13 @@ private:
|
|||
static void cb_loop_toggle(fltk::Button*, void*);
|
||||
public:
|
||||
fltk::Group *pattern_buttons;
|
||||
fltk::Button *quant1_button;
|
||||
fltk::Button *quant0_button;
|
||||
fltk::Button *tool_button;
|
||||
private:
|
||||
inline void cb_tool_button_i(fltk::Button*, void*);
|
||||
static void cb_tool_button(fltk::Button*, void*);
|
||||
public:
|
||||
fltk::Button *quant1_button;
|
||||
fltk::Button *quant0_button;
|
||||
fltk::Button *qbutton4;
|
||||
private:
|
||||
inline void cb_qbutton4_i(fltk::Button*, void*);
|
||||
|
|
Loading…
Reference in New Issue