A canceled load or import does not erase the song.
[epichord.git] / src / main.cpp
blob23cccc4fa90edb9faa4ae96b00de4aa0ee99e062
1 /*
2 Epichord - a midi sequencer
3 Copyright (C) 2008 Evan Rinehart
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to
18 The Free Software Foundation, Inc.
19 51 Franklin Street, Fifth Floor
20 Boston, MA 02110-1301, USA
23 #include <stdlib.h>
25 #include <fltk/run.h>
26 #include <fltk/Group.h>
27 #include <fltk/Button.h>
28 #include <fltk/Input.h>
29 #include <fltk/ValueInput.h>
32 #include "ui.h"
33 #include "backend.h"
34 #include "uihelper.h"
35 #include "saveload.h"
37 UI* ui;
39 int main(int argc, char* argv[]){
41 ui = new UI();
43 init_gui();
45 ui->arranger->take_focus();
47 load_config();
49 if(argc > 1){
50 if(loadsmf(argv[1])<0){
51 if(load(argv[1])<0){
52 reset_song();
56 else{
57 reset_song();
60 if(init_backend(&argc, &argv) < 0){
61 return 1;
66 int ret = fltk::run();
68 shutdown_backend();
70 delete ui;
72 return ret;