AlloSphere-Research-Group / AlloSystem

AlloSystem is a cross-platform suite of C++ components for building interactive multimedia tools and applications.
http://mat.ucsb.edu/allosphere/software.php
BSD 3-Clause "New" or "Revised" License
65 stars 22 forks source link

VCR example not building #52

Closed mantaraya36 closed 9 years ago

mantaraya36 commented 9 years ago

Failing both in the makefile-build branch and the devel branch with:

➜ AlloSystem-github git:(makefile-build) ✗>make examples/alloutil/VCR.cpp 
In file included from build//include/allocore/al_Allocore.hpp:80:0,
                 from build//include/allocore/io/al_App.hpp:47,
                 from build//include/allocore/al_Allocore.hpp:54,
                 from examples/alloutil/VCR.cpp:15:
build//include/allocore/sound/al_Dbap.hpp: In member function ‘virtual void al::Dbap::perform(al::AudioIOData&, al::SoundSource&, al::Vec3d&, const int&, int&, float&)’:
build//include/allocore/sound/al_Dbap.hpp:88:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (unsigned i = 0; i < mNumSpeakers; ++i)
                         ^
In file included from build//include/allocore/al_Allocore.hpp:78:0,
                 from build//include/allocore/io/al_App.hpp:47,
                 from build//include/allocore/al_Allocore.hpp:54,
                 from examples/alloutil/VCR.cpp:15:
build//include/allocore/sound/al_AudioScene.hpp: At global scope:
build//include/allocore/sound/al_AudioScene.hpp:118:18: warning: ‘virtual void al::Spatializer::perform(al::AudioIOData&, al::SoundSource&, al::Vec3d&, const int&, float*)’ was hidden [-Woverloaded-virtual]
     virtual void perform(
                  ^
In file included from build//include/allocore/al_Allocore.hpp:81:0,
                 from build//include/allocore/io/al_App.hpp:47,
                 from build//include/allocore/al_Allocore.hpp:54,
                 from examples/alloutil/VCR.cpp:15:
build//include/allocore/sound/al_Vbap.hpp:91:7: warning:   by ‘virtual void al::Vbap::perform(al::AudioIOData&, al::SoundSource&, al::Vec3d&, const int&, int&, float&)’ [-Woverloaded-virtual]
  void perform(AudioIOData& io, SoundSource& src, Vec3d& relpos, const int& numFrames, int& frameIndex, float& sample);
       ^
In file included from examples/alloutil/VCR.cpp:16:0:
build//include/alloutil/al_VCR.hpp: In member function ‘void al::VCR::writeImages(al::Image&)’:
build//include/alloutil/al_VCR.hpp:321:115: error: no matching function for call to ‘al::Image::write(std::string, uint8_t*, int, int, al::Image::Format)’
   image.write<uint8_t>(std::string(path), (uint8_t *)src.data.ptr, (int)src.width(), (int)src.height(), Image::RGB);
                                                                                                                   ^
build//include/alloutil/al_VCR.hpp:321:115: note: candidate is:
In file included from build//include/allocore/al_Allocore.hpp:46:0,
                 from examples/alloutil/VCR.cpp:15:
build//include/allocore/graphics/al_Image.hpp:196:7: note: template<class Pix> void al::Image::write(const Pix&, unsigned int, unsigned int)
  void write(const Pix& pix, unsigned x, unsigned y) {
       ^
build//include/allocore/graphics/al_Image.hpp:196:7: note:   template argument deduction/substitution failed:
In file included from examples/alloutil/VCR.cpp:16:0:
build//include/alloutil/al_VCR.hpp:321:115: note:   cannot convert ‘std::basic_string<char>(((const char*)(& path)), (*(const std::allocator<char>*)(& std::allocator<char>())))’ (type ‘std::string {aka std::basic_string<char>}’) to type ‘const unsigned char&’
   image.write<uint8_t>(std::string(path), (uint8_t *)src.data.ptr, (int)src.width(), (int)src.height(), Image::RGB);
                                                                                                                   ^
examples/alloutil/VCR.cpp: In function ‘int main()’:
examples/alloutil/VCR.cpp:89:2: error: reference to ‘App’ is ambiguous
  App app;
  ^
examples/alloutil/VCR.cpp:24:8: note: candidates are: struct App
 struct App : Window {
        ^
In file included from build//include/allocore/al_Allocore.hpp:54:0,
                 from examples/alloutil/VCR.cpp:15:
build//include/allocore/io/al_App.hpp:178:7: note:                 class al::App
 class App {
       ^
examples/alloutil/VCR.cpp:91:29: warning: ignoring return value of ‘char* getcwd(char*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
     getcwd(cwd, sizeof(cwd));
                             ^
Makefile.buildandrun:44: recipe for target 'examples/alloutil/VCR.cpp' failed
make: *** [examples/alloutil/VCR.cpp] Error 1
LancePutnam commented 9 years ago

Should be fixed now.

Note that the RenderToDisk class in allocore/io is meant to replace VCR. RenderToDisk also supports NRT rendering and drops the dependency on Gamma.

https://github.com/AlloSphere-Research-Group/AlloSystem/blob/devel/allocore/examples/io/renderToDisk.cpp https://github.com/AlloSphere-Research-Group/AlloSystem/blob/devel/allocore/allocore/io/al_RenderToDisk.hpp

mantaraya36 commented 9 years ago

VCR example now builds. Thanks!