19e42698f3820b37c3277fafceeaa49a258bdfd9
[terminatorX.git] / src / tX_event.cc
1 /*
2     terminatorX - realtime audio scratching software
3     Copyright (C) 1999-2002  Alexander K├Ânig
4  
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9  
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.
14  
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  
19     File: tX_event.cc
20  
21     Description: This implements the sequencer events.
22 */ 
23
24 #include <tX_event.h>
25
26 tX_event :: tX_event (FILE *input)
27 {
28         unsigned int sp_persistence_id;
29
30         fread((void *) &sp_persistence_id, sizeof(sp_persistence_id), 1, input);
31         fread((void *) &timestamp, sizeof(timestamp), 1, input);
32         fread((void *) &value, sizeof(value), 1, input);
33
34         sp=tX_seqpar::get_sp_by_persistence_id(sp_persistence_id);
35         if (!sp)
36         {
37                 fprintf(stderr, "oops: couldn't resolve sp by persistence id %i.\n", sp_persistence_id);
38         }
39 }
40
41 void tX_event :: store (FILE *output)
42 {
43         int res=0;
44         unsigned int persistence_id;
45         
46         persistence_id=sp->get_persistence_id();
47
48         res+=fwrite((void *) &persistence_id, sizeof(persistence_id), 1, output)-1;     
49         res+=fwrite((void *) &timestamp, sizeof(timestamp), 1, output)-1;
50         res+=fwrite((void *) &value, sizeof(value), 1, output)-1;
51 }