aboutsummaryrefslogtreecommitdiff
path: root/composer/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'composer/common.h')
-rw-r--r--composer/common.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/composer/common.h b/composer/common.h
index 516836f..f9005cf 100644
--- a/composer/common.h
+++ b/composer/common.h
@@ -55,6 +55,8 @@
#define TRACK_SELECTOR "#TRACK"
#define SONG_SELECTOR "#SONG"
+static void list_snconvf(char *buf, size_t bufsz, t_symbol* s, size_t argc, t_atom* argv);
+
struct _track;
struct _pattern;
@@ -62,6 +64,7 @@ typedef struct _song
{
t_symbol* x_name;
ArrayListDeclare(x_tracks, struct _track*, t_int);
+ struct _track* x_mastertrack;
} t_song;
typedef struct _song_proxy
@@ -70,6 +73,7 @@ typedef struct _song_proxy
t_outlet* outlet;
t_song* x_song;
t_int b_editor_open;
+ t_symbol* rcv;
} t_song_proxy;
typedef struct _track
@@ -99,20 +103,25 @@ typedef struct _pattern
} t_pattern;
static t_song* song_new(t_symbol* song_name);
+static void song_mastertrack_fix_cols(t_song* x);
static void song_free(t_song* x);
static t_song* song_get(t_symbol* song_name);
static int song_exists(t_symbol* song_name);
static t_track* track_new(t_symbol* song_name, t_symbol* track_name, t_int columns);
+static t_track* mastertrack_new(t_song* song, t_symbol* track_name, t_int columns);
+static t_track* song_create_track(t_song* x, t_symbol* track_name, t_int columns);
static void track_free(t_track* x);
static t_track* track_get(t_symbol* song_name, t_symbol* track_name);
static int track_exists(t_symbol* song_name, t_symbol* track_name);
+static void track_binbuf_save(t_track* x);
static t_pattern* pattern_new(t_track* track, t_symbol* name, t_int rows);
static t_pattern* pattern_clone(t_pattern* src, t_symbol* newname);
static void pattern_free(t_pattern* x);
static void pattern_rename(t_pattern* x, t_symbol* newname);
static void pattern_resize(t_pattern *x, t_int newsize);
+static void pattern_resize_cols(t_pattern* x, t_int newcols);
static void pattern_new_empty_row(t_pattern* x);
static t_atom* pattern_getrow(t_pattern* x, t_int row);
static t_atom* pattern_clone_row(t_pattern* x, t_atom* row);
@@ -127,7 +136,27 @@ static t_song_proxy* song_proxy_new(t_symbol* song_name);
static void song_proxy_free(t_song_proxy* x);
static void song_proxy_float(t_song_proxy* x, t_floatarg f);
static void song_proxy_properties(t_gobj* z, t_glist* owner);
+static void song_proxy_properties_close(t_gobj* z, t_glist* owner);
static void song_proxy_save(t_gobj* z, t_binbuf* b);
+static t_atom* song_proxy_gettracks(t_song_proxy* x);
+static void song_proxy_gettracks_o(t_song_proxy* x);
+static t_int song_proxy_gettracks_count(t_song_proxy* x);
+static void song_proxy_gettracks_count_o(t_song_proxy* x);
+static void song_proxy_anything(t_song_proxy* x, t_symbol* s, int argc, t_atom* argv);
+static void song_proxy_loaddata(t_song_proxy* x, t_symbol* s, int argc, t_atom* argv);
+static t_atom* song_proxy_getpatternlength(t_song_proxy* x, t_symbol* pat_name);
+static void song_proxy_editcmd(t_song_proxy* x, t_symbol* s_, int argc, t_atom* argv_);
+static void song_proxy_sendgui(t_song_proxy* x, t_symbol* s, int argc, t_atom* argv);
+static void song_proxy_setrow(t_song_proxy* x, t_symbol* sel, int argc, t_atom* argv);
+static t_atom* song_proxy_getrow(t_song_proxy* x, t_symbol* pat_name, t_floatarg rownum);
+static t_atom* song_proxy_getrow_with_header(t_song_proxy* x, t_symbol* pat_name, t_floatarg rownum);
+static void song_proxy_getrow_o(t_song_proxy* x, t_symbol* pat_name, t_floatarg rownum);
+static void song_proxy_setcell(t_song_proxy* x, t_symbol* sel, int argc, t_atom* argv);
+static t_atom* song_proxy_getcell(t_song_proxy* x, t_symbol* pat_name, t_floatarg rownum, t_floatarg colnum);
+static t_atom* song_proxy_getcell_with_header(t_song_proxy* x, t_symbol* pat_name, t_floatarg rownum, t_floatarg colnum);
+static void song_proxy_getcell_o(t_song_proxy* x, t_symbol* pat_name, t_floatarg rownum, t_floatarg colnum);
+static t_pattern* song_proxy_resizepattern(t_song_proxy* x, t_symbol* name, t_floatarg rows);
+static t_atom* song_proxy_get_track_names(t_song_proxy* x);
void track_proxy_setup(void);
static t_track_proxy* track_proxy_new(t_symbol* song_name, t_symbol* track_name, t_floatarg cols);