Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/lib/gen_code.py

    r1164fd85 rbf54364  
    7575        'onset': '1',
    7676        'pitch': '1',
     77        'notes': '3',
    7778        'wavetable': 'self->hop_size',
    7879        'sampler': 'self->hop_size',
     
    8283        'filterbank': 'self->n_filters',
    8384        'tss': 'self->hop_size',
     85        }
     86
     87objinputsize = {
     88        'mfcc': 'self->buf_size / 2 + 1',
     89        'notes': 'self->hop_size',
     90        'onset': 'self->hop_size',
     91        'pitch': 'self->hop_size',
     92        'sampler': 'self->hop_size',
     93        'specdesc': 'self->buf_size / 2 + 1',
     94        'tempo': 'self->hop_size',
     95        'wavetable': 'self->hop_size',
    8496        }
    8597
     
    377389        return NULL;
    378390    }}""".format(input_param, pytoaubio = pytoaubio_fn[input_param['type']])
    379         out += """
     391        if self.shortname in objinputsize:
     392            out += """
     393
     394    if (self->{0[name]}.length != {expected_size}) {{
     395        PyErr_Format (PyExc_ValueError,
     396            "input size of {shortname} should be %d, not %d",
     397            {expected_size}, self->{0[name]}.length);
     398        return NULL;
     399    }}""".format(input_param, expected_size = objinputsize[self.shortname], **self.__dict__)
     400        else:
     401            out += """
    380402
    381403    // TODO: check input sizes"""
Note: See TracChangeset for help on using the changeset viewer.