Hi! I updated BSE, and now SpectMorph doesn't compile any more. I think there are (at least) two problems:
1) it seems that SpectMorph code depends on types like uint64 being available at global scope (which used to be the case when using libbse) smencoder.cc: In member function ‘void SpectMorph::Encoder::approx_noise(const std::vector<float>&)’: smencoder.cc:1077:8: error: ‘uint64’ was not declared in this scope for (uint64 frame = 0; frame < audio_blocks.size(); frame++) This could be fixed by SpectMorph defining its own SpectMorph::uint64. 2) bse headers included by SpectMorph expect undefined types /usr/local/beast/include/bse-0/bse/bseutils.hh:45:42: error: ‘uint8’ does not name a type Bse::Icon bse_icon_from_pixstream (const uint8 *pixstream); I wonder if I should produce fixes that replace uint8 with Bse::uint8 in these cases. The other option for SpectMorph at this point is to replace all BSE stuff (except for the Beast plugin) completely with non-BSE code. For instance data handles used for reading audio files could be replaced with libsndfile and so forth. This would probably be preferable from a dependency point of view, as depending against libsndfile (for instance) isn't uncommon and easy for packages to do, whereas depending on libbse is not as easy. And API stability of libraries like libsndfile is higher, too. Its still quite a bit of work to completely free the codebase from libbse constructs. Cu... Stefan -- Stefan Westerfeld, http://space.twc.de/~stefan _______________________________________________ beast mailing list [email protected] https://mail.gnome.org/mailman/listinfo/beast
