-
Notifications
You must be signed in to change notification settings - Fork 4
/
TODO.global.txt
executable file
·598 lines (438 loc) · 21.8 KB
/
TODO.global.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
- set well the FPS for global build (25 fps for windows7 + low windows configs)
Maybe 25 fps for old Macs. 60fps for Windows 10 + high windows configs. 60 fps for Catalina.
=> or set fps dynamically (in the GUI, or in a config file)
- Metal for new Macs, OpenGL for old Macs
- BUG: (Mac Sierra, Nanovg, GL2), import 2 plugins with OpenGL view and GUI resize, resize one => the two plugins get big display bugs
- OPTIM: check very well 60fps and perfs for each plugin (e.g Wav3s now consumes too much)
- TODO; in ProcessBlock(), every plugin, check that protools bug is fixed (out data must be set to null)
BUG: when quitting a Cario plug, into the XCode debugger, it crashes
- REFACT: bien classer les variables memebres (parametres, fft objs etc…), pour tous les plugins
- TODO: disable auto CPU anti-denormalization !
(and check denormalization by hand)
- TODO: the plugin needs to even process the sound when UI is closed (make test with reaper, [UI] button). e.g Rebalance
- TODO: Cairo, fix correctly the crash when quitting
(now, there is currently a memory leak)
- when gray out knob, think to gray out value text also
- apply the new mutexes and flags from Ghost to all other plugins
Compile for Windows Xp:
Visual Studio 2013 on Windows 7 => is ok!
Platform Toolset: Visual Studio 2013 - Windows Xp (v120p)
=> need Xp SP3 + 3D graphics driver for execution (and suppress GetTickCount64())
- Why is it so long to display a plug the first time (we have black windows for some time before the GUI is displayed (that was not the case with iPlug1)
TODO: test very optimized nanovg: https://github.com/zlgopen/awtk/tree/master/3rd/nanovg
PERFORMANCES/FPS: really consider passing everything to 25fps! (
we can gain x2 performances - See Ghost -)
Undefined behavior sanitizer on old XCode:
add -fsanitize=undefined on cflags an linker flags
“other linker flags” + “apple llvm 8 custom compiler flags”
Website: Emrah => add a category menu (for the moment this is not practical)
Website: click -> do not open in new windows (except if linking to another website)
TODO: add the mechanism for NotifyGraph() from curves & axes to all other objects
(custom drawer…)
Website: don’t forget on website to create an image with a spaceship an Earth planet, with (animated) BL plugins around.
Heads for spatializer: find 3d model of female dummy head, and render it!
- TODO: Indent bluelab-lib correcly with emacs (BL-Plugins already done)
TODO: if the bug Cubase/Ableton 10 + Windows 10 + Intel + OpenGL is not solved, try Direct X for nanovg
BUG (maybe): the first time we click on a text value, this is buggy, we need to click a second time
TODO: un-denormalize input of each plugin, just at the beginning
NOTE: Windows / Reboot
- reboot shortcut: Win + x, u, u
- if windows does not boot: go to linux and do:
ntfsfix (on ntfs) partition and dosfsck (on dos partition)
- windows safe mode: hard reboot several times => then choose “startup option”,
reboot again, press “4” for safe mode boot
(mT = 0.457364351, mText = "-60dB")
164.651169
- TODO: make a plugin like PEEL: kind of Panogram with frequency separation
selection, to isolate or to mute
https://www.youtube.com/watch?v=bIh7HGKgO24
For memory tracking of all plugins on Linux, use HeapTrack!
emacs tags:
M-x visit-tags-table
M-. to go to defintion
(magit-log-current)
valgrind --vgdb=yes --vgdb-error=0 ~/Documents/Apps/reaper_linux_x86_64/REAPER/reaper
gdb -i=mi ~/Documents/Apps/reaper_linux_x86_64/REAPER/reaper
*gdb* target remote | vgdb
valgrind for detecting Threads data race:
valgrind --tool=helgrind --track-lockorders=no --history-level=none --check-stack-refs=no --ignore-thread-creation=yes ~/Documents/Apps/reaper_linux_x86_64/REAPER/reaper
-j2
export CMAKE_BUILD_PARALLEL_LEVEL=2
make vst2 BUILD_CONFIG=Release
emsacs:
M-x customize-group auto-complete
TODO(later): use "param groups" (Mickael)
-> useful for automation, or for DAW guis ("UI")
xcb github:
https://github.com/xkbcommon/libxkbcommon/blob/master/xkbcommon/xkbcommon.h
----------
- TODO: for many plugs, replace OnIdle() by OnGUIIdle() (for vst3 with OnIdle() disabled (???)
- TODO: MUTEX => MUTEX; (macro)
- TODO: detect "Cmd" on Linux?
- PROBLEM(little): when launchin app, there is a quick white blinking just before the app displays
(TODO => set default color to black, not white)
- TODO: think of compiling Linux LV2 format too
- TODO: check denormal class in WDL
- TODO: iPlug/Extra/Smoothers => for param smoother !!!
(not sure it will work like this, maybe need some modification)
- BUG: Cairo, crash when quitting
NOTE: there are memory leaks on Linux:
by 0x42F15F8D: xcbt_connect_init (xcbt.c:478)
==101199== by 0x42F1635C: xcbt_connect (xcbt.c:536)
==101199== by 0x42ED7C17: iplug::igraphics::IGraphicsLinux::OpenWindow(void*) (IGraphicsLinux.cpp:459)
-------
ln -s ../../BL-Plugins/BL-Chroma
------
- TODO: put watermark (+ trial) in bold fond (here, it is not currently readable)
emacs -nw (inside term)
emas mode gprof: https://sourceware.org/legacy-ml/binutils/2002-08/msg00099.html
gprof: use perf (perf_events) instead ?
http://www.brendangregg.com/perf.html
https://kifarunix.com/installing-perf-performance-analysis-tool-on-ubuntu-18-04/
https://perf.wiki.kernel.org/index.php/Main_Page
---
- BUG: for all plugs: Linux: when hitting "space" in Reaper, the playback doesn't start (whereas it starts with other plugins). We need to change the focus to another window to play using "space" (already tried, looks hard to fix)
- NOTE: for file open feature on Linux, this is a gnome program that is used
(what about kde?)
- NOTE: SWELL uses gdk for app menus => need to test on linux with kde!
- TODO: dragn drop file on linux (xkbd xdnd protocol)
- SITE: bundle: check the checkbox "is bundle", and add all the plugins
=> so in user account, there also will be all plugins separately
BL-SampleFinder:
The plugin for finding sound in a point cloud is: XLN Audio XO
Another (better): Atlas -> https://www.algonaut.tech/
Explanation: https://www.youtube.com/watch?v=9x-_My5yjQY
https://experiments.withgoogle.com/drum-machine
Code: https://github.com/googlecreativelab/aiexperiments-drum-machine
https://github.com/kylemcdonald/AudioNotebooks (t-SNE) (tsne is only in bin form here)
t-SNE: https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding
Another paper: "Nonlinear Dimensionality Reduction Approaches applied to Music and Textural Sounds" - Stephane Dupont
Sound fingerprint: https://emysound.com/blog/open-source/2020/06/12/how-audio-fingerprinting-works.html
IDEA: hdf5 -> does hdf5 of 2 close data are also close?
-> try to find hash function that keeps the "closeness"
Try to classify the sounds with some fiew criteria
(maybe see: "Traite des objets musicaux" for criteria)
- TODO: zoom on cloud with mouse wheel or zoom gesture
- TODO: drag'n drop from the app, to anywhere in the filesystem, (to copy), or to a DAW track, to import. (transform the drag in file drag for each system).
- Check in Fouloscopie youtube channel, video about twitter networks relations (to display elements by proximity, try to find a github)
----
emacs multi-occur-in-matching-buffers "then type '.' for all buffers"
#### valgrind with gdb:
valgrind --tool=memcheck --vgdb=yes --vgdb-error=0 reaper
gdb reaper
(gdb) target remote | /usr/bin/vgdb --pid=389515
(gdb) continue
#####################
TODO: in InfrasonicViewer, the last line is very bright
=> check if we have the same "problem" with other spectrogram plugins
Design:
"new needa / needle" font (see video)
"eye flow" / "what is the order of what the eye see"
"elements attractive for eye"
contrast: everything must be easily readable
spacing: consistent spacing
rectangles: more or less round corners
---
- visual hieracrchy
- white space
- color & contrast
- alignment
- typography
- scale
search "ui design gallery" for seeing examples
(https://screenlane.com/)
---
- maybe use dark grey instead of black for background! (grey "6 6 6" or "9 9 9")
(izotope uses a dark grey, but with more blue ("4/5 6 7")
captain blood uses real black
- use a band at the bottom on the whole width (include logo, plug name, version, logo)
Website: for categories "menu", add a submenu to "PLUGINS" on the bar, and add the most used category pages as submenu entries (should be feasible as it is!)
Triadic color calculator:
https://www.sessions.edu/color-calculator/
https://material.io/resources/color/#!/?view.left=1&view.right=1&primary.color=5252ff
https://learnui.design/tools/data-color-picker.html#single
#5252ff
Google font browser: https://fonts.google.com/?preview.text_type=custom&category=Serif&preview.text=a
- TODO(design): use the green/yellow from the logo, to apply to the "green" curve in the graph.
WIP: the bright white color is too bright?
(compare with other plugins...) maybe set it just a bit darker (except for the plugin title)
to test it: push the screen at the maximum => it should not be too bright
---links design
https://www.sessions.edu/color-calculator/
https://learnui.design/tools/data-color-picker.html#single
https://material.io/resources/color/#!/?view.left=1&view.right=1&primary.color=5252ff
https://www.plugin-alliance.com/en/products/bx_stereomaker.html
https://valhalladsp.com/shop/reverb/valhalla-vintage-verb/
https://valhalladsp.com/shop/reverb/valhalla-supermassive/
https://www.izotope.com/en/products/rx/features/voice-de-noise.html
https://www.free-vst-plugins.com/harmonicboost-free-harmonic-enhancer-plugin/?fbclid=IwAR2cTeTlSwCdvk9yU55eaAEg5uNWM3s7HKNnOZgWxIfOSbDuC3swSGL4EUI
---
Then try another Design (see paper): black/blue/white, high contrast
------------------
--perf--
Modify system config files:
set number in /proc/sys/kernel/perf_event_paranoid from 4 to -1
set number in /proc/sys/kernel/kptr_restrict from 1 to 0
perf record
Hotspot:
perf record --call-graph dwarf <app>
then: hotspot
Launch for 10 seconds, at 99Hz
perf record -F 99 --call-graph dwarf -p $(pgrep BL-Air) sleep 10
perf record -g
perf stat -p $(pgrep BL-Air)
-> cycles
Compile with -g -fno-omit-frame-pointer
Steps:
1 -
perf stat -e cpu-cycles,instructions,L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores <command>
=> outputs result
=> optimize, re do perf stat, compare
perf report: press 'a' to see anotated code
2 -
perf record -g -e L1-dcache-load-misses ../plugs-dev/bluelab/BL-Plugins/BL-Air/build-linux/BL-Air-app/BL-Air
perf record -g -e instructions ../plugs-dev/bluelab/BL-Plugins/BL-Air/build-linux/BL-Air-app/BL-Air
perf record -g -e instructions ~/Documents/Apps/reaper_linux_x86_64/REAPER/reaper
3 -
perf report -g -i perf.data
See: https://indico.cern.ch/event/814979/contributions/3401196/attachments/1831466/3109819/PerformanceTools.pdf
------------------
For all plugins (=> new Design):
- TODO: remame knob.png => big-knob.png in bl_config.h and CMakeList.txt
- TODO: arguments to frequency scale
- TODO: CreateVersion(), now we have suppressed the position argument
- NOTE: must export knobs with odd number of frames (so the middle frames is exactly the zero position of the knob)
- Don't forget to remove the version from the background
- use new SoftMasking comp
- DONE: add fonts to bl_config, CMakeList.txt, and to resources folder, and load them in main()
- TODO: for all plugs: INF => BL_INF
- TODO: check memory of all plugins, but when manipulating all knobs/options
------------------
------------------
- TODO(?): set FastMath(fast) for all the plugins that doesn't output sound
- LOG_FACTOR -> LOG + GrahpAxis2
- TODO(all): everywhere use Curve::SetValues5() instead of SetValues4() everywhere
- TODO(all): everywhere, Scale::ApplyScale -> check if we can use the ForEach versions
- TODO(all): everywhere: use SoftMaskComp4 (warning, input and outputs have changed)
- TODO(all): use FilterBank instead of MelScale (no stairs effect)
- TODO(all): check that we use the latest TimeAxis and FreqAxis
SmoothCurveDb => additional arg: sampleRate
- TODO(all): set output data to zero at the beginning, for all plugins
- TODO(all): should use BLUtils::Fades with sigmoid (see Ghost) => far better!
- TODO(all): do not use DecimateSamples2() => use DecimateSamples() or DecimateSamples3(). (we use it at least in Graphcurve5)
- TODO: check log scale (with many lines, w/ gamma = 1)
- TODO(all): check all plugins that they use Scale with FilterBank
(e.g a freq curve, we can apply filter bank on x axis, to avoid calling log())
(and we won't have to decimate curve, this is automatic)
(maybe it will be necessary to add a Scale/FilterBank mode, for log "factor")
- TODO(all): set bevel for all curves
- TODO for all plugs at the end: pass thread sanitizer & undefined behavior sanitizer & address sanitizer
- TODO: for BLSpectrogram4, use the "closest" phase unwrapping (used in Ghost inpaint)
for PartialTracker5 too
- TODO: for all plugins, check that the display is not redisplayed every time (with debug blinking rectangles). check that is only displayed whn there is new data.
TODO(all): pass all the plugins at 30fps? (or even 60?)
------- Design:
GUI kits
https://uimother.com/collections/gui-kits
(Blackway FX)
And see also: https://dribbble.com/tags/vst_plugin_gui_design
===> Design / BLENDER
(so we can render with knob height for website)
https://forum.hise.audio/topic/2463/quick-demonstration-of-knob-making-in-blender
https://www.youtube.com/watch?v=IprKsHje6aI
https://github.com/tfwio/blender-knob
https://docs.blender.org/manual/en/latest/modeling/meshes/primitives.html?highlight=cube
Video brushed metal: https://www.youtube.com/watch?v=8D4exODUKmk
Blender scale ued: 2 pixels = 10mm
To have anisotropic (for cirle brushed metal) => choose render engine Cylce (instead of Eevee), and render without world hdr
TODO: take car of needle + boolean substract resultion at render
======
TODO: Blender, brushed metal (black/background)
IDEA: avoid anyzotropic, too much "Jacky" (and also bruhed metal?) (use metal with small grains instead?)
- NOTE: camera ortho scale is not set exactly
IDEA render: (hdri, white, no texture): https://www.aifosdesign.se/tutorial-how-to-rotate-an-hdri-environment-texture-in-blender/
NOTE: Cicfy: monophonic pitch detection without latency, very efficient:
https://www.cycfi.com/2020/07/fast-and-efficient-pitch-detection-revisited/
===
IDEA Design: For monitor, don't use a checkbox, but a button to toggle on and off
NOTE: knob design for Inkscape: https://synthpanels.design/
Inscape tips:
"Pattern along path":
- before, raise patter objet to top! (to set correct selection order)
(pattern must be on the top of the selection)
- convert both objects to path
- choose "repeated"
NOTE: inkscape "Patter to path" for knob: parameters: 5.2, 0, 19.1
TODO Design:
- Info bulles!
- rollover on checkboxes?
- StereoWidth: more space circle/width meter/correlation meter ?
- Footer -> header?
- Graph: font more fat?
WIP: continue fixing/ updating plugins
TODO: FftProcessObj16, avoid .Get() and .GetSize() everywhere
xcb: https://github.com/enn/xcb-examples
apt-file (find file in non-installed rpackages)
https://askubuntu.com/questions/481/how-do-i-find-the-package-that-provides-a-file
xdnd(LGPL): https://github.com/gnustep/libs-back/blob/master/Source/x11/xdnd.c
http://www.smegware.com/engineering/software/library/library_xdnd.php
Mickael: phase calculator plug
https://github.com/tne-lab/phase-calculator/tree/e7569499c49ba7dff7db2a7d93a1b898a1551a6d?fbclid=IwAR3LUaqiRAG1pgwhrFdunWSj3lblekrC6BIKmjGRS2QW7Qy8NSGuLJH8fY4
LPC (linear predictive coding):
http://support.ircam.fr/docs/AudioSculpt/3.0/co/LPC.html
BUG: click and turn knob: the mouse pointer is captured
-> but sometimes it is not released quickly! (on plugins that consumes lot of resources, like Rebalance)
Design: gradient, use gradient in the corner? like https://canonical.com/
(instead of from up to down)
TODO: user manuals: jutify text! (and see other Libre Office tutorials)
https://www.youtube.com/playlist?list=PLGYKyocXgHJKAqY-FJL082aYY6mWXTxen
=========
GUI:
re-work the design
=> see Spatializer, XYpad, grey contour, dark blue fill, pure black background
-> This gives a more serious visual feeling (more "precious")
=> looks better than the background gradient + blue knobs!!
Name for the cross synthetizer: X-Gen
(Generation X / Cross generator)
=========
NOTE: there was the idea of menus instead of checkboxes
=> but in fact, this would require 2 clicks instead of 1 for the same action
=> let's keep it like this! :)
SVGKnobs: must center them in the page
==== Linux vsynch ===
https://wiki.archlinux.org/title/Xfwm
https://forum.xfce.org/viewtopic.php?id=13233
Query:
xfconf-query -c xfwm4 -p /general/vblank_mode
Set: edit the file:
/home/niko/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
=== Compil windows
cop:
- replace the new postbuild-win.bat script from BL-Chroma
- copy bl-show-resources-win.py to plugin (or make it global?)
mkd:
- apply modifs to makedist-win.bat from Chroma (don't overwrite!!)
ver:
- increment plug version number
res:
- call bl-show-resources-win.py, and update resources in main.rc
(special case for the long path manual, need to modif config.h too)
- cfg(config):
global: EXTRA_ALL_DEFS => _HAS_STD_BYTE=0
<INI_PARSER_INC_PATH>$(IPLUG2_ROOT)\..\Libs\ini_parser</INI_PARSER_INC_PATH>
<FASTAPPROX_INC_PATH>$(IPLUG2_ROOT)\..\Libs\fastapprox\src</FASTAPPROX_INC_PATH>
and later $(INI_PARSER_INC_PATH);
define IGRAPHICS_DISABLE_VSYNC in config file
bll, blf:
- include all files from bluelab-lib
- add bl_uptime to IGraphics project in VC
- add denormal to darknet
- add resample_layer to darknet
- add convoengine to WDL
- add smbPitchShift folder and files
- add config.h and bl_config.h to project
- update filters with all that
- add new filter for smbPitchShift
filters: bl_uptime, darknet/denormal, darknet/reample_layer, WDL/convoengine,
smbpitchshift, main/config.h main/bl_config.h
new filter for smbPitchShift
===
Info: Debug -> "enable windows debug heap allocator"
Application Verifier: works great!
Visual Studio must be run as administator for postbuid-win.bat to work
Later: aax sign
TODO: on windows, test user accout with accents, and see if we can still launche the manual
Use windows PowerShell to launch long batch processing (e.g make-dist.bat)
Load in Reaper: some plugin scan crash in vst3 format when scanned by Reaper
Spatializer crashes when loaded in Reaper (e.g Shaper.vst3, PitchShift.vst3, Infra.vst3, Denoiser.vst3, Air.vst3)
Spatializer / resoures hrtf not found
vst2: no gui...
TODO: don't forget to test with no GUI, only the UI from the host
TODO: activate OpenBlas for Rebalance Windows
TODO: win: test Reaper resize gui (works with Spatializer, but not with Chroma)
FIXED:
- "config.h"
- vst3 scan crash
- Rebalance
- Spatializer
- win32 gui freeze fix
- Ghost app
Recompiled all: ok
Reaper rescan all plugins: ok, no crash
==== Rebalance / OpenBLAS: ====
What is finally done:
for Win64: compile with clang/Ninja, generic (not generic old)
for Win32: unsolvable linking problem => do not use OpenBLAS
Details:
tried this method with clang
https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio
install lld in conda
set LIB=%LIB%;"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64"
.\vcvarsall.bat x86_amd64 10.0.18362.0
finally, other method:
launch visual studio command prompt (x86_x64)
run conda activate (it is here: C:\Users\BillGatesMaTuer\miniconda3\condabin)
C:\Users\BillGatesMaTuer\miniconda3\condabin\conda.bat activate
then run cmake
cmake ..\..\OpenBLAS -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang -DCMAKE_MT=mt -DBUILD_WITHOUT_LAPACK=no -DNOFORTRAN=0 -DDYNAMIC_ARCH=ON -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
=> success!
cmake ..\..\OpenBLAS -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang -DCMAKE_MT=mt -DBUILD_WITHOUT_LAPACK=no -DNOFORTRAN=0 -DDYNAMIC_ARCH=ON -DDYNAMIC_OLDER=ON -DCMAKE_BUILD_TYPE=Release
modified by hand \CMakeFiles\rules.ninja and added /MT to all cl-clang.exe calls
also modified build.ninja for many /MD -> /MT
For Win32: use cmake gui, and simply configure/generate, and build with Visual Studio. It will use the generic config (not optimal).
But for win32, it does not work with ninja and clang
=> it fails when liking with Rebalance (some symbols not found)
========
- FIXED(need recompilation):
- on windows, there were 2 tooltips
WIP: rebuild Rebalance and Ghost
TODO: test Rebalance and Ghost (Win7, WIN10 /USB)
=> send betas
TODO: test a little the newly compiled plugins
TODO: re-test Rebalance on Win10 USB
WinDbg good tutorial:
https://www.codeproject.com/Articles/6084/Windows-Debuggers-Part-1-A-WinDbg-Tutorial#_Toc64133663
====
Know the manimum memory peak on linux:
/usr/bin/time -v ~/Documents/Apps/reaper_linux_x86_64/REAPER/reaper
(then c-c and read "Maximum resident set size")
====
TESTS
====
Ghost-X v6.3.1
Ghost-X App (win32 and x64)
Ghost-X VST2 (x64)
Ghost-X VST3 (x64)
Rebalance v6.4.1
Rebalance VST2 (x64)
Rebalance VST3 (x64)
Tested on:
Mac 2 - Windows 10 (external HDD): => all success
Mac 1 - Windows 7 (usb key): => all success
Mac 1 - Windows 10 (usb key 64):
- Ghost OK
- Rebalance crashes Reaper when inserting the plugin
====
Keep an eye on https://vi-control.net (Musicians Helping Musicians) - forum
====
Debug Bitwig Linux:
====
Modif for enabling gdb attach to process:
/proc/sys/kernel/yama/ptrace_scope : 1 => 0
gdb -i=mi /opt/bitwig-studio/bin/BitwigStudioEngine -p 573523
====
generator of test signals: https://www.wavtones.com/functiongenerator.php
Cubase download:
https://o.steinberg.net/en/support/downloads.html
Uninstall Protools
https://avid.secure.force.com/pkb/articles/en_US/faq/Uninstalling-Pro-Tools-12-or-newer-on-Windows-10
Visual 2019 - Debug in Release mode
https://docs.microsoft.com/fr-fr/cpp/build/how-to-debug-a-release-build?view=msvc-160
== Lipo ==
Show architectures:
lipo -info libFLAC.a
Extract:
lipo libFLAC.a -thin x86_64 -output libFLAC-x86_64.a
== hardened runtime ==
https://wiki.freepascal.org/Hardened_runtime_for_macOS