vcvrack / vcv-recorder Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
It would be nice to document how to build this repo. makde dep is failing for me. Lot of errors like this:
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: silk/float/.libs/LPC_inv_pred_gain_FLP.o:C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: more undefined references to `__memcpy_chk' follow
I got this error on my Win10 machine and reproduced on another Win10 with a fresh clone of Rack and vcv-recorder:
$ make dep
\# Don't use ./configure --prefix="/home/Leonardo/Lezioni-Rack/Rack/plugins/VCV-Recorder/dep" --host=x86_64-w64-mingw32 because this is a handwritten configure script
\# ffmpeg bug: The pkgconfig dir is not set from pkgconfigdir at all. Set it with PKG_CONFIG_PATH instead.
cd ffmpeg && PKG_CONFIG_PATH="/home/Leonardo/Lezioni-Rack/Rack/plugins/VCV-Recorder/dep/lib/pkgconfig" ./configure --prefix="/home/Leonardo/Lezioni-Rack/Rack/plugins/VCV-Recorder/dep" --enable-pic --enable-gpl \
--disable-programs --disable-doc --disable-avdevice --disable-swresample --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \
--enable-protocol=file \
--enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le --enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be --enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame --enable-muxer=flac --enable-encoder=flac --enable-muxer=ipod --enable-encoder=alac --enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2 --enable-muxer=avi --enable-encoder=huffyuv --enable-muxer=avi --enable-encoder=ffv1
/bin/sh: ./configure: No such file or directory
make: *** [Makefile:74: dep/lib/libavcodec.a] Error 127
Am I missing something? Deps should be fine (including nasm)
possibly related to issue #26 -- and also likely issue 22 in the VCV-Prototype issues thread -- but when a .vcv file containing an instance of the recorder module has been copied to another path, the recorder module will not respond to record button presses.
Is there a way that I could set the recorder module to always prompt with a save-as dialog? at the moment it just remembers the last known save directory
Windows 10, Recorder commit 1c30f48, Rack v1 commit VCVRack/Rack@93bf107
...
mv -f .deps/lametime.Tpo .deps/lametime.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I../libmp3lame -I../include -I.. -fPIC -g -O3 -march=nocona -MT parse.o -MD -MP -MF .deps/parse.Tpo -c -o parse.o parse.c
parse.c:74:10: fatal error: langinfo.h: No such file or directory
#include <langinfo.h>
^~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:500: parse.o] Error 1
make[2] : on quitte le répertoire « /home/mboule/Rack/rdev/Rack/plugins/VCV-Recorder/dep/lame-3.100/frontend »
make[1]: *** [Makefile:452: install-recursive] Error 1
make[1] : on quitte le répertoire « /home/mboule/Rack/rdev/Rack/plugins/VCV-Recorder/dep/lame-3.100 »
make: *** [Makefile:52: dep/lib/libmp3lame.a] Error 2
I am fine with most parts of the video recording except that menu bar at the top that doesn't need to be in the video. This request is only for looks and is not very important. 😄 I assume there is a reason it's in the video, and if it can't be removed then I will live.
CPU: Intel® Core™2 Quad Processor Q8300
OS: Windows 10 1703
Rack: Free 2.1.2
Recorder: latest
Rack crashes when I try to start recording using Recorder. It happens 100% with or without any other modules.
These actions will all trigger the crash:
Changing engine sample rate / threads, Recorder audio format / sample rate / bit depth won't help.
This bug is not new in Rack 2.1.2, it appeared after some updates of Recorder or Rack 2 that I can't remember exactly, but I didn't file an issue back then.
Here are the backtraces from gdb
when the crash happens:
Thread 27 received signal SIGILL, Illegal instruction.
[Switching to Thread 9360.0x2448]
0x00007ffc7a05b970 in plugin!av_get_channel_layout_nb_channels () from C:\Users\Letheward\Documents\Rack2\plugins\VCV-Recorder\plugin.dll
(gdb) bt
#0 0x00007ffc7a05b970 in plugin!av_get_channel_layout_nb_channels () from C:\Users\Letheward\Documents\Rack2\plugins\VCV-Recorder\plugin.dll
#1 0x00007ffc79fe84e8 in plugin!avcodec_open2 () from C:\Users\Letheward\Documents\Rack2\plugins\VCV-Recorder\plugin.dll
#2 0x00007ffc7a145235 in plugin!_ZN7Encoder4openENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_iiiiii () from C:\Users\Letheward\Documents\Rack2\plugins\VCV-Recorder\plugin.dll
#3 0x00007ffc7a147862 in plugin!_ZN8Recorder5startEv () from C:\Users\Letheward\Documents\Rack2\plugins\VCV-Recorder\plugin.dll
#4 0x00007ffc7a148625 in plugin!_ZN8Recorder7processERKN4rack6engine6Module11ProcessArgsE () from C:\Users\Letheward\Documents\Rack2\plugins\VCV-Recorder\plugin.dll
#5 0x00007ffc8e95fb6a in libRack!_ZN4rack6engine6Module9doProcessERKNS1_11ProcessArgsE () from D:\Software\Rack2\libRack.dll
#6 0x00007ffc8e95ab82 in libRack!_ZN4rack6engine6Engine9stepBlockEi () from D:\Software\Rack2\libRack.dll
#7 0x00007ffc8e95b486 in libRack!_ZN4rack6engine6Engine9stepBlockEi () from D:\Software\Rack2\libRack.dll
#8 0x00007ffc91001371 in ?? () from D:\Software\Rack2\libstdc++-6.dll
#9 0x00007ffca77f4d53 in ?? () from D:\Software\Rack2\libwinpthread-1.dll
#10 0x00007ffcbc06ae06 in msvcrt!_beginthreadex () from C:\Windows\System32\msvcrt.dll
#11 0x00007ffcbc06aedc in msvcrt!_endthreadex () from C:\Windows\System32\msvcrt.dll
#12 0x00007ffcb9e82784 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#13 0x00007ffcbc810c31 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#14 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
After implementing the suggestion by stoermelder in issue #17, make dep
finishes successfully.
Now to the make
:
$ make
g++ -Wsuggest-override -std=c++11 -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -c -o build/src/Recorder.cpp.o src/Recorder.cpp
g++ -Wsuggest-override -std=c++11 -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -c -o build/src/plugin.cpp.o src/plugin.cpp
mkdir -p dep
g++ -o plugin.dll build/src/Recorder.cpp.o build/src/plugin.cpp.o dep/lib/libavformat.a dep/lib/libavcodec.a dep/lib/libavutil.a dep/lib/libswscale.a dep/lib/libmp3lame.a -shared -L../.. -lRack
build/src/Recorder.cpp.o: In function `RecorderWidget::draw(rack::widget::Widget::DrawArgs const&)':
C:\msys64\home\Admin\Rack\rdev\Rack\plugins\VCV-Recorder/src/Recorder.cpp:1071: undefined reference to `glReadPixels'
dep/lib/libavutil.a(random_seed.o): In function `av_get_random_seed':
C:\msys64\home\Admin\Rack\rdev\Rack\plugins\VCV-Recorder\dep\ffmpeg/libavutil/random_seed.c:126: undefined reference to `BCryptOpenAlgorithmProvider'
C:\msys64\home\Admin\Rack\rdev\Rack\plugins\VCV-Recorder\dep\ffmpeg/libavutil/random_seed.c:129: undefined reference to `BCryptGenRandom'
C:\msys64\home\Admin\Rack\rdev\Rack\plugins\VCV-Recorder\dep\ffmpeg/libavutil/random_seed.c:130: undefined reference to `BCryptCloseAlgorithmProvider'
collect2.exe: error: ld returned 1 exit status
make: *** [../../compile.mk:53: plugin.dll] Error 1
commit 6dd76d3 on make dep:
cd dep/ffmpeg && ./configure --prefix="/home/Phil/rack-1.0.3/rack/plugins/vcv-recorder/dep" --enable-pic --enable-gpl \
--disable-programs --disable-doc --disable-avdevice --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \
--enable-protocol=file \
--enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le \
--enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be \
--enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame \
--enable-muxer=flac --enable-encoder=flac \
--enable-muxer=ipod --enable-encoder=alac \
--enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
make: *** [Makefile:32: dep/lib/libavcodec.a] Error 1
Running on Mac Catalina (10.15.1) using the latest VCV and latest versions of all modules.
I'm unable to record an MPEG2 video (I'm able to record just audio, however). As soon as I click on the red button VCV crashes. I get a crash report from the OS that indicates:
"*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
Assertion failed: (err >= 0), function open, file src/Recorder.cpp, line 288.
terminating with uncaught exception of type NSException"
First attached file is the crash report. The second file is the patch file.
It seems like there is a missing library of some kind.
src/Recorder.cpp:672:34: error: 'struct rack::engine::Engine' has no member named 'getPrimaryModule'
672 | if (APP->engine->getPrimaryModule() == this) {
| ^~~~~~~~~~~~~~~~
src/Recorder.cpp: In member function 'void Recorder::setPrimary()':
src/Recorder.cpp:987:30: error: 'struct rack::engine::Engine' has no member named 'setPrimaryModule'
987 | APP->engine->setPrimaryModule(this);
| ^~~~~~~~~~~~~~~~
src/Recorder.cpp: In member function 'bool Recorder::isPrimary()':
src/Recorder.cpp:991:37: error: 'struct rack::engine::Engine' has no member named 'getPrimaryModule'
991 | return APP->engine->getPrimaryModule() == this;
| ^~~~~~~~~~~~~~~~
src/Recorder.cpp: In member function 'virtual void RecorderWidget::appendContextMenu(rack::ui::Menu*)':
src/Recorder.cpp:1112:51: error: no matching function for call to 'createCheckMenuItem(std::string, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>)'
1112 | menu->addChild(createCheckMenuItem((path != "") ? path : "Select...",
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1113 | [=]() {return module->isPrimary();},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1114 | [=]() {selectPath(module);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
1115 | ));
| ~
...
src/Recorder.cpp:1117:53: error: no matching function for call to 'createBoolPtrMenuItem(const char [24], bool*)'
1117 | menu->addChild(createBoolPtrMenuItem("Append -001, -002, etc.", &module->incrementPath));
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
src/Recorder.cpp:1124:59: error: no matching function for call to 'createCheckMenuItem(std::__cxx11::basic_string<char>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>)'
1124 | menu->addChild(createCheckMenuItem(fi.name + " (." + fi.extension + ")",
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1125 | [=]() {return format == module->format;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1126 | [=]() {module->setFormat(format);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1127 | ));
| ~
...
src/Recorder.cpp:1135:59: error: no matching function for call to 'createCheckMenuItem(std::__cxx11::basic_string<char>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>)'
1135 | menu->addChild(createCheckMenuItem(fi.name + " (." + fi.extension + ")",
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1136 | [=]() {return format == module->format;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1137 | [=]() {module->setFormat(format);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1138 | ));
|
...
src/Recorder.cpp: In lambda function:
src/Recorder.cpp:1147:75: error: no matching function for call to 'createCheckMenuItem(std::string, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>::<lambda()>)'
1147 | menu->addChild(createCheckMenuItem(string::f("%g kHz", sampleRate / 1000.0),
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1148 | [=]() {return module->sampleRate == sampleRate;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1149 | [=]() {module->setSampleRate(sampleRate); DEBUG("%d", sampleRate);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1150 | ));
| ~
...
src/Recorder.cpp:1144:49: error: no matching function for call to 'createSubmenuItem(const char [12], RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>)'
1144 | menu->addChild(createSubmenuItem("Sample rate",
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
1145 | [=](Menu* menu) {
| ~~~~~~~~~~~~~~~~~
1146 | for (int sampleRate : module->getSampleRates()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1147 | menu->addChild(createCheckMenuItem(string::f("%g kHz", sampleRate / 1000.0),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1148 | [=]() {return module->sampleRate == sampleRate;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1149 | [=]() {module->setSampleRate(sampleRate); DEBUG("%d", sampleRate);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1150 | ));
| ~~~
1151 | }
| ~
1152 | }
| ~
1153 | ));
| ~
...
src/Recorder.cpp:1159:83: error: no matching function for call to 'createCheckMenuItem(std::string, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>::<lambda()>)'
1159 | menu->addChild(createCheckMenuItem(string::f("%d bit", depth),
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1160 | [=]() {return module->depth == depth;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1161 | [=]() {module->setDepth(depth);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1162 | ));
| ~
...
src/Recorder.cpp:1156:57: error: no matching function for call to 'createSubmenuItem(const char [10], RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>)'
1156 | menu->addChild(createSubmenuItem("Bit depth",
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
1157 | [=](Menu* menu) {
| ~~~~~~~~~~~~~~~~~
1158 | for (int depth : module->getDepths()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1159 | menu->addChild(createCheckMenuItem(string::f("%d bit", depth),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1160 | [=]() {return module->depth == depth;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1161 | [=]() {module->setDepth(depth);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1162 | ));
| ~~~
1163 | }
| ~
1164 | }
| ~
1165 | ));
| ~
...
src/Recorder.cpp:1172:83: error: no matching function for call to 'createCheckMenuItem(std::string, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>::<lambda()>)'
1172 | menu->addChild(createCheckMenuItem(string::f("%d kbps", bitRate / 1000),
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1173 | [=]() {return module->bitRate == bitRate;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1174 | [=]() {module->setBitRate(bitRate);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1175 | ));
| ~
...
src/Recorder.cpp:1169:57: error: no matching function for call to 'createSubmenuItem(const char [9], RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda(rack::ui::Menu*)>)'
1169 | menu->addChild(createSubmenuItem("Bit rate",
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
1170 | [=](Menu* menu) {
| ~~~~~~~~~~~~~~~~~
1171 | for (int bitRate : module->getBitRates()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1172 | menu->addChild(createCheckMenuItem(string::f("%d kbps", bitRate / 1000),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1173 | [=]() {return module->bitRate == bitRate;},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1174 | [=]() {module->setBitRate(bitRate);}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1175 | ));
| ~~~
1176 | }
| ~
1177 | }
| ~
1178 | ));
| ~
...
src/Recorder.cpp:1182:51: error: no matching function for call to 'createCheckMenuItem(const char [21], RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>, RecorderWidget::appendContextMenu(rack::ui::Menu*)::<lambda()>)'
1182 | menu->addChild(createCheckMenuItem("Primary audio module",
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
1183 | [=]() {return module->isPrimary();},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1184 | [=]() {module->setPrimary();}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1185 | ));
| ~
nit picky issue, easily worked around. Windows 7.
thanks!
I use Nysthi's Master Recorder 2 but for quick recordings it can only record wav for me (MP3 records at a low bitrate despite the settings right now) so VCV Recorder is very appealing. However, Recorder always gives me Untitled as the default recording name. Nysthi does patchname_time_date_something as default which is very convenient. Could this be added to Recorder?
I am using linux (kde neon) so perhaps this is not the way it behaves on other platforms?
Linux Ubuntu 18.04
GCC 7.5.0
VCV Rack 1.dev*
Greetings ! I'm having a problem with the dependencies:
$ ENABLE_H264=1 make dep
# Don't use ./configure --prefix="/home/dlphilp/src/Rack/plugins/VCV-Recorder/dep" --host=x86_64-linux-gnu because this is a handwritten configure script
# ffmpeg bug: The pkgconfig dir is not set from pkgconfigdir at all. Set it with PKG_CONFIG_PATH instead.
cd ffmpeg && PKG_CONFIG_PATH="/home/dlphilp/src/Rack/plugins/VCV-Recorder/dep/lib/pkgconfig" ./configure --prefix="/home/dlphilp/src/Rack/plugins/VCV-Recorder/dep" --enable-pic --enable-gpl \
--disable-programs --disable-doc --disable-avdevice --disable-swresample --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \
--enable-protocol=file \
--enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le --enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be --enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame --enable-libopus --enable-muxer=opus --enable-encoder=libopus --enable-muxer=flac --enable-encoder=flac --enable-muxer=ipod --enable-encoder=alac --enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2 --enable-muxer=avi --enable-encoder=huffyuv --enable-muxer=avi --enable-encoder=ffv1 --enable-libx264 --enable-muxer=mp4 --enable-encoder=libx264 --enable-encoder=aac
ERROR: opus not found using pkg-config
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
Makefile:71: recipe for target 'dep/lib/libavcodec.a' failed
make: *** [dep/lib/libavcodec.a] Error 1
However:
$ ls dep/
include lame-3.100 lib opus-1.3.1 share x264-cde9a93319bea766a92e306d69059c76de970190
$ ls dep/lib/
libmp3lame.a libmp3lame.la libopus.a libopus.la libx264.a pkgconfig
$ ls dep/opus-1.3.1/
aclocal.m4 compile config.sub INSTALL Makefile.am OpusConfig.cmake.in opus_sources.mk silk_sources.mk
AUTHORS config.guess configure install-sh Makefile.in opus_functions.cmake opus-uninstalled.pc src
celt config.h configure.ac libopus.la Makefile.mips opus_headers.mk opus-uninstalled.pc.in stamp-h1
celt_headers.mk config.h.cmake.in COPYING libtool Makefile.unix opus.m4 package_version test-driver
celt_sources.mk config.h.in depcomp ltmain.sh missing opus.pc README tests
ChangeLog config.log doc m4 NEWS opus.pc.in silk win32
CMakeLists.txt config.status include Makefile opus_config.cmake opus_sources.cmake silk_headers.mk
$ ls dep/lib/pkgconfig/
opus.pc x264.pc
Any suggestions ? Did I miss something ?
My computer can't keep up with rendering to lossless format, so i chose MPEG-2, to render video with VCV-Recorder v.1.1.0
Here's the procedure i made in VCV Rack:
The resulting file loaded and played in Windows Media Player and another video player (JetAudio). The sound was audible but there was no visuals. i assume that the contents of the Rack's window is intended to be captured?! i attempted recording with Rack both in fullscreen and windowed. i also attempted recording after removing scopes from the Rack, in case they caused conflict.
Environment:
# Don't use ./configure --prefix="/d/VCVRack/v1/plugins/VCV-Recorder/dep" --host=x86_64-w64-mingw32 because this is a handwritten configure script
cd ffmpeg && ./configure --prefix="/d/VCVRack/v1/plugins/VCV-Recorder/dep" --enable-pic --enable-gpl \
--disable-programs --disable-doc --disable-avdevice --disable-swresample --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \
--enable-protocol=file \
--enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le --enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be --enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame --enable-muxer=flac --enable-encoder=flac --enable-muxer=ipod --enable-encoder=alac --enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2 --enable-muxer=avi --enable-encoder=huffyuv --enable-muxer=avi --enable-encoder=ffv1
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
make: *** [Makefile:53: dep/lib/libavcodec.a] Error 1
Is lamemp3 not reentrant?
commit 16e70f8
Building on Windows 10
g++ -o plugin.dll build/src/Recorder.cpp.o build/src/plugin.cpp.o dep/lib/libavformat.a dep/lib/libavcodec.a dep/lib/libavutil.a dep/lib/libswscale.a dep/lib/libmp3lame.a -shared -L../.. -lRack
build/src/Recorder.cpp.o: In function `RecorderWidget::draw(rack::widget::Widget::DrawArgs const&)':
C:\msys64\home\User\Rackv1\plugins\VCV-Recorder/src/Recorder.cpp:1071: undefined reference to `glReadPixels'
dep/lib/libavutil.a(random_seed.o): In function `av_get_random_seed':
C:\msys64\home\User\Rackv1\plugins\VCV-Recorder\dep\ffmpeg/libavutil/random_seed.c:126: undefined reference to `BCryptOpenAlgorithmProvider'
C:\msys64\home\User\Rackv1\plugins\VCV-Recorder\dep\ffmpeg/libavutil/random_seed.c:129: undefined reference to `BCryptGenRandom'
C:\msys64\home\User\Rackv1\plugins\VCV-Recorder\dep\ffmpeg/libavutil/random_seed.c:130: undefined reference to `BCryptCloseAlgorithmProvider'
collect2.exe: error: ld returned 1 exit status
Couple of issues.
git submodule update --init --recursive
hangs a bit takes about 3-4 minutes to complete the task.
make dep
also fails, full log: https://pastebin.com/5R3ESm67
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.2.1/../../../../x86_64-w64-mingw32/bin/ld.exe: Cannot export lame_init_old: symbol not defined
collect2.exe: error: ld returned 1 exit status
make[3]: *** [Makefile:550: libmp3lame.la] Error 1
make[3]: Leaving directory '/home/Phil/rack-1.0.2/rack/plugins/vcv-recorder/dep/lame-3.100/libmp3lame'
make[2]: *** [Makefile:613: install-recursive] Error 1
make[2]: Leaving directory '/home/Phil/rack-1.0.2/rack/plugins/vcv-recorder/dep/lame-3.100/libmp3lame'
make[1]: *** [Makefile:452: install-recursive] Error 1
make[1]: Leaving directory '/home/Phil/rack-1.0.2/rack/plugins/vcv-recorder/dep/lame-3.100'
make: *** [Makefile:46: dep/lib/libmp3lame.a] Error 2
Rack version: 357952c
There does seem to be a manual available at https://vcvrack.com/Recorder , but it is not in the manifest.
The old PolyRec module by NYSTHI isn't updated for Apple M1+ chips, leaving no easy multichannel recorder in the Library.
I'd love it if Rec's "VCV Time" ability to record smoothly through CPU spikes and jitters was expanded out to multichannel...
My make dep
is failing while fetching some sourceforge packages. I'll put an excerpt of my terminal below, perhaps you might see something useful (sorry for the french, but the penultimate line says that 20 redirections occured, which is beyond the acceptable limit). I've been having this error in the previous days as well, but figured it was because the repo was not finished.
(Win10, commit 4255b04)
(terminal log below was from a second invocation of make dep
, so some things were already done)
$ make dep
cd dep && wget -c "https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz"
--2019-04-17 12:03:18-- https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
Résolution de sourceforge.net (sourceforge.net)… 216.105.38.13
Connexion à sourceforge.net (sourceforge.net)|216.105.38.13|:443… connecté.
requête HTTP transmise, en attente de la réponse… 301 Moved Permanently
Emplacement : https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/ [suivant]
--2019-04-17 12:03:19-- https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/
Connexion à sourceforge.net (sourceforge.net)|216.105.38.13|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download [suivant]
--2019-04-17 12:03:19-- https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download
Connexion à sourceforge.net (sourceforge.net)|216.105.38.13|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?r=&ts=1555516999&use_mirror=ayera [suivant]
--2019-04-17 12:03:20-- https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?r=&ts=1555516999&use_mirror=ayera
Résolution de downloads.sourceforge.net (downloads.sourceforge.net)… 216.105.38.13
Connexion à downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://ayera.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:20-- https://ayera.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de ayera.dl.sourceforge.net (ayera.dl.sourceforge.net)… 172.110.242.68, 2607:fa38:0:fe:6563:4fc1:ac91:ea86
Connexion à ayera.dl.sourceforge.net (ayera.dl.sourceforge.net)|172.110.242.68|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=ayera.dl.sourceforge.net [suivant]
--2019-04-17 12:03:21-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=ayera.dl.sourceforge.net
Connexion à downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:80… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://iweb.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:21-- https://iweb.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)… 192.175.120.182, 2607:f748:10:12::5f:2
Connexion à iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)|192.175.120.182|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=iweb.dl.sourceforge.net [suivant]
--2019-04-17 12:03:21-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=iweb.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://superb-dca2.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:21-- https://superb-dca2.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)… 209.61.193.20
Connexion à superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)|209.61.193.20|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=superb-dca2.dl.sourceforge.net [suivant]
--2019-04-17 12:03:21-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=superb-dca2.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://astuteinternet.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:21-- https://astuteinternet.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de astuteinternet.dl.sourceforge.net (astuteinternet.dl.sourceforge.net)… 162.213.157.36
Connexion à astuteinternet.dl.sourceforge.net (astuteinternet.dl.sourceforge.net)|162.213.157.36|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=astuteinternet.dl.sourceforge.net [suivant]
--2019-04-17 12:03:22-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=astuteinternet.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://phoenixnap.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:22-- https://phoenixnap.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de phoenixnap.dl.sourceforge.net (phoenixnap.dl.sourceforge.net)… 184.164.141.26
Connexion à phoenixnap.dl.sourceforge.net (phoenixnap.dl.sourceforge.net)|184.164.141.26|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=phoenixnap.dl.sourceforge.net [suivant]
--2019-04-17 12:03:22-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=phoenixnap.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://managedway.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:22-- https://managedway.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de managedway.dl.sourceforge.net (managedway.dl.sourceforge.net)… 208.79.213.6
Connexion à managedway.dl.sourceforge.net (managedway.dl.sourceforge.net)|208.79.213.6|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=managedway.dl.sourceforge.net [suivant]
--2019-04-17 12:03:22-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=managedway.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://svwh.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:22-- https://svwh.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de svwh.dl.sourceforge.net (svwh.dl.sourceforge.net)… 72.5.72.15, 2606:c680:0:b:3830:34ff:fe66:6663
Connexion à svwh.dl.sourceforge.net (svwh.dl.sourceforge.net)|72.5.72.15|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=svwh.dl.sourceforge.net [suivant]
--2019-04-17 12:03:23-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=svwh.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://versaweb.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:23-- https://versaweb.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de versaweb.dl.sourceforge.net (versaweb.dl.sourceforge.net)… 162.251.232.173
Connexion à versaweb.dl.sourceforge.net (versaweb.dl.sourceforge.net)|162.251.232.173|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=versaweb.dl.sourceforge.net [suivant]
--2019-04-17 12:03:23-- http://downloads.sourceforge.net/mirrorproblem?failedmirror=versaweb.dl.sourceforge.net
Réutilisation de la connexion existante à downloads.sourceforge.net:80.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://cfhcable.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [suivant]
--2019-04-17 12:03:23-- https://cfhcable.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Résolution de cfhcable.dl.sourceforge.net (cfhcable.dl.sourceforge.net)… 146.71.73.6
Connexion à cfhcable.dl.sourceforge.net (cfhcable.dl.sourceforge.net)|146.71.73.6|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Moved Temporarily
Emplacement : http://downloads.sourceforge.net/mirrorproblem?failedmirror=cfhcable.dl.sourceforge.net [suivant]
20 redirections dépassant la limite permise.
make: *** [Makefile:43: dep/lib/libmp3lame.a] Error 8
```
I'm on Windows 10 and trying to install with the 2.beta.1 SDK. I installed NASM to the default location of C:\Program Files\NASM
and added it to the path, but I get this error when running make dep
:
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
Installing NASM to the Rack-SDK/include
folder doesn't work. I don't know what the problem is.
EDIT: It seems that I had to install NASM via MinGW using pacman -Su nasm
... ¯_(ツ)_/¯
macosx 10.13
after inching to get lame and all ffmpeg installed
I get this:
src/Recorder.cpp:8:10: fatal error: 'libswresample/swresample.h' file not found
#include <libswresample/swresample.h>
the libswresample/swresample.h
seems to be in the correct place
seems like the -I$(RACK_DIR)/dep/include
from plugin.mk
doesn't work, or maybe doesn't work because is declared extern "C"
vcv-recorder module where it won't let you record when operating in loaded sessions (i.e. adding a recorder module, when pressing record it works fine, but upon reopening rack (after closing for whatever the reason), the record button no longer responds (stays grey when clicking).
Windows 10, commit 6dd76d3
...
cd dep/ffmpeg && ./configure --prefix="/home/mboule/Rack/rdev/Rack/plugins/VCV-Recorder/dep" --enable-pic --enable-gpl \
--disable-programs --disable-doc --disable-avdevice --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \
--enable-protocol=file \
--enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le \
--enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be \
--enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame \
--enable-muxer=flac --enable-encoder=flac \
--enable-muxer=ipod --enable-encoder=alac \
--enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
make: *** [Makefile:32: dep/lib/libavcodec.a] Error 1
If would be nice if the readme told you to git clone
into your plugins folder, and if it told you to make dep
fist. and git submodule update --init --recursive
Building on Ubuntu, libopus appears to have built and installed without error. But building ffmpeg is then failing
ERROR: opus not found using pkg-config
I've reached out through email, as this was my understanding with regards to where we should report bugs or feature requests. I figured if I logged this here it would be easier to manage, as I'm sure you're inundated with support emails. So I will attach my support email below for the sake of convince, and for when you'll hopefully be able to get around to this, as I'm sure there are more pressing issues at this time.
I’m getting the same issue I originally mentioned to you regarding the audio playback dropping out after ~7secs when playing back the video, and glitchy video playback. Which makes sense, as there’s no longer any Video Bit Rate settings in the contextual menu for VCV Recorder in Rack 2.
Originally, when trying to record MPEG-2 video in Rack 1, I found I would get the same issue when using a Video Bit Rate of 65536 kbps. When using 32768 kbps or lower, I can capture a patch properly with both audio and video intact. This was consistent on 3 different machines I tested with VCV Recorder, and was also confirmed by a few other users.
I’ve tested this on my:
I have a feeling this is due to the missing Video Bit Rate settings in the contextual menu. Once those where added to VCV Recorder, back in Rack 1, I was able to capture clean video when stepping down to the second highest Video Bit Rate setting on all 3 machines without issue.
Would it be possible to include these Video Bit Rate settings again, in a future update for VCV Recorder?
Thank you for your consideration.
Currently encoding and writing to disk is done on the engine thread. This was the simplest and fastest way to get the software out the door.
A thread-safe message buffer should be used instead, which the worker should consume. I'll probably use OS mutexes for this rather than lock-free data structures.
I always have problems with the recordings when choosing MPEG-4: If i play the file with VLC for example it says that the file HOURS long, and it stutters and stuff. If i re-encode it in HandBrake, i often get parts where there's no sound, weird...It only plays good in quicktime player, but if i export it using quicktime player it has no sound at all!
I'm on the latest versions of both vcv rack and pluging, macbook pro 16, mac os 10.15.5
commit 1c30f48:
# Use -nc because Sourceforce mirrors don't understand -c if the file already exists
mkdir -p dep
cd dep && wget -c -nc "https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz"
--2019-04-17 18:39:20-- https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
Resolving sourceforge.net (sourceforge.net)... ****
Connecting to sourceforge.net (sourceforge.net)|****... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/ [following]
--2019-04-17 18:39:21-- https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/
Reusing existing connection to sourceforge.net:443.
HTTP request sent, awaiting response... 302 Found
Location: https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download [following]
--2019-04-17 18:39:21-- https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download
Reusing existing connection to sourceforge.net:443.
HTTP request sent, awaiting response... 302 Found
Location: https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?r=&ts=1555522754&use_mirror=datapacket [following]
--2019-04-17 18:39:21-- https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?r=&ts=1555522754&use_mirror=datapacket
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... ****
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|****... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://datapacket.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz [following]
--2019-04-17 18:39:22-- https://datapacket.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
Resolving datapacket.dl.sourceforge.net (datapacket.dl.sourceforge.net)... ****
Connecting to datapacket.dl.sourceforge.net (datapacket.dl.sourceforge.net)|****... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1524133 (1.5M) [application/x-gzip]
Saving to: ‘lame-3.100.tar.gz’
lame-3.100.tar.gz 100%[===================>] 1.45M 3.01MB/s in 0.5s
2019-04-17 18:39:23 (3.01 MB/s) - ‘lame-3.100.tar.gz’ saved [1524133/1524133]
cd dep && sha256check() { echo "$2 $1" | sha256sum -c; }; sha256check lame-3.100.tar.gz ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e
lame-3.100.tar.gz: OK
cd dep && tar xf "lame-3.100.tar.gz"
# Remove nonexistent symbol from symbols list
cd dep && "s/lame_init_old\n//g" lame-3.100/include/libmp3lame.sym
/bin/sh: s/lame_init_old\n//g: No such file or directory
make: *** [Makefile:50: dep/lib/libmp3lame.a] Error 127
It has disappointed me, that i was unable to encode fullscreen 4K video / use ASIO driver when encoding.
It seems to me, that including the NVIDIA nvenc in VCV-Recorder would enable this - atleast on Windows 11 and Linux(- ASIO).
https://developer.nvidia.com/nvidia-video-codec-sdk
thank you
Rack2Pro userId: 17189
I like to design elaborate patches to model single-shot sounds, and then render them to wav as samples, to be played in a sampler. It would be great to automatically trigger a range of notes, and save each of them individually into separate wave files, without having to after the fact figure out which note is which.
I think this feature could work like this:
path
to record to.The rest of the automation can then be taken care of by normal sequencers.
Thoughts? I'd be happy to take a shot at implementing it myself.
If the manually given file name (via the save dialog) has Scandinavian characters, like ä/Ä or ö/Ö, Recorder won't generate new files names with the -001 etc suffixes when starting a new recording when the option to generate the file names with the suffixes is enabled. Instead the previously recorded file is overwritten. The file is actually written on disk with the special characters in the file name included. This seems to be a problem in the code that detects the need for and generates the new automatic file names.
It also happens with German and French etc non-ASCII characters (like Ü/ü and à/è/ì/ò/ù).
I observed this on Windows 7.
Fedora 23 Linux
Rack v1.dev.93bf107
Build fail with latest pull:
$ make
mkdir -p dep
g++ -o plugin.so build/src/plugin.cpp.o build/src/Recorder.cpp.o dep/lib/libavformat.a dep/lib/libavcodec.a dep/lib/libavutil.a dep/lib/libswresample.a dep/lib/libswscale.a dep/lib/libmp3lame.a -shared
/usr/bin/ld: dep/lib/libswscale.a(swscale.o): relocation R_X86_64_PC32 against symbol `ff_M24A' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
../../compile.mk:53: recipe for target 'plugin.so' failed
make: *** [plugin.so] Error 1
Please advise if more information is needed.
Windows 11, msys64
Building in plugin dir of Rack CE 2.git.042a9ce0
$ make -j8
g++ -std=c++11 -Wsuggest-override -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode -c -o build/src/Recorder.cpp.o src/Recorder.cpp
g++ -std=c++11 -Wsuggest-override -Idep/include -fPIC -I../../include -I../../dep/include -MMD -MP -g -O3 -march=nocona -funsafe-math-optimizations -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode -c -o build/src/plugin.cpp.o src/plugin.cpp
src/Recorder.cpp: In member function 'bool Recorder::isValidPath()':
src/Recorder.cpp:928:29: error: 'directory' is not a member of 'rack::string'
928 | std::string dir = string::directory(path);
| ^~~~~~~~~
src/Recorder.cpp: In member function 'void Recorder::setPath(std::string)':
src/Recorder.cpp:954:23: error: 'directory' is not a member of 'rack::string'
954 | directory = string::directory(path);
| ^~~~~~~~~
src/Recorder.cpp:955:22: error: 'filenameBase' is not a member of 'rack::string'
955 | basename = string::filenameBase(string::filename(path));
| ^~~~~~~~~~~~
src/Recorder.cpp:955:43: error: 'filename' is not a member of 'rack::string'
955 | basename = string::filenameBase(string::filename(path));
| ^~~~~~~~
src/Recorder.cpp: In function 'void selectPath(Recorder*)':
src/Recorder.cpp:1041:17: error: 'directory' is not a member of 'rack::string'
1041 | dir = string::directory(module->path);
| ^~~~~~~~~
src/Recorder.cpp:1042:22: error: 'filename' is not a member of 'rack::string'
1042 | filename = string::filename(module->path);
| ^~~~~~~~
src/Recorder.cpp: In member function 'virtual void RecButton::onDragStart(const DragStart&)':
src/Recorder.cpp:1070:46: error: 'paramQuantity' was not declared in this scope; did you mean 'getParamQuantity'?
1070 | Recorder* module = dynamic_cast<Recorder*>(paramQuantity->module);
| ^~~~~~~~~~~~~
| getParamQuantity
make: *** [../../compile.mk:67: build/src/Recorder.cpp.o] Error 1
commit 6dd76d3
I have nasm installed as suggested in #15
cd dep/ffmpeg && ./configure --prefix="/home/Phil/rack-1.0.3/rack/plugins/vcv-recorder/dep" --enable-pic --enable-gpl \
--disable-programs --disable-doc --disable-avdevice --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \
--enable-protocol=file \
--enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le \
--enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be \
--enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame \
--enable-muxer=flac --enable-encoder=flac \
--enable-muxer=ipod --enable-encoder=alac \
--enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2
ERROR: libmp3lame >= 3.98.3 not found
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
make: *** [Makefile:32: dep/lib/libavcodec.a] Error 1
on macosx 10.13
"_lame_init_old", referenced from:
-exported_symbol[s_list] command line option
ld: symbol(s) not found for architecture x86_64```
On Windows 11, MSYS64 MinGW64
Building for VCV Rack Community Edition 2.git.219bbaf1
in plugins subdir.
make dep
...
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: celt/.libs/bands.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
collect2.exe: error: ld returned 1 exit status
make[4]: *** [Makefile:2155: celt/tests/test_unit_dft.exe] Error 1
make[4]: *** Waiting for unfinished jobs....
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: celt/.libs/bands.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: silk/.libs/decode_core.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: silk/.libs/PLC.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: silk/float/.libs/encode_frame_FLP.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: silk/float/.libs/encode_frame_FLP.o:C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: more undefined references to `__memcpy_chk' follow
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: silk/float/.libs/pitch_analysis_core_FLP.o: in function `memset':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:208: undefined reference to `__memset_chk'
collect2.exe: error: ld returned 1 exit status
make[4]: *** [Makefile:2128: libopus.la] Error 1
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: celt/.libs/bands.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
collect2.exe: error: ld returned 1 exit status
make[4]: *** [Makefile:2173: celt/tests/test_unit_mathops.exe] Error 1
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: celt/.libs/bands.o: in function `memcpy':
C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:202: undefined reference to `__memcpy_chk'
collect2.exe: error: ld returned 1 exit status
make[4]: *** [Makefile:2179: celt/tests/test_unit_mdct.exe] Error 1
make[4]: Leaving directory '/home/jpn99/github/Rack2/Rack/plugins/VCV-Recorder/dep/opus-1.3.1'
make[3]: *** [Makefile:2646: install-recursive] Error 1
make[3]: Leaving directory '/home/jpn99/github/Rack2/Rack/plugins/VCV-Recorder/dep/opus-1.3.1'
make[2]: *** [Makefile:3202: install] Error 2
make[2]: Leaving directory '/home/jpn99/github/Rack2/Rack/plugins/VCV-Recorder/dep/opus-1.3.1'
make[1]: *** [Makefile:83: dep/lib/libopus.a] Error 2
I'm building on Linux Mint (Ubuntu based) and I get the following issue with ffmpeg, as if a part of the script did not execute and download the ffmpeg stuff:
/bin/sh: 1: cd: can't cd to dep/ffmpeg Makefile:44: recipe for target 'dep/lib/libavcodec.a' failed
Indeed there is no ffmpeg in VCV-Recorder/dep/
The make command finishes with lame-3.100 and then starts with ffmpeg but no download is attempted and how could the directory be there. See below:
make[1]: Leaving directory '/home/leopard/Apps/Rack/Rackv1/plugins/VCV-Recorder/dep/lame-3.100' mkdir -p dep cd dep/ffmpeg && ./configure --prefix="/home/leopard/Apps/Rack/Rackv1/plugins/VCV-Recorder/dep" --enable-pic --enable-gpl \ --disable-programs --disable-doc --disable-avdevice --disable-swresample --disable-postproc --disable-avfilter --disable-network --disable-iconv --disable-alsa --disable-autodetect --disable-everything \ --enable-protocol=file \ --enable-muxer=wav --enable-encoder=pcm_s16le --enable-encoder=pcm_s24le --enable-muxer=aiff --enable-encoder=pcm_s16be --enable-encoder=pcm_s24be --enable-libmp3lame --enable-muxer=mp3 --enable-encoder=libmp3lame --enable-muxer=flac --enable-encoder=flac --enable-muxer=ipod --enable-encoder=alac --enable-muxer=mpeg1system --enable-encoder=mpeg2video --enable-encoder=mp2 Makefile:44: recipe for target 'dep/lib/libavcodec.a' failed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.