Skip to content

Releases: tim-janik/anklang

Anklang 0.3.0

30 Jun 02:31
Compare
Choose a tag to compare

Anklang 0.3.0

Full Changelog: v0.2.0...v0.3.0

Hardware and System Requirements

  • Linux - the Anklang deb and AppImage are based on Ubuntu 20.04.
  • Packaged sound engine binaries support SSE-only or AVX+FMA optimizations.

Documentation

Fixed Bugs

  • Choices are not rendered properly in device view #59
  • Focus, shadow DOM, submenus, buttons and input elements #55
  • Unify and fixate srcdir and builddir #54
  • UI websocket death on invalid UTF-8 #49
  • Insertion order doesn't work, every device is inserted at end #46
  • Inserting Reverb after BlepSynth has no effect #24

Closed Issues

  • Build breaks: cp: ./ls-tree.lst: No such file or directory #18
  • Freeverb Default Settings #23
  • LV2: currently we need a X11 display since the Gtk Thread is unconditionally started #35
  • LV2: unique device name generation duplicated with CLAP #34
  • loop player #39
  • Negative frame offsets in MidiEvent #26
  • Shebangs in *.sh files are wrong #17

Merged Pull Requests

Synthesis Devices

  • Fixed race condition in LiquidSFZ device loader thread. swesterfeld
  • Improved Freeverb device with sample accurate parameter changes, mix optimization, and smoothing for automation. swesterfeld
  • Added support for String properties in AudioProcessor.
  • Fixed midi event frame offsets to be unsigned integers, resolving issue #26. [swesterfeld
  • Integrated swesterfeld/liquidsfz submodule for SFZ support in ASE. swesterfeld
  • Moved blepsynth design/test tools to the dsp-research repository. swesterfeld
  • Improved sample accuracy in Blepsynth synth device, fixed bugs. swesterfeld
  • Added Saturation device with parameter smoothing and performance optimizations. swesterfeld
  • Introduced flexible ADSR model for volume envelope in Blepsynth device. swesterfeld
  • Added Sallen-Key Filter to Blepsynth device, improved LadderVCF filter. swesterfeld

ASE

  • New CLI options -M and -P to override audio and midi drivers.
  • Added debug/info/error logging to a log file.
  • Support gzip file compression for http transfers, pre-compressed all source maps.
  • Added Member<> template to expose C++ member field as API to JavaScript.
  • Default tempo set to 120 BPM, playback starts with transport tempo.
  • Fixed loading from non-anklang directories.

User Interface

  • Introduced a project state grep dialog accessible via Alt+F12.
  • Consolidated UI components in various places and removed redundant code.
  • Replacing error confirmation dialogs with notice popups.
  • Simplified and converted most UI components to LitElement components.
  • Updated UI components to use a new tree browser component.
  • Added support for file selection in device UIs.
  • Introduced JavaScript Signal polyfill to simplify for dependency tracking.
  • Fixed JavaScript focus handling, error formatting, and type checking.
  • Added Tailwind CSS for styling, removed normalize.scss.
  • Fixed piano roll drawing order, shifted cursor movement, and other UI fixes. swesterfeld
  • Improved UTF-8 support for legacy filenames, including mapping to private use area.
  • Fixed mouse wheel handling in modern Chrome and Firefox browsers.
  • Switched file browser to use <grid/> component for faster rendering.

Testing

  • CI, docker, Dockerfile fixups and improvements.
  • Introduced a new test for track renaming in the X11 UI test suite.
  • Enhanced the x11test-v to run silently by default, with optional verbose output.
  • Added support for replay of multiple JSON files in X11 tests, upgraded electron and puppeteer dependencies.
  • Parallelized automated test suite runs.

Anklang 0.2.0.nightly2405211359

21 May 14:12
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2405211359

Development version - may contain bugs or compatibility issues.

Merge branch 'build-fixes'    # 2024-05-21 Tim Janik 998d0890
    * Branch commit log:
      ase/logging.cc: add missing unistd.h include
      package.json: add missing "globals" package (for eslint)
      ase/*.cc: fix missing <algorithm> include
      ase/*.hh: fix missing <algorithm> include
      misc/cirun: use $CITAG, instead of hard coding dist

Merge branch 'log2file'    # 2024-05-20 Tim Janik f4a6e2d7
    * Branch commit log:
      package.json: add --log2file to synth engine
      electron/main.js: add --log2file to synth engine
      ase/utils.hh: include ase/logging.hh
      ase/main: add --log2file and log info of interest
      ase/engine.cc: log missing PCM driver as error
      ase/driver.cc: log driver opening as info
      ase/logging: add log_setup(), loginf() and logerr()
      ase/logging: add source files for logging

Merge branch 'override-drivers'    # 2024-05-20 Tim Janik 80ed0d56
    * Branch commit log:
      ui/Makefile.mk: add --norc when running --js-api
      doc/Makefile.mk: add --norc when running --class-tree
      ase/server.cc: ase_{error_blurb|error_from_errno}: always map errno to strerror
      ase/driver-alsa.cc: always pass ALSA errno back to the caller
      ase/cxxaux.cc: ignore ptrace_scope when constructing debugger cmd
      misc/GNUmakefile: allow subdir builds
      ase/Makefile.mk: utilize GNU Parallel for test execution
    	Use GNU Parallel if available, otherwise xargs.
    	Avoid parallel.moreutils which is incompatible and tends to drop jobs.
      ase/engine.cc: let main_config.pcm_override, .midi_override override drivers
      ase/main.cc: add -P and -M
      ase/main.hh: add pcm_override, midi_override to MainConfig
      ase/main.cc: implement --list-tests

Merge branch 'uselocale'    # 2024-05-20 Tim Janik 72514ffd
    * Branch commit log:
      ase/strings: provide POSIX-locale strerror()
      ase/main.cc: apply user locale

Merge branch 'npm-updates'    # 2024-05-20 Tim Janik 0a4b1af8
    * Branch commit log:
      ui/b/tracklist.js: work around postcss-advanced-variables bugs
      ui/startup.js: minor
      package.json, ui/postcss.config.mjs: remove unused postcss-normalize-charset
    	With postcss-import, we stopped adding charset to generated imports.
      ase/main.cc: document --norc
      ui/Makefile.mk: fix missing dep on ui/postcss.config.mjs
      ui/Makefile.mk: make .js files an index.html dependency
      ui/jsextract.js: leave @charset "UTF-8" to the postcss build step
      ui/postcss.config.mjs: add postcss, tailwind and css-function configs
      ui/postcss.js: remove unused in-browser impl of postcss
      ui/Makefile.mk: properly extract css`` into build files, adjust linting
    	Keep *.js files with extracted css`` snippets around for parallel linintg.
      package.json: shorten rebuild times
      ui/Makefile.mk: generate import for dark.scss
      ui/global.scss: import theme.scss here
      ui/mixins.scss: remove all color definitions
      ui/theme.scss: remove all color definitions
      ui/dark.scss: include theme color definitions
      ui/theme.scss: move scss variable
      ui/b/noteboard.vue: use Dom.markdown_to_html()
      ui/b/databubble.js: use Dom.markdown_to_html() and move scss var
      ui/jsextract.js: keep the same file extension for extracted files
      ui/Makefile.mk: merge vue styles, lit styles, stylelint and postcss processing
      ui/Makefile.mk: use ui/eslintrc.js for linting
      ui/b/statusbar.js: use Dom.markdown_to_html()
      ui/stylelintrc.cjs: remove unused setting
      ui/b/clipview.js: avoid nested scss variable definitions
      ui/sfc-compile.js: avoid useless dep on sass
      ui/startup.js: remove browserified.js helper
      ui/util.js: fix color parsing
      ui/util.js: remove markdown_to_html()
      ui/dom.js: add Dom.markdown_to_html()
      package.json: add @rollup/plugin-terser, remove browserify
      ui/Makefile.mk: build markdown-it for the web via rollup
    	Get rid of building with browserify which results in a
    	much larger artifact.
      package.json: add eslint helpers
      ui/index.html: remove vue-styles.css
      ui/postcss.js: add tailwind @apply test
      Makefile.mk: properly clean compile_commands.json
      .gitignore: ignore /.dir-locals.el
      package.json: upgrade allmost all packages
      ui/util.js: remove unused compat code for FF-68
      ui/util.js: use LSP friendly comments

Merge branch 'sfz-filedialog'    # 2024-05-07 Tim Janik 1ca390ce
    * Branch commit log:
      ui/b/textinput.js: support file picking for props with extensions
      ase/api.hh: Property: add name, value, metadata members
    	* Rename Property.get_metadata(), adjust uses
    	* Adjust metadata uses and value notifications
      ui/b/crawlerdialog.js: minor fixups
      ui/util.js: extend_property(): prefetch prop.{name|value|metadata}
      devices/liquidsfz/liquidsfz.cc: add sfz as file extension to .instrument

Merge branch 'crawlerdialog'    # 2024-05-06 Tim Janik 859b88ed
    * Branch commit log:
      ui/b/menubar.js: pass `existing=false` on save-as, default to ~MUSIC
      ui/b/shell.vue: pass `existing` to b-crawlerdialog, default to ~MUSIC
      ui/b/crawlerdialog.js: add docs to BCrawlerDialog class
      ui/b/crawlerdialog.js: add dialog to pick files via resource crawler
    	* Rewrite and merge folderview and filedialog
    	* Fix grid and entry alignment
    	* Split direntry and pathentry
    	* Handle selection of new files, `existing=false`
      ase/strings: add string_islower(), string_isupper()
      ui/b/filedialog.vue: remove obsolete file
      ui/b/folderview.vue: remove obsolete file
      ui/b/menubar.js: fix load/save dialog titles
      ui/b/preferencesdialog.vue: show all preference settings
      ui/little.js: add LitComponent.mkstate() helper for Signal.State
      ui/tailwind.scss: add spacing to dialog buttons
      ui/types.d.ts: supress TS warnings about missing _()
      ui/util.js: inside_display_none(): avoid expensive getComputedStyle
      ui/kbd.js: support left<->right for data-subfocus="*"
      ui/kbd.js: add keydown_move_focus_{up|down}
      ui/kbd.js: add flag to make debugging easier
      ui/kbd.js: support up/down/left/right focus with data-subfocus="+"
      ase/api.hh, ase/crawler: in ResourceCrawler.assign() split dirname and basename
      ase/crawler.hh: fix args
      ase/crawler.cc: remove debugging printerr
      ase/crawler.cc: ensure dir URLs end in /
      ase/api.hh, ase/crawler: rename ResourceCrawler.entries
      ase/api.hh: ResourceCrawler: add .folder, .files member properties
      ase/gadget.cc: fix emplace() post condition

Merge branch 'member-template'    # 2024-04-27 Tim Janik ef130823
    * Branch commit log:
      ui/b/textinput.js: adjust to this.request_update() rename
      ui/b/propinput.js: adjust to this.request_update() rename
      ui/b/pianoroll.js: simplify to just use this.clip.all_notes
      ui/b/piano-ctrl.js: simplify to just use piano_roll.clip.all_notes
      ui/b/pianoroll.js: listen to wheel events with passive:false
      ui/b/knob.js: listen to wheel events with passive:false
      ui/b/clipview.js: simplify to just use this.clip properties
      ui/b/trackview.js: simplify to just use this.track properties
      ui/b/app.js: provide App.project and auto update App.project.name
      ui/b/positionview.js: use App.project with .bpm, .numerator, .denominator
      ase/api.hh: Project: add bpm, numerator, denominator properties
      ui/Makefile.mk: alter stamp to rebuild ui/index.html after errors
      ui/Makefile.mk: include jsonipc/jsonipc.js in linting
      ui/b/contextmenu.js: force integrate_children() within render_contextmenu()
      ui/b/trackview.js: fix early this.mcc() invocation
      ui/wrapper.js: avoid arbitrarily calling freeze_deep() on unknown objects
      ui/little.js: use tracking_wrappe() for .render() and .updated()
      ui/index.html: provide module map for ./signal.js and auto-load it
      ui/signal.js: export Signal, State, Computed, Watcher, tracking_wrapper
    	Introduce JavaScript Signal and provide tracking_wrapper() to utilize
    	dependency tracking for synchronous functions.
      ui/Makefile.mk: add signal-polyfill.js module to site build files
      ase/properties.hh: include api.hh
      ase/api.hh: add include for Member<>
      package.json: add signal-polyfill
      ase/clip: add all_notes, end_tick member properties
      ase/main.cc: let --fatal-warnings set assertion_failed_fatal=true
      ase/api.hh: expose Emittable.emit_notify()
      .gitignore: ignore package-lock.json
      jsonipc/jsonipc.js: maintain $props.promise and allow GC of objects with props
      jsonipc/jsonipc.hh: generate C++ properties as reactive JS properties
    	This gets rid of getter() and setter() on the JavaScript side and instead
    	provides an object property that supports assignment and readout.
      jsonipc/jsonipc.hh: determine JavaScript initializer from C++ property type
      jsonipc/jsonipc.js: add reactive property fetching, support finalizer cleanup callbacks
      jsonipc/jsonipc.hh: use C++17 to check for Has_setget<>
      jsonipc/jsonipc.hh: support Member<> fields with set() + get() accessors
    	This uses C++20 concepts to detect the Member<> field.
      jsonipc/jsonipc.hh: avoid implicit `await` that delays setters, pass all args
      jsonipc/jsonipc.hh: fix missing `const`
      ase/project: create Member bpm, numerator, denominator, skip musical_tuning
    	Leave (re-)implementation of musical_tuning (with its enum list) for later
    	when we actually use it.
      ase/properties.hh: remove unused struct Prop
      ase/properties, ase/gadget: remove unused PropertyBag
      ase/{parameter.hh,properties.hh}: move ParameterProperty...
Read more

Anklang 0.2.0.nightly2402140218

14 Feb 02:26
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2402140218

Development version - may contain bugs or compatibility issues.

Merge branch 'pr43/swesterfeld-midi-events-uint-offset' - closes #26    # 2024-02-14 Tim Janik 714ea0c
    * pr43/swesterfeld-midi-events-uint-offset:
      devices/liquidsfz/liquidsfz.cc: avoid using printf (use printerr instead)
      ASE: midievent.hh: fix clang tidy problem (add typename)
      devices/saturation/saturation.cc: midi event frame offsets are now unsigned
      devices/liquidsfz/liquidsfz.cc: midi event frame offsets are now unsigned
      devices/blepsynth/blepsynth.cc: midi event frame offsets are now unsigned
      ASE: midilib.cc: midi event frame offsets are now always positive (#26)
      ASE: clapplugin.cc: midi event frame offsets are now always positive (#26)
      ASE: midievent: avoid negative frame offsets in midi events
    	Use unsigned data type for midi event offset, see issue #26.
      ase/memory.cc: avoid constexpr std::string use that needs clang++-17

Merge branch 'SPEEDUP-UTILS' - extend and speed up internal utils    # 2024-02-14 Tim Janik 02e6083
    * SPEEDUP-UTILS:
      ase/memory.cc: use array + string ptr unordered_map for quarks
    	This fixes slowdowns where heavy use of CString lookups turns into a bottleneck.
      ase/platform.hh: add extern const char *const ase_sharedir;
      ase/Makefile.mk: add extern char*ase_sharedir; to ase/buildversion*.cc
      ase/strings.cc: support arrays for string_startswith() and string_endswith()
      ase/path: add glob() variant that separates dirs and files
      ase/path.cc: increase file_memread() buffer size to up to 1MB

Merge branch 'b-textinput-prop' - add .prop to <b-textinput/>    # 2024-02-12 Tim Janik af7da4a
    * b-textinput-prop:
      ui/b/propinput.js: use <b-textinput .prop=${prop} />
      ui/b/objecteditor.js: use <b-textinput .prop=${prop} />
      ui/b/textinput.js: move to directly operating on .prop
      ase/project.cc: add project.default_license preference

Merge branch 'fix-non-anklang-dir' - fix loading from non-anklang-dir    # 2024-02-11 Tim Janik ab3b8da
    * fix-non-anklang-dir:
      ase/project.cc: properly halt at root when searching parent dirs
      ase/path: add and test Path::isroot()
      .gitignore: remove unused backslash that confuses jj

Merge branch 'properties-metadata' - support generic metadata on properties    # 2024-02-08 Tim Janik 5f06a6d
    * properties-metadata:
      devices/saturation/saturation.cc: add "blurb=" prefix and mark translations
      devices/liquidsfz/liquidsfz.cc: add "blurb=" prefix and mark translations
      devices/freeverb/freeverb.cc: add "blurb=" prefix and mark translations
      devices/blepsynth/blepsynth.cc: add "blurb=" prefix and mark translations
      ase/api.hh: introduce metadata() for properties
    	* Add const this qualifier to parameter APIs.
    	* engine.cc: add "descr=" prefix to property metadata
    	* project.cc: add "descr=" prefix to property metadata
      ase/strings: add kvpairs_fetch() and kvpairs_assign()

Merge branch 'MOUSE-WHEEL' - fix mouse wheel handling in modern Chrome and Firefox    # 2024-02-08 Tim Janik 070d91a
    * MOUSE-WHEEL:
      ui/util.js: remove unused wheel2scrollbars
      ui/b/pianoroll.js: reinstante hzoom and vzoom adjustments via Ctrl
      ui/util.js: use Mouse.wheel_delta()
      ui/b/knob.js: use Mouse.wheel_delta()
      ui/b/pianoroll.js: properly scroll via deltaY from Mouse.wheel_delta()
      ui/mouse.js: wheel_delta(): provide .x, .y, .z in pixels
      ui/b/app.js: defer ZMove handling to mouse.js
      ui/mouse.js: include ZMove notification handling
      ui/index.html: start mouse.js early on
      ui/mouse.js: add event_movement() and wheel_delta() to fix event coords
    	Cross browser normalization of movementX,movementY and deltaX,deltaY is a hot mess, see:
    	https://bugs.chromium.org/p/chromium/issues/detail?id=1092358
    	https://bugzilla.mozilla.org/show_bug.cgi?id=1392460
    	https://github.com/w3c/uievents/issues/181
    	https://github.com/w3c/pointerlock/issues/42
    	https://github.com/mdn/content/issues/11811
      ui/index.html: disable modulepreload, it causes module errors in Firefox-122

Merge branch 'GRID-FILE-BROWSER' - use <grid/> for file browser    # 2024-02-08 Tim Janik 8cfd329
    * GRID-FILE-BROWSER:
      misc/package.json.in: fix path of rebuild command
      ui/kbd.js: fix coord check during horizontal focus movement
      ui/b/folderview.vue: use grid with column flow to fix slow flexbox wrapping
      ase/websocket.cc: use "CR" as Chrome abbreviation
      ase/strings.hh: fix spacing
      ase/clapplugin.cc: fix newline

Merge branch 'ATOMIC-STACK' - simple atomic stack based on Loft    # 2024-02-08 Tim Janik 765600a
    * ATOMIC-STACK:
      ase/atomics.cc: add atomic_valuestack_test()
      ase/atomics.hh: add a simple AtomicStack<> with just push, pop, empty
      ase/loft.hh: reduce includes
      ase/loft.hh: allow constexpr Loft::Allocator and export allows_read_after_free
      misc/synsmell.py: escape FI[X]ME
      misc/synsmell.py: reduce false positives for the separate-body check

Merge branch 'SFZ-STRING-PARAM' - pass SFZ instrument as string    # 2024-02-08 Tim Janik 789a493
    * SFZ-STRING-PARAM:
      devices/liquidsfz/liquidsfz.cc: pass instrument name as string param via Quark
      ase/memory.hh: fix missing constexpr for CString::qset()

Merge branch 'pr7/swesterfeld-liquidsfz'    # 2024-02-08 Tim Janik 55480ad
    * pr7/swesterfeld-liquidsfz:
      devices/liquidsfz/Makefile.mk: remove -Iexternal/liquidsfz/lib
    	Includes need to be added to ase/Makefile.mk for all tools to pick them up.
      ase/Makefile.mk: add -Iexternal/liquidsfz/lib
      ASE: add copyright information to liquidsfz meta includers
      ASE: compile liquidsfz library code into ase library
      DEVICES: liquidsfz: prepare code for .sfz file specific parameter handling
      DEVICES: liquidsfz: add include path to external submodule
      EXTERNAL: liquidsfz: add swesterfeld/liquidsfz commit from 2023-11-18 15:15:57
    	git submodule add --name liquidsfz https://github.com/swesterfeld/liquidsfz.git external/liquidsfz
    	git -C external/liquidsfz checkout 590149ea8c83588c17833d7b9b6653f0f6aab6fb
      DEVICES liquidsfz: port to new parameter API
      DEVICES: liquidsfz: move SFZ loading to its own thread
      DEVICES: liquidsfz: add LiquidSFZ device for SFZ support

Merge branch 'LIT-DEVICEEDITOR' - port b-deviceeditor to Lit    # 2024-02-08 Tim Janik 760b00b
    * LIT-DEVICEEDITOR:
      ui/b/deviceeditor.js: point out layout todo
      ui/b/deviceeditor.js: port logic to lit
      ui/b/contextmenu.js: support popup with null origin
      ui/b/deviceeditor.js: convert syntax to valid javascript
      ui/b/deviceeditor.js: replace deviceeditor.vue

Merge branch 'STRING-PROPS' - support String as AudioProcessor property    # 2024-02-08 Tim Janik 2aef82b
    * STRING-PROPS:
      STRING-PROPS: ase/processor: allow temporary String mappings for text parameters
      ase/memory: add CString::temp_quark_impl() to expose quarks in some cases
      ase/memory: introduce CString::qset() which can count quark references
      ase/processor: AudioProcessor: unify IBus+OBus into IOBus
    	Allow non-trivial ~IOBus() execution.
      ase/sndfile.cc: add libmp3lame to assertion about missing MP3 support
      ui/b/propinput.js: start text field support
      ase/parameter.cc: treat is_text() as non-numeric and allow Quark values

Merge branch 'branch-check'    # 2024-01-26 Tim Janik 9d38b0f
    * branch-check:
      GITHUB: workflows/testing.yml: update to actions/upload-artifact@v4
      GITHUB: workflows/testing.yml: only build & upload docs from tim-janik/anklang
      GITHUB: workflows/testing.yml: update to actions/cache@v4
      GITHUB: workflows/testing.yml: use actions/[email protected], fix annotated tag
    	Upgrade to actions/[email protected] and Fix actions/checkout messing up
    	checkouts of annotated tags; actions/checkout#290
    	Also fetch submodule upfront.
      GITHUB: workflows/testing.yml: remove Release-Upload run
      MISC: Makefile.mk: fix script v2.34 invocation
    	The util script from util-linux 2.34 (focal) has no `-O` option.
      GITHUB: workflows/testing.yml: add `make branch-check` and check errors in PRs
      MISC: Makefile.mk: add branch-check rule, $BRANCH_CHECK_EXIT holds error status
      GITHUB: workflows/testing.yml: disable CI on tag pushes
      MISC: mknews.sh: show git command line
      MISC: Makefile.mk: fix missing CLEANDIRS

Merge branch 'clang-tidy+synsmell'    # 2024-01-25 Tim Janik ceaf526
    * clang-tidy+synsmell:
      UI: Makefile.mk: ui/lint: add checks with misc/synsmell.py
      DEVICES: Makefile.mk: devices/lint: add checks with misc/synsmell.py
      ASE: Makefile.mk: ase/lint: add checks with misc/synsmell.py
      MISC: synsmell.py: check syntax for code smells, based on regular expressions
      ASE: Makefile.mk: allow double loop variable tests in mathutils.cc
      ASE: *.cc: fix clang-tidy warnings
      DEVICES: saturation/Makefile.mk: remove -Iexternal/pandaresampler/lib
      DEVICES: blepsynth/Makefile.mk: remove -Iexternal/pandaresampler/lib
      ASE: Makefile.mk: move -Iexternal/pandaresampler/lib here
      MISC: Makefile.mk: clang-tidy: strip $PWD
      MISC: colorize.sh: fix black-on-black coloring
      MISC: Makefile.mk: fix lint-unused rule
      MISC: Makefile.mk: fix lint-cppcheck rule
      MISC: Makefile.mk: clang-tidy: support target specific .CTIDY_FLAGS
      MISC: Makefile.mk: add clang-tidy-check: false exit status on errors/warnings
      MISC: Makefile.mk: clang-tidy: skip empty reports during printout
      MISC: Makefile.mk: clang-tidy: add -march=x86-64-v2 so atomics checks pass

Merge branch 'docker-apt-cache'    # 2024-01-25 Tim Janik 4dcc915
    * docker-apt-cache:
      MISC...
Read more

Anklang 0.2.0.nightly2402082217

08 Feb 22:26
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2402082217

Development version - may contain bugs or compatibility issues.

Merge branch 'properties-metadata' - support generic metadata on properties    # 2024-02-08 Tim Janik 5f06a6d
    * properties-metadata:
      devices/saturation/saturation.cc: add "blurb=" prefix and mark translations
      devices/liquidsfz/liquidsfz.cc: add "blurb=" prefix and mark translations
      devices/freeverb/freeverb.cc: add "blurb=" prefix and mark translations
      devices/blepsynth/blepsynth.cc: add "blurb=" prefix and mark translations
      ase/api.hh: introduce metadata() for properties
    	* Add const this qualifier to parameter APIs.
    	* engine.cc: add "descr=" prefix to property metadata
    	* project.cc: add "descr=" prefix to property metadata
      ase/strings: add kvpairs_fetch() and kvpairs_assign()

Merge branch 'MOUSE-WHEEL' - fix mouse wheel handling in modern Chrome and Firefox    # 2024-02-08 Tim Janik 070d91a
    * MOUSE-WHEEL:
      ui/util.js: remove unused wheel2scrollbars
      ui/b/pianoroll.js: reinstante hzoom and vzoom adjustments via Ctrl
      ui/util.js: use Mouse.wheel_delta()
      ui/b/knob.js: use Mouse.wheel_delta()
      ui/b/pianoroll.js: properly scroll via deltaY from Mouse.wheel_delta()
      ui/mouse.js: wheel_delta(): provide .x, .y, .z in pixels
      ui/b/app.js: defer ZMove handling to mouse.js
      ui/mouse.js: include ZMove notification handling
      ui/index.html: start mouse.js early on
      ui/mouse.js: add event_movement() and wheel_delta() to fix event coords
    	Cross browser normalization of movementX,movementY and deltaX,deltaY is a hot mess, see:
    	https://bugs.chromium.org/p/chromium/issues/detail?id=1092358
    	https://bugzilla.mozilla.org/show_bug.cgi?id=1392460
    	https://github.com/w3c/uievents/issues/181
    	https://github.com/w3c/pointerlock/issues/42
    	https://github.com/mdn/content/issues/11811
      ui/index.html: disable modulepreload, it causes module errors in Firefox-122

Merge branch 'GRID-FILE-BROWSER' - use <grid/> for file browser    # 2024-02-08 Tim Janik 8cfd329
    * GRID-FILE-BROWSER:
      misc/package.json.in: fix path of rebuild command
      ui/kbd.js: fix coord check during horizontal focus movement
      ui/b/folderview.vue: use grid with column flow to fix slow flexbox wrapping
      ase/websocket.cc: use "CR" as Chrome abbreviation
      ase/strings.hh: fix spacing
      ase/clapplugin.cc: fix newline

Merge branch 'ATOMIC-STACK' - simple atomic stack based on Loft    # 2024-02-08 Tim Janik 765600a
    * ATOMIC-STACK:
      ase/atomics.cc: add atomic_valuestack_test()
      ase/atomics.hh: add a simple AtomicStack<> with just push, pop, empty
      ase/loft.hh: reduce includes
      ase/loft.hh: allow constexpr Loft::Allocator and export allows_read_after_free
      misc/synsmell.py: escape FI[X]ME
      misc/synsmell.py: reduce false positives for the separate-body check

Merge branch 'SFZ-STRING-PARAM' - pass SFZ instrument as string    # 2024-02-08 Tim Janik 789a493
    * SFZ-STRING-PARAM:
      devices/liquidsfz/liquidsfz.cc: pass instrument name as string param via Quark
      ase/memory.hh: fix missing constexpr for CString::qset()

Merge branch 'pr7/swesterfeld-liquidsfz'    # 2024-02-08 Tim Janik 55480ad
    * pr7/swesterfeld-liquidsfz:
      devices/liquidsfz/Makefile.mk: remove -Iexternal/liquidsfz/lib
    	Includes need to be added to ase/Makefile.mk for all tools to pick them up.
      ase/Makefile.mk: add -Iexternal/liquidsfz/lib
      ASE: add copyright information to liquidsfz meta includers
      ASE: compile liquidsfz library code into ase library
      DEVICES: liquidsfz: prepare code for .sfz file specific parameter handling
      DEVICES: liquidsfz: add include path to external submodule
      EXTERNAL: liquidsfz: add swesterfeld/liquidsfz commit from 2023-11-18 15:15:57
    	git submodule add --name liquidsfz https://github.com/swesterfeld/liquidsfz.git external/liquidsfz
    	git -C external/liquidsfz checkout 590149ea8c83588c17833d7b9b6653f0f6aab6fb
      DEVICES liquidsfz: port to new parameter API
      DEVICES: liquidsfz: move SFZ loading to its own thread
      DEVICES: liquidsfz: add LiquidSFZ device for SFZ support

Merge branch 'LIT-DEVICEEDITOR' - port b-deviceeditor to Lit    # 2024-02-08 Tim Janik 760b00b
    * LIT-DEVICEEDITOR:
      ui/b/deviceeditor.js: point out layout todo
      ui/b/deviceeditor.js: port logic to lit
      ui/b/contextmenu.js: support popup with null origin
      ui/b/deviceeditor.js: convert syntax to valid javascript
      ui/b/deviceeditor.js: replace deviceeditor.vue

Merge branch 'STRING-PROPS' - support String as AudioProcessor property    # 2024-02-08 Tim Janik 2aef82b
    * STRING-PROPS:
      STRING-PROPS: ase/processor: allow temporary String mappings for text parameters
      ase/memory: add CString::temp_quark_impl() to expose quarks in some cases
      ase/memory: introduce CString::qset() which can count quark references
      ase/processor: AudioProcessor: unify IBus+OBus into IOBus
    	Allow non-trivial ~IOBus() execution.
      ase/sndfile.cc: add libmp3lame to assertion about missing MP3 support
      ui/b/propinput.js: start text field support
      ase/parameter.cc: treat is_text() as non-numeric and allow Quark values

Merge branch 'branch-check'    # 2024-01-26 Tim Janik 9d38b0f
    * branch-check:
      GITHUB: workflows/testing.yml: update to actions/upload-artifact@v4
      GITHUB: workflows/testing.yml: only build & upload docs from tim-janik/anklang
      GITHUB: workflows/testing.yml: update to actions/cache@v4
      GITHUB: workflows/testing.yml: use actions/[email protected], fix annotated tag
    	Upgrade to actions/[email protected] and Fix actions/checkout messing up
    	checkouts of annotated tags; actions/checkout#290
    	Also fetch submodule upfront.
      GITHUB: workflows/testing.yml: remove Release-Upload run
      MISC: Makefile.mk: fix script v2.34 invocation
    	The util script from util-linux 2.34 (focal) has no `-O` option.
      GITHUB: workflows/testing.yml: add `make branch-check` and check errors in PRs
      MISC: Makefile.mk: add branch-check rule, $BRANCH_CHECK_EXIT holds error status
      GITHUB: workflows/testing.yml: disable CI on tag pushes
      MISC: mknews.sh: show git command line
      MISC: Makefile.mk: fix missing CLEANDIRS

Merge branch 'clang-tidy+synsmell'    # 2024-01-25 Tim Janik ceaf526
    * clang-tidy+synsmell:
      UI: Makefile.mk: ui/lint: add checks with misc/synsmell.py
      DEVICES: Makefile.mk: devices/lint: add checks with misc/synsmell.py
      ASE: Makefile.mk: ase/lint: add checks with misc/synsmell.py
      MISC: synsmell.py: check syntax for code smells, based on regular expressions
      ASE: Makefile.mk: allow double loop variable tests in mathutils.cc
      ASE: *.cc: fix clang-tidy warnings
      DEVICES: saturation/Makefile.mk: remove -Iexternal/pandaresampler/lib
      DEVICES: blepsynth/Makefile.mk: remove -Iexternal/pandaresampler/lib
      ASE: Makefile.mk: move -Iexternal/pandaresampler/lib here
      MISC: Makefile.mk: clang-tidy: strip $PWD
      MISC: colorize.sh: fix black-on-black coloring
      MISC: Makefile.mk: fix lint-unused rule
      MISC: Makefile.mk: fix lint-cppcheck rule
      MISC: Makefile.mk: clang-tidy: support target specific .CTIDY_FLAGS
      MISC: Makefile.mk: add clang-tidy-check: false exit status on errors/warnings
      MISC: Makefile.mk: clang-tidy: skip empty reports during printout
      MISC: Makefile.mk: clang-tidy: add -march=x86-64-v2 so atomics checks pass

Merge branch 'docker-apt-cache'    # 2024-01-25 Tim Janik 4dcc915
    * docker-apt-cache:
      MISC: version.sh: shorten the logic
      GITHUB: workflows/testing.yml: compress lines
      MISC: cirun: simplify, add -B to trigger build, compress cache
      MISC: Dockerfile.focal: add /var/cache/apt caching
      MISC: mkassets.sh: build release assets with clang

Merge branch 'reduce-make-deps'    # 2024-01-22 Tim Janik 8b6e4a7
    * reduce-make-deps:
      ASE: atomics.cc: add simple AtomicIntrusiveStack test
      MISC: publish.sh: fix git command quoting
      MISC: mknews.sh: fix extraneous commit hash output
      ASE: cxxaux.cc: fix missing unistd.h include for read()
      MISC: Makefile.mk: add appimagetools/ to CLEANDIRS
      MISC: mkAppImage.sh, mkdeb.sh: fetch $pkgdir from out/config.sh
      Makefile.mk: generate config.sh to export pkgdir, etc
      UI: Makefile.mk: add tscheck/ to CLEANDIRS
      IMAGES: knobs/Makefile.mk: add images/ to CLEANDIRS
      MISC: package.json.in: minor fix
      ASE: Makefile.mk: avoid useless rebuilds
      Makefile.mk: TAGS: use sed to compress flood of "Warning: ignoring null tag"
      Makefile.mk: regen TAGS after git changed
      Makefile.mk: avoid touching ls-tree.lst needlessly
      Makefile.mk: avoid npm rebuilds on git changes
      Makefile.mk: avoid needlessly touching package.json

Merge branch 'simpler-assert'    # 2024-01-22 Tim Janik 25b6611
    * simpler-assert:
      ASE: utils: use diag_prefix() for printouts
      ASE: backtrace.*: remove old code
      ASE: cxxaux.hh: add ASE_ASSERT_UNREACHED() and ASE_ASSERT()
      ASE: cxxaux.hh: add assertion_fatal() and bool assertion_failed_fatal
      ASE: cxxaux.cc: add assertion_fatal(), handle $ASE_DEBUG assertion debug keys
    	Check and implement "breakpoint", "backtrace" and "fatal-warnings" in $ASE_DEBUG

Merge branch 'swesterfeld-move-bleptools-to-dspresearch'    # 2024-01-22 Tim Janik a26757d
    * swesterfeld-move-bleptools-to-dspresearch:
      DEVICES: blepsynth: remove design/test tools (moved to dsp-research repo)

Merge branch 'build-fixes'    # 2023-12-05 Tim Janik fce55a4
    * build-fixes:
      DOC: Makefile.mk: work around broken heading anchors in pandoc-1.3.9
      ASE: Makefile.mk: ase/sndfile.cc requires fully built $>/lib/libsndfile.s...
Read more

Anklang 0.2.0.nightly2311230136

23 Nov 01:47
Compare
Choose a tag to compare
Pre-release

9c9733c7e54d48dcba5732557154d78f4a2cc333

Anklang 0.2.0.nightly2311052133

05 Nov 21:48
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2311052133

Development version - may contain bugs or compatibility issues.

Merge branch 'release-fixes'    # 2023-09-08 Tim Janik d8465fd
    * release-fixes:
      MISC: mknews.sh: print latest NEWS.md version with `misc/mknews.sh --version`
      GITHUB: workflows/release.yml: set prerelease:false for annotated tags
    	Fix actions/checkout@v3 and actions/checkout@v4 messing up the annotation of
    	the currently fetched tag, even with fetch-depth:0, see: actions/checkout#290
      MISC: mknews.sh: for release tags, copy news section from NEWS.md

Merge branch 'ci-fixes'    # 2023-09-10 Tim Janik 9a7e628
    * ci-fixes:
      MISC: mkassets.sh: remove unused file generations
      MISC: dbuild.sh: delete, now unused
      MISC: cirun.sh: add missing arg to help
      MISC: publish.sh: remove --draft
      MISC: publish.sh: determine version from tarball, show progress
      MISC: publish.sh: use assets/ directory contents if present
      GITHUB: workflows/testing.yml: use download-artifact@v3 to fetch release assets
      GITHUB: workflows/testing.yml: make sure to generate PDF docs early on
      GITHUB: workflows/testing.yml: provide GH_TOKEN for gh in publish.sh
      GITHUB: workflows/testing.yml: first build docs, then upload docs/ artifact
      GITHUB: workflows/testing.yml: fix Release-Upload deps, avoid skipped jobs
      GITHUB: workflows/testing.yml: allow skipped jobs in Ping-IRC
      GITHUB: workflows/testing.yml: use github expression for negating if
      GITHUB: workflows/testing.yml: escape exclamation mark for yaml
      GITHUB: workflows/testing.yml: skip Focal-Clang-Tidy for release tags
      GITHUB: workflows/testing.yml: uplaod releases via misc/publish.sh
      GITHUB: workflows/release.yml: remove, releases moved into testing.yml
      MISC: publish.sh: download artifacts and create a release
      MISC: cirun.sh: properly dockerize clang-tidy
      MISC: cirun.sh: support V=1
      GITHUB: workflows/testing.yml: run clang-tidy on focal
      MISC: cirun.sh: use 1000:1000 to chown files for docker containers
      MISC: mkassets.sh: add missing auto to cp --reflink=auto
      GITHUB: workflows/testing.yml: fix env syntax for gha
      GITHUB: workflows/testing.yml: use cirun.sh for all CI jobs
      GITHUB: workflows/testing.yml: use cirun.sh on Focal for docs
      MISC: cirun.sh: support $CITAG to determine docker run image
      MISC: Dockerfile.lunar: install missing clang aliases
      MISC: cirun.sh: add script that runs all CI stages via docker
      MISC: Dockerfile.focal: install poxy==0.13.0
    	Versions poxy>=0.13.1 have problems with python-3.8 on focal.
      MISC: Dockerfile.focal: install pandoc-3.1.6.2
    	Using pandoc-3.1.7 seems to have issues with PDF generation, anchors
    	in section titles cause an error and SVG images are not found.
      .gitignore: minor addition
      MISC: Dockerfile.focal: add clang-17 aliases
      MISC: Dockerfile.focal: provide xetex, poxy and clang++-17
      GITHUB: workflows/release.yml: upload draft releases for CI tests
      GITHUB: workflows/release.yml: cache focal docker builds with buildx
      GITHUB: workflows/testing.yml: fix comment
      GITHUB: workflows/testing.yml: cache arch docker builds with buildx
      GITHUB: workflows/testing.yml: cache lunar and jammy docker builds with buildx

Merge branch 'cirun-docker-caching' - let cirun handle image build and caching    # 2023-09-17 Tim Janik 00c0537
    * cirun-docker-caching:
      GITHUB: workflows/testing.yml: use separate steps for docker image builds
      GITHUB: workflows/testing.yml: make use of cirun which handles docker builds
    	* workflows/testing.yml: use misc/cirun -u 1000 to fix ownership
    	* workflows/testing.yml: fix CIMAKE for Focal-Clang-Tidy
    	* workflows/testing.yml: move nproc out of env variables
      MISC: cirun.sh: remove, use simpler cirun
      MISC: gh_delete_assets.sh: remove old helper
      MISC: Dockerfile.lunar: remove old file
      MISC: docker_*: remove old helpers
      MISC: cirun: add docker build, run, chown and caching
      MISC: cirun: add script to run commands in dockerized environments
      GITHUB: workflows/testing.yml: use buildx with selective caching
      GITHUB: workflows/testing.yml: configure and use buildx with selective caching
      GITHUB: workflows/testing.yml: remove unused actions/upload-artifact
      GITHUB: workflows/testing.yml: split asset builds into separate job
      MISC: cirun.sh: add --build, note that --check includes --build
      MISC: mkassets.sh: fix outdated globs

Merge branch 'thin-lto' - improve LTO builds    # 2023-09-17 Tim Janik 0e21fc8
    * thin-lto:
      ASE: main.cc: add missing formats to WAV output help
      MISC: config-uname.mk: when using LTO, enable Thin LTO with clang
    	Thin LTO can result in smaller binaries and better performance.

Merge branch 'use-git-submodule'    # 2023-09-21 Tim Janik 22cf347
    * use-git-submodule:
      DOC: copyright.ini: apply MPL-2.0 to .gitmodules
      MISC: Makefile.mk: directly create and reference .dlcache/ for mkassets.sh
      MISC: Makefile.mk: mkassets: download builds tools before misc/mkassets.sh
      GITHUB: workflows/testing.yml: use `make mkassets` for release builds
      .gitignore: ignore .submodule-stamp
      UI: global.scss, index.html: move AnklangIcons to assets/
      UI: Makefile.mk: copy anklangicons-*.tgz files to assets, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 21:04:16
    	git -C external/blobs4anklang/ checkout 7b0a4a68a1e9efbe68fc9761bef080995f4b4d6b
      UI: global.scss, index.html: move fork-awesome to assets/
      UI: Makefile.mk: copy node_modules/fork-awesome to assets, remove download
      MISC: package.json.in: install [email protected]
      UI: Makefile.mk: use blobs4anklang/fonts/InterVariable.woff2, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 18:23:36
    	git submodule add --name blobs4anklang https://github.com/tim-janik/blobs4anklang.git external/blobs4anklang
    	git -C external/blobs4anklang/ checkout 8da35f3914b9668bacc6755a8051a17051b07c3a
      Makefile.mk: skip `git submodule` in tarball builds
      Makefile.mk: dist: exclude unused external subdirs from tarball
      Makefile.mk: include submodule archives in dist tarball
      ASE: Makefile.mk: use blake3 submodule, remove download rule
      ASE: compress.cc: use external/blake3/c/blake3.h
      EXTERNAL: blake3: add BLAKE3-team/BLAKE3 version 1.3.1
    	git submodule add --name blake3 https://github.com/BLAKE3-team/BLAKE3.git external/blake3
    	git -C external/blake3/ checkout 1.3.1
      ASE: Makefile.mk: use websocketpp submodule, remove download rule
      EXTERNAL: websocketpp: add zaphoyd/websocketpp version 0.8.2
    	git submodule add --name websocketpp https://github.com/zaphoyd/websocketpp.git external/websocketpp
    	git -C external/websocketpp/ checkout 0.8.2
      ASE: Makefile.mk: use clap submodule, remove download rule
      EXTERNAL: clap: add free-audio/clap version 1.1.1
    	git submodule add --name clap https://github.com/free-audio/clap.git external/clap
    	git -C external/clap/ checkout 1.1.1
      ASE: Makefile.mk: use rapidjson submodule, remove download rule
      EXTERNAL: rapidjson: add Tencent/rapidjson commit from 2022-05-24 10:03:13
    	git submodule add --name rapidjson https://github.com/Tencent/rapidjson.git external/rapidjson
    	git checkout 232389d4f1012dddec4ef84861face2d2ba85709
      Makefile.mk: update all submodules before building sources
      Makefile.mk: remove external/ subdir from ls-tree.lst
      MISC: mkcopyright.py: ignore dirs passed from `git ls-tree` on the CLI
      ASE: storage.cc: adjust old link to zlib-ng/minizip-ng/issues/433
      ASE: minizip: build against external/minizip-ng/
      ASE: Makefile.mk: use minizip-ng submodule, remove download rule
      EXTERNAL: minizip-ng: add zlib-ng/minizip-ng version 2.9.0
    	git submodule add --name minizip-ng https://github.com/zlib-ng/minizip-ng.git external/minizip-ng
      .gitignore: remove entries of files the build is not generating

Merge branch 'bug-fixes'    # 2023-09-23 Tim Janik e9015b9
    * bug-fixes:
      GITHUB: workflows/testing.yml: upload dist tarball as isolated smaller artefact
      GITHUB: workflows/testing.yml: upgrade to actions/[email protected]
      MISC: *.sh: use '#!/usr/bin/env bash' for bash scripts, fixes #17

Merge branch 'fix-warnings'    # 2023-09-29 Tim Janik 9c1a062
    * fix-warnings:
      ASE: track.cc: fix signedness
      ASE: utils.cc: cosmetic change
      ASE: project.cc: cosmetic change
      ASE: nativedevice.cc: fix signedness
      ASE: midilib.cc: fix signedness
      ASE: midievent.cc: cosmetic change
      ASE: internal.hh: cosmetic change
      ASE: inifile.cc: fix signedness
      ASE: engine.cc: cosmetic change
      ASE: compress.cc: fix write check signedness
      ASE: combo: fix insert position signedness
      ASE: clapplugin.cc: cosmetic change
      ASE: device.cc: remove unused code
      ASE: blob.cc: cosmetic fix
      MISC: Makefile.mk: clang-tidy: fix missing includes
      ASE: clapplugin.cc: cosmetic fix
      ASE: loop.cc: fix typo

Merge branch 'main-rt-jobs'    # 2023-09-30 Tim Janik a3f8f29
    * main-rt-jobs:
      ASE: main.cc: fit one RtCallJob into a cache line
    	This becomes possible with RtCall allocating just 4 pointer sizes.
    	Since Loft allocates at cache line boundaries only, this essentially
    	halves the size of an RtCallJob allocation.
      ASE: callback: shrink struct RtCall by a pointer
      ASE: loft: fix and test LoftPtr<T> actually running ~T
      ASE: engine.hh: add comment about main_rt_jobs
      ASE: main.cc: turn debugging code into real job_queue_tests
      ASE: main: ma...
Read more

Anklang 0.2.0.nightly2310272019

27 Oct 20:32
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2310272019

Development version - may contain bugs or compatibility issues.

Merge branch 'release-fixes'    # 2023-09-08 Tim Janik d8465fd
    * release-fixes:
      MISC: mknews.sh: print latest NEWS.md version with `misc/mknews.sh --version`
      GITHUB: workflows/release.yml: set prerelease:false for annotated tags
    	Fix actions/checkout@v3 and actions/checkout@v4 messing up the annotation of
    	the currently fetched tag, even with fetch-depth:0, see: actions/checkout#290
      MISC: mknews.sh: for release tags, copy news section from NEWS.md

Merge branch 'ci-fixes'    # 2023-09-10 Tim Janik 9a7e628
    * ci-fixes:
      MISC: mkassets.sh: remove unused file generations
      MISC: dbuild.sh: delete, now unused
      MISC: cirun.sh: add missing arg to help
      MISC: publish.sh: remove --draft
      MISC: publish.sh: determine version from tarball, show progress
      MISC: publish.sh: use assets/ directory contents if present
      GITHUB: workflows/testing.yml: use download-artifact@v3 to fetch release assets
      GITHUB: workflows/testing.yml: make sure to generate PDF docs early on
      GITHUB: workflows/testing.yml: provide GH_TOKEN for gh in publish.sh
      GITHUB: workflows/testing.yml: first build docs, then upload docs/ artifact
      GITHUB: workflows/testing.yml: fix Release-Upload deps, avoid skipped jobs
      GITHUB: workflows/testing.yml: allow skipped jobs in Ping-IRC
      GITHUB: workflows/testing.yml: use github expression for negating if
      GITHUB: workflows/testing.yml: escape exclamation mark for yaml
      GITHUB: workflows/testing.yml: skip Focal-Clang-Tidy for release tags
      GITHUB: workflows/testing.yml: uplaod releases via misc/publish.sh
      GITHUB: workflows/release.yml: remove, releases moved into testing.yml
      MISC: publish.sh: download artifacts and create a release
      MISC: cirun.sh: properly dockerize clang-tidy
      MISC: cirun.sh: support V=1
      GITHUB: workflows/testing.yml: run clang-tidy on focal
      MISC: cirun.sh: use 1000:1000 to chown files for docker containers
      MISC: mkassets.sh: add missing auto to cp --reflink=auto
      GITHUB: workflows/testing.yml: fix env syntax for gha
      GITHUB: workflows/testing.yml: use cirun.sh for all CI jobs
      GITHUB: workflows/testing.yml: use cirun.sh on Focal for docs
      MISC: cirun.sh: support $CITAG to determine docker run image
      MISC: Dockerfile.lunar: install missing clang aliases
      MISC: cirun.sh: add script that runs all CI stages via docker
      MISC: Dockerfile.focal: install poxy==0.13.0
    	Versions poxy>=0.13.1 have problems with python-3.8 on focal.
      MISC: Dockerfile.focal: install pandoc-3.1.6.2
    	Using pandoc-3.1.7 seems to have issues with PDF generation, anchors
    	in section titles cause an error and SVG images are not found.
      .gitignore: minor addition
      MISC: Dockerfile.focal: add clang-17 aliases
      MISC: Dockerfile.focal: provide xetex, poxy and clang++-17
      GITHUB: workflows/release.yml: upload draft releases for CI tests
      GITHUB: workflows/release.yml: cache focal docker builds with buildx
      GITHUB: workflows/testing.yml: fix comment
      GITHUB: workflows/testing.yml: cache arch docker builds with buildx
      GITHUB: workflows/testing.yml: cache lunar and jammy docker builds with buildx

Merge branch 'cirun-docker-caching' - let cirun handle image build and caching    # 2023-09-17 Tim Janik 00c0537
    * cirun-docker-caching:
      GITHUB: workflows/testing.yml: use separate steps for docker image builds
      GITHUB: workflows/testing.yml: make use of cirun which handles docker builds
    	* workflows/testing.yml: use misc/cirun -u 1000 to fix ownership
    	* workflows/testing.yml: fix CIMAKE for Focal-Clang-Tidy
    	* workflows/testing.yml: move nproc out of env variables
      MISC: cirun.sh: remove, use simpler cirun
      MISC: gh_delete_assets.sh: remove old helper
      MISC: Dockerfile.lunar: remove old file
      MISC: docker_*: remove old helpers
      MISC: cirun: add docker build, run, chown and caching
      MISC: cirun: add script to run commands in dockerized environments
      GITHUB: workflows/testing.yml: use buildx with selective caching
      GITHUB: workflows/testing.yml: configure and use buildx with selective caching
      GITHUB: workflows/testing.yml: remove unused actions/upload-artifact
      GITHUB: workflows/testing.yml: split asset builds into separate job
      MISC: cirun.sh: add --build, note that --check includes --build
      MISC: mkassets.sh: fix outdated globs

Merge branch 'thin-lto' - improve LTO builds    # 2023-09-17 Tim Janik 0e21fc8
    * thin-lto:
      ASE: main.cc: add missing formats to WAV output help
      MISC: config-uname.mk: when using LTO, enable Thin LTO with clang
    	Thin LTO can result in smaller binaries and better performance.

Merge branch 'use-git-submodule'    # 2023-09-21 Tim Janik 22cf347
    * use-git-submodule:
      DOC: copyright.ini: apply MPL-2.0 to .gitmodules
      MISC: Makefile.mk: directly create and reference .dlcache/ for mkassets.sh
      MISC: Makefile.mk: mkassets: download builds tools before misc/mkassets.sh
      GITHUB: workflows/testing.yml: use `make mkassets` for release builds
      .gitignore: ignore .submodule-stamp
      UI: global.scss, index.html: move AnklangIcons to assets/
      UI: Makefile.mk: copy anklangicons-*.tgz files to assets, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 21:04:16
    	git -C external/blobs4anklang/ checkout 7b0a4a68a1e9efbe68fc9761bef080995f4b4d6b
      UI: global.scss, index.html: move fork-awesome to assets/
      UI: Makefile.mk: copy node_modules/fork-awesome to assets, remove download
      MISC: package.json.in: install [email protected]
      UI: Makefile.mk: use blobs4anklang/fonts/InterVariable.woff2, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 18:23:36
    	git submodule add --name blobs4anklang https://github.com/tim-janik/blobs4anklang.git external/blobs4anklang
    	git -C external/blobs4anklang/ checkout 8da35f3914b9668bacc6755a8051a17051b07c3a
      Makefile.mk: skip `git submodule` in tarball builds
      Makefile.mk: dist: exclude unused external subdirs from tarball
      Makefile.mk: include submodule archives in dist tarball
      ASE: Makefile.mk: use blake3 submodule, remove download rule
      ASE: compress.cc: use external/blake3/c/blake3.h
      EXTERNAL: blake3: add BLAKE3-team/BLAKE3 version 1.3.1
    	git submodule add --name blake3 https://github.com/BLAKE3-team/BLAKE3.git external/blake3
    	git -C external/blake3/ checkout 1.3.1
      ASE: Makefile.mk: use websocketpp submodule, remove download rule
      EXTERNAL: websocketpp: add zaphoyd/websocketpp version 0.8.2
    	git submodule add --name websocketpp https://github.com/zaphoyd/websocketpp.git external/websocketpp
    	git -C external/websocketpp/ checkout 0.8.2
      ASE: Makefile.mk: use clap submodule, remove download rule
      EXTERNAL: clap: add free-audio/clap version 1.1.1
    	git submodule add --name clap https://github.com/free-audio/clap.git external/clap
    	git -C external/clap/ checkout 1.1.1
      ASE: Makefile.mk: use rapidjson submodule, remove download rule
      EXTERNAL: rapidjson: add Tencent/rapidjson commit from 2022-05-24 10:03:13
    	git submodule add --name rapidjson https://github.com/Tencent/rapidjson.git external/rapidjson
    	git checkout 232389d4f1012dddec4ef84861face2d2ba85709
      Makefile.mk: update all submodules before building sources
      Makefile.mk: remove external/ subdir from ls-tree.lst
      MISC: mkcopyright.py: ignore dirs passed from `git ls-tree` on the CLI
      ASE: storage.cc: adjust old link to zlib-ng/minizip-ng/issues/433
      ASE: minizip: build against external/minizip-ng/
      ASE: Makefile.mk: use minizip-ng submodule, remove download rule
      EXTERNAL: minizip-ng: add zlib-ng/minizip-ng version 2.9.0
    	git submodule add --name minizip-ng https://github.com/zlib-ng/minizip-ng.git external/minizip-ng
      .gitignore: remove entries of files the build is not generating

Merge branch 'bug-fixes'    # 2023-09-23 Tim Janik e9015b9
    * bug-fixes:
      GITHUB: workflows/testing.yml: upload dist tarball as isolated smaller artefact
      GITHUB: workflows/testing.yml: upgrade to actions/[email protected]
      MISC: *.sh: use '#!/usr/bin/env bash' for bash scripts, fixes #17

Merge branch 'fix-warnings'    # 2023-09-29 Tim Janik 9c1a062
    * fix-warnings:
      ASE: track.cc: fix signedness
      ASE: utils.cc: cosmetic change
      ASE: project.cc: cosmetic change
      ASE: nativedevice.cc: fix signedness
      ASE: midilib.cc: fix signedness
      ASE: midievent.cc: cosmetic change
      ASE: internal.hh: cosmetic change
      ASE: inifile.cc: fix signedness
      ASE: engine.cc: cosmetic change
      ASE: compress.cc: fix write check signedness
      ASE: combo: fix insert position signedness
      ASE: clapplugin.cc: cosmetic change
      ASE: device.cc: remove unused code
      ASE: blob.cc: cosmetic fix
      MISC: Makefile.mk: clang-tidy: fix missing includes
      ASE: clapplugin.cc: cosmetic fix
      ASE: loop.cc: fix typo

Merge branch 'main-rt-jobs'    # 2023-09-30 Tim Janik a3f8f29
    * main-rt-jobs:
      ASE: main.cc: fit one RtCallJob into a cache line
    	This becomes possible with RtCall allocating just 4 pointer sizes.
    	Since Loft allocates at cache line boundaries only, this essentially
    	halves the size of an RtCallJob allocation.
      ASE: callback: shrink struct RtCall by a pointer
      ASE: loft: fix and test LoftPtr<T> actually running ~T
      ASE: engine.hh: add comment about main_rt_jobs
      ASE: main.cc: turn debugging code into real job_queue_tests
      ASE: main: ma...
Read more

Anklang 0.2.0.nightly2310161007

16 Oct 10:31
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2310161007

Development version - may contain bugs or compatibility issues.

Merge branch 'release-fixes'    # 2023-09-08 Tim Janik d8465fd
    * release-fixes:
      MISC: mknews.sh: print latest NEWS.md version with `misc/mknews.sh --version`
      GITHUB: workflows/release.yml: set prerelease:false for annotated tags
    	Fix actions/checkout@v3 and actions/checkout@v4 messing up the annotation of
    	the currently fetched tag, even with fetch-depth:0, see: actions/checkout#290
      MISC: mknews.sh: for release tags, copy news section from NEWS.md

Merge branch 'ci-fixes'    # 2023-09-10 Tim Janik 9a7e628
    * ci-fixes:
      MISC: mkassets.sh: remove unused file generations
      MISC: dbuild.sh: delete, now unused
      MISC: cirun.sh: add missing arg to help
      MISC: publish.sh: remove --draft
      MISC: publish.sh: determine version from tarball, show progress
      MISC: publish.sh: use assets/ directory contents if present
      GITHUB: workflows/testing.yml: use download-artifact@v3 to fetch release assets
      GITHUB: workflows/testing.yml: make sure to generate PDF docs early on
      GITHUB: workflows/testing.yml: provide GH_TOKEN for gh in publish.sh
      GITHUB: workflows/testing.yml: first build docs, then upload docs/ artifact
      GITHUB: workflows/testing.yml: fix Release-Upload deps, avoid skipped jobs
      GITHUB: workflows/testing.yml: allow skipped jobs in Ping-IRC
      GITHUB: workflows/testing.yml: use github expression for negating if
      GITHUB: workflows/testing.yml: escape exclamation mark for yaml
      GITHUB: workflows/testing.yml: skip Focal-Clang-Tidy for release tags
      GITHUB: workflows/testing.yml: uplaod releases via misc/publish.sh
      GITHUB: workflows/release.yml: remove, releases moved into testing.yml
      MISC: publish.sh: download artifacts and create a release
      MISC: cirun.sh: properly dockerize clang-tidy
      MISC: cirun.sh: support V=1
      GITHUB: workflows/testing.yml: run clang-tidy on focal
      MISC: cirun.sh: use 1000:1000 to chown files for docker containers
      MISC: mkassets.sh: add missing auto to cp --reflink=auto
      GITHUB: workflows/testing.yml: fix env syntax for gha
      GITHUB: workflows/testing.yml: use cirun.sh for all CI jobs
      GITHUB: workflows/testing.yml: use cirun.sh on Focal for docs
      MISC: cirun.sh: support $CITAG to determine docker run image
      MISC: Dockerfile.lunar: install missing clang aliases
      MISC: cirun.sh: add script that runs all CI stages via docker
      MISC: Dockerfile.focal: install poxy==0.13.0
    	Versions poxy>=0.13.1 have problems with python-3.8 on focal.
      MISC: Dockerfile.focal: install pandoc-3.1.6.2
    	Using pandoc-3.1.7 seems to have issues with PDF generation, anchors
    	in section titles cause an error and SVG images are not found.
      .gitignore: minor addition
      MISC: Dockerfile.focal: add clang-17 aliases
      MISC: Dockerfile.focal: provide xetex, poxy and clang++-17
      GITHUB: workflows/release.yml: upload draft releases for CI tests
      GITHUB: workflows/release.yml: cache focal docker builds with buildx
      GITHUB: workflows/testing.yml: fix comment
      GITHUB: workflows/testing.yml: cache arch docker builds with buildx
      GITHUB: workflows/testing.yml: cache lunar and jammy docker builds with buildx

Merge branch 'cirun-docker-caching' - let cirun handle image build and caching    # 2023-09-17 Tim Janik 00c0537
    * cirun-docker-caching:
      GITHUB: workflows/testing.yml: use separate steps for docker image builds
      GITHUB: workflows/testing.yml: make use of cirun which handles docker builds
    	* workflows/testing.yml: use misc/cirun -u 1000 to fix ownership
    	* workflows/testing.yml: fix CIMAKE for Focal-Clang-Tidy
    	* workflows/testing.yml: move nproc out of env variables
      MISC: cirun.sh: remove, use simpler cirun
      MISC: gh_delete_assets.sh: remove old helper
      MISC: Dockerfile.lunar: remove old file
      MISC: docker_*: remove old helpers
      MISC: cirun: add docker build, run, chown and caching
      MISC: cirun: add script to run commands in dockerized environments
      GITHUB: workflows/testing.yml: use buildx with selective caching
      GITHUB: workflows/testing.yml: configure and use buildx with selective caching
      GITHUB: workflows/testing.yml: remove unused actions/upload-artifact
      GITHUB: workflows/testing.yml: split asset builds into separate job
      MISC: cirun.sh: add --build, note that --check includes --build
      MISC: mkassets.sh: fix outdated globs

Merge branch 'thin-lto' - improve LTO builds    # 2023-09-17 Tim Janik 0e21fc8
    * thin-lto:
      ASE: main.cc: add missing formats to WAV output help
      MISC: config-uname.mk: when using LTO, enable Thin LTO with clang
    	Thin LTO can result in smaller binaries and better performance.

Merge branch 'use-git-submodule'    # 2023-09-21 Tim Janik 22cf347
    * use-git-submodule:
      DOC: copyright.ini: apply MPL-2.0 to .gitmodules
      MISC: Makefile.mk: directly create and reference .dlcache/ for mkassets.sh
      MISC: Makefile.mk: mkassets: download builds tools before misc/mkassets.sh
      GITHUB: workflows/testing.yml: use `make mkassets` for release builds
      .gitignore: ignore .submodule-stamp
      UI: global.scss, index.html: move AnklangIcons to assets/
      UI: Makefile.mk: copy anklangicons-*.tgz files to assets, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 21:04:16
    	git -C external/blobs4anklang/ checkout 7b0a4a68a1e9efbe68fc9761bef080995f4b4d6b
      UI: global.scss, index.html: move fork-awesome to assets/
      UI: Makefile.mk: copy node_modules/fork-awesome to assets, remove download
      MISC: package.json.in: install [email protected]
      UI: Makefile.mk: use blobs4anklang/fonts/InterVariable.woff2, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 18:23:36
    	git submodule add --name blobs4anklang https://github.com/tim-janik/blobs4anklang.git external/blobs4anklang
    	git -C external/blobs4anklang/ checkout 8da35f3914b9668bacc6755a8051a17051b07c3a
      Makefile.mk: skip `git submodule` in tarball builds
      Makefile.mk: dist: exclude unused external subdirs from tarball
      Makefile.mk: include submodule archives in dist tarball
      ASE: Makefile.mk: use blake3 submodule, remove download rule
      ASE: compress.cc: use external/blake3/c/blake3.h
      EXTERNAL: blake3: add BLAKE3-team/BLAKE3 version 1.3.1
    	git submodule add --name blake3 https://github.com/BLAKE3-team/BLAKE3.git external/blake3
    	git -C external/blake3/ checkout 1.3.1
      ASE: Makefile.mk: use websocketpp submodule, remove download rule
      EXTERNAL: websocketpp: add zaphoyd/websocketpp version 0.8.2
    	git submodule add --name websocketpp https://github.com/zaphoyd/websocketpp.git external/websocketpp
    	git -C external/websocketpp/ checkout 0.8.2
      ASE: Makefile.mk: use clap submodule, remove download rule
      EXTERNAL: clap: add free-audio/clap version 1.1.1
    	git submodule add --name clap https://github.com/free-audio/clap.git external/clap
    	git -C external/clap/ checkout 1.1.1
      ASE: Makefile.mk: use rapidjson submodule, remove download rule
      EXTERNAL: rapidjson: add Tencent/rapidjson commit from 2022-05-24 10:03:13
    	git submodule add --name rapidjson https://github.com/Tencent/rapidjson.git external/rapidjson
    	git checkout 232389d4f1012dddec4ef84861face2d2ba85709
      Makefile.mk: update all submodules before building sources
      Makefile.mk: remove external/ subdir from ls-tree.lst
      MISC: mkcopyright.py: ignore dirs passed from `git ls-tree` on the CLI
      ASE: storage.cc: adjust old link to zlib-ng/minizip-ng/issues/433
      ASE: minizip: build against external/minizip-ng/
      ASE: Makefile.mk: use minizip-ng submodule, remove download rule
      EXTERNAL: minizip-ng: add zlib-ng/minizip-ng version 2.9.0
    	git submodule add --name minizip-ng https://github.com/zlib-ng/minizip-ng.git external/minizip-ng
      .gitignore: remove entries of files the build is not generating

Merge branch 'bug-fixes'    # 2023-09-23 Tim Janik e9015b9
    * bug-fixes:
      GITHUB: workflows/testing.yml: upload dist tarball as isolated smaller artefact
      GITHUB: workflows/testing.yml: upgrade to actions/[email protected]
      MISC: *.sh: use '#!/usr/bin/env bash' for bash scripts, fixes #17

Merge branch 'fix-warnings'    # 2023-09-29 Tim Janik 9c1a062
    * fix-warnings:
      ASE: track.cc: fix signedness
      ASE: utils.cc: cosmetic change
      ASE: project.cc: cosmetic change
      ASE: nativedevice.cc: fix signedness
      ASE: midilib.cc: fix signedness
      ASE: midievent.cc: cosmetic change
      ASE: internal.hh: cosmetic change
      ASE: inifile.cc: fix signedness
      ASE: engine.cc: cosmetic change
      ASE: compress.cc: fix write check signedness
      ASE: combo: fix insert position signedness
      ASE: clapplugin.cc: cosmetic change
      ASE: device.cc: remove unused code
      ASE: blob.cc: cosmetic fix
      MISC: Makefile.mk: clang-tidy: fix missing includes
      ASE: clapplugin.cc: cosmetic fix
      ASE: loop.cc: fix typo

Merge branch 'main-rt-jobs'    # 2023-09-30 Tim Janik a3f8f29
    * main-rt-jobs:
      ASE: main.cc: fit one RtCallJob into a cache line
    	This becomes possible with RtCall allocating just 4 pointer sizes.
    	Since Loft allocates at cache line boundaries only, this essentially
    	halves the size of an RtCallJob allocation.
      ASE: callback: shrink struct RtCall by a pointer
      ASE: loft: fix and test LoftPtr<T> actually running ~T
      ASE: engine.hh: add comment about main_rt_jobs
      ASE: main.cc: turn debugging code into real job_queue_tests
      ASE: main: ma...
Read more

Anklang 0.2.0.nightly2310101358

10 Oct 23:59
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2310101358

Development version - may contain bugs or compatibility issues.

Merge branch 'release-fixes'    # 2023-09-08 Tim Janik d8465fd
    * release-fixes:
      MISC: mknews.sh: print latest NEWS.md version with `misc/mknews.sh --version`
      GITHUB: workflows/release.yml: set prerelease:false for annotated tags
    	Fix actions/checkout@v3 and actions/checkout@v4 messing up the annotation of
    	the currently fetched tag, even with fetch-depth:0, see: actions/checkout#290
      MISC: mknews.sh: for release tags, copy news section from NEWS.md

Merge branch 'ci-fixes'    # 2023-09-10 Tim Janik 9a7e628
    * ci-fixes:
      MISC: mkassets.sh: remove unused file generations
      MISC: dbuild.sh: delete, now unused
      MISC: cirun.sh: add missing arg to help
      MISC: publish.sh: remove --draft
      MISC: publish.sh: determine version from tarball, show progress
      MISC: publish.sh: use assets/ directory contents if present
      GITHUB: workflows/testing.yml: use download-artifact@v3 to fetch release assets
      GITHUB: workflows/testing.yml: make sure to generate PDF docs early on
      GITHUB: workflows/testing.yml: provide GH_TOKEN for gh in publish.sh
      GITHUB: workflows/testing.yml: first build docs, then upload docs/ artifact
      GITHUB: workflows/testing.yml: fix Release-Upload deps, avoid skipped jobs
      GITHUB: workflows/testing.yml: allow skipped jobs in Ping-IRC
      GITHUB: workflows/testing.yml: use github expression for negating if
      GITHUB: workflows/testing.yml: escape exclamation mark for yaml
      GITHUB: workflows/testing.yml: skip Focal-Clang-Tidy for release tags
      GITHUB: workflows/testing.yml: uplaod releases via misc/publish.sh
      GITHUB: workflows/release.yml: remove, releases moved into testing.yml
      MISC: publish.sh: download artifacts and create a release
      MISC: cirun.sh: properly dockerize clang-tidy
      MISC: cirun.sh: support V=1
      GITHUB: workflows/testing.yml: run clang-tidy on focal
      MISC: cirun.sh: use 1000:1000 to chown files for docker containers
      MISC: mkassets.sh: add missing auto to cp --reflink=auto
      GITHUB: workflows/testing.yml: fix env syntax for gha
      GITHUB: workflows/testing.yml: use cirun.sh for all CI jobs
      GITHUB: workflows/testing.yml: use cirun.sh on Focal for docs
      MISC: cirun.sh: support $CITAG to determine docker run image
      MISC: Dockerfile.lunar: install missing clang aliases
      MISC: cirun.sh: add script that runs all CI stages via docker
      MISC: Dockerfile.focal: install poxy==0.13.0
    	Versions poxy>=0.13.1 have problems with python-3.8 on focal.
      MISC: Dockerfile.focal: install pandoc-3.1.6.2
    	Using pandoc-3.1.7 seems to have issues with PDF generation, anchors
    	in section titles cause an error and SVG images are not found.
      .gitignore: minor addition
      MISC: Dockerfile.focal: add clang-17 aliases
      MISC: Dockerfile.focal: provide xetex, poxy and clang++-17
      GITHUB: workflows/release.yml: upload draft releases for CI tests
      GITHUB: workflows/release.yml: cache focal docker builds with buildx
      GITHUB: workflows/testing.yml: fix comment
      GITHUB: workflows/testing.yml: cache arch docker builds with buildx
      GITHUB: workflows/testing.yml: cache lunar and jammy docker builds with buildx

Merge branch 'cirun-docker-caching' - let cirun handle image build and caching    # 2023-09-17 Tim Janik 00c0537
    * cirun-docker-caching:
      GITHUB: workflows/testing.yml: use separate steps for docker image builds
      GITHUB: workflows/testing.yml: make use of cirun which handles docker builds
    	* workflows/testing.yml: use misc/cirun -u 1000 to fix ownership
    	* workflows/testing.yml: fix CIMAKE for Focal-Clang-Tidy
    	* workflows/testing.yml: move nproc out of env variables
      MISC: cirun.sh: remove, use simpler cirun
      MISC: gh_delete_assets.sh: remove old helper
      MISC: Dockerfile.lunar: remove old file
      MISC: docker_*: remove old helpers
      MISC: cirun: add docker build, run, chown and caching
      MISC: cirun: add script to run commands in dockerized environments
      GITHUB: workflows/testing.yml: use buildx with selective caching
      GITHUB: workflows/testing.yml: configure and use buildx with selective caching
      GITHUB: workflows/testing.yml: remove unused actions/upload-artifact
      GITHUB: workflows/testing.yml: split asset builds into separate job
      MISC: cirun.sh: add --build, note that --check includes --build
      MISC: mkassets.sh: fix outdated globs

Merge branch 'thin-lto' - improve LTO builds    # 2023-09-17 Tim Janik 0e21fc8
    * thin-lto:
      ASE: main.cc: add missing formats to WAV output help
      MISC: config-uname.mk: when using LTO, enable Thin LTO with clang
    	Thin LTO can result in smaller binaries and better performance.

Merge branch 'use-git-submodule'    # 2023-09-21 Tim Janik 22cf347
    * use-git-submodule:
      DOC: copyright.ini: apply MPL-2.0 to .gitmodules
      MISC: Makefile.mk: directly create and reference .dlcache/ for mkassets.sh
      MISC: Makefile.mk: mkassets: download builds tools before misc/mkassets.sh
      GITHUB: workflows/testing.yml: use `make mkassets` for release builds
      .gitignore: ignore .submodule-stamp
      UI: global.scss, index.html: move AnklangIcons to assets/
      UI: Makefile.mk: copy anklangicons-*.tgz files to assets, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 21:04:16
    	git -C external/blobs4anklang/ checkout 7b0a4a68a1e9efbe68fc9761bef080995f4b4d6b
      UI: global.scss, index.html: move fork-awesome to assets/
      UI: Makefile.mk: copy node_modules/fork-awesome to assets, remove download
      MISC: package.json.in: install [email protected]
      UI: Makefile.mk: use blobs4anklang/fonts/InterVariable.woff2, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 18:23:36
    	git submodule add --name blobs4anklang https://github.com/tim-janik/blobs4anklang.git external/blobs4anklang
    	git -C external/blobs4anklang/ checkout 8da35f3914b9668bacc6755a8051a17051b07c3a
      Makefile.mk: skip `git submodule` in tarball builds
      Makefile.mk: dist: exclude unused external subdirs from tarball
      Makefile.mk: include submodule archives in dist tarball
      ASE: Makefile.mk: use blake3 submodule, remove download rule
      ASE: compress.cc: use external/blake3/c/blake3.h
      EXTERNAL: blake3: add BLAKE3-team/BLAKE3 version 1.3.1
    	git submodule add --name blake3 https://github.com/BLAKE3-team/BLAKE3.git external/blake3
    	git -C external/blake3/ checkout 1.3.1
      ASE: Makefile.mk: use websocketpp submodule, remove download rule
      EXTERNAL: websocketpp: add zaphoyd/websocketpp version 0.8.2
    	git submodule add --name websocketpp https://github.com/zaphoyd/websocketpp.git external/websocketpp
    	git -C external/websocketpp/ checkout 0.8.2
      ASE: Makefile.mk: use clap submodule, remove download rule
      EXTERNAL: clap: add free-audio/clap version 1.1.1
    	git submodule add --name clap https://github.com/free-audio/clap.git external/clap
    	git -C external/clap/ checkout 1.1.1
      ASE: Makefile.mk: use rapidjson submodule, remove download rule
      EXTERNAL: rapidjson: add Tencent/rapidjson commit from 2022-05-24 10:03:13
    	git submodule add --name rapidjson https://github.com/Tencent/rapidjson.git external/rapidjson
    	git checkout 232389d4f1012dddec4ef84861face2d2ba85709
      Makefile.mk: update all submodules before building sources
      Makefile.mk: remove external/ subdir from ls-tree.lst
      MISC: mkcopyright.py: ignore dirs passed from `git ls-tree` on the CLI
      ASE: storage.cc: adjust old link to zlib-ng/minizip-ng/issues/433
      ASE: minizip: build against external/minizip-ng/
      ASE: Makefile.mk: use minizip-ng submodule, remove download rule
      EXTERNAL: minizip-ng: add zlib-ng/minizip-ng version 2.9.0
    	git submodule add --name minizip-ng https://github.com/zlib-ng/minizip-ng.git external/minizip-ng
      .gitignore: remove entries of files the build is not generating

Merge branch 'bug-fixes'    # 2023-09-23 Tim Janik e9015b9
    * bug-fixes:
      GITHUB: workflows/testing.yml: upload dist tarball as isolated smaller artefact
      GITHUB: workflows/testing.yml: upgrade to actions/[email protected]
      MISC: *.sh: use '#!/usr/bin/env bash' for bash scripts, fixes #17

Merge branch 'fix-warnings'    # 2023-09-29 Tim Janik 9c1a062
    * fix-warnings:
      ASE: track.cc: fix signedness
      ASE: utils.cc: cosmetic change
      ASE: project.cc: cosmetic change
      ASE: nativedevice.cc: fix signedness
      ASE: midilib.cc: fix signedness
      ASE: midievent.cc: cosmetic change
      ASE: internal.hh: cosmetic change
      ASE: inifile.cc: fix signedness
      ASE: engine.cc: cosmetic change
      ASE: compress.cc: fix write check signedness
      ASE: combo: fix insert position signedness
      ASE: clapplugin.cc: cosmetic change
      ASE: device.cc: remove unused code
      ASE: blob.cc: cosmetic fix
      MISC: Makefile.mk: clang-tidy: fix missing includes
      ASE: clapplugin.cc: cosmetic fix
      ASE: loop.cc: fix typo

Merge branch 'main-rt-jobs'    # 2023-09-30 Tim Janik a3f8f29
    * main-rt-jobs:
      ASE: main.cc: fit one RtCallJob into a cache line
    	This becomes possible with RtCall allocating just 4 pointer sizes.
    	Since Loft allocates at cache line boundaries only, this essentially
    	halves the size of an RtCallJob allocation.
      ASE: callback: shrink struct RtCall by a pointer
      ASE: loft: fix and test LoftPtr<T> actually running ~T
      ASE: engine.hh: add comment about main_rt_jobs
      ASE: main.cc: turn debugging code into real job_queue_tests
      ASE: main: ma...
Read more

Anklang 0.2.0.nightly2310010229

01 Oct 02:42
Compare
Choose a tag to compare
Pre-release

Anklang 0.2.0.nightly2310010229

Development version - may contain bugs or compatibility issues.

Merge branch 'release-fixes'    # 2023-09-08 Tim Janik d8465fd
    * release-fixes:
      MISC: mknews.sh: print latest NEWS.md version with `misc/mknews.sh --version`
      GITHUB: workflows/release.yml: set prerelease:false for annotated tags
    	Fix actions/checkout@v3 and actions/checkout@v4 messing up the annotation of
    	the currently fetched tag, even with fetch-depth:0, see: actions/checkout#290
      MISC: mknews.sh: for release tags, copy news section from NEWS.md

Merge branch 'ci-fixes'    # 2023-09-10 Tim Janik 9a7e628
    * ci-fixes:
      MISC: mkassets.sh: remove unused file generations
      MISC: dbuild.sh: delete, now unused
      MISC: cirun.sh: add missing arg to help
      MISC: publish.sh: remove --draft
      MISC: publish.sh: determine version from tarball, show progress
      MISC: publish.sh: use assets/ directory contents if present
      GITHUB: workflows/testing.yml: use download-artifact@v3 to fetch release assets
      GITHUB: workflows/testing.yml: make sure to generate PDF docs early on
      GITHUB: workflows/testing.yml: provide GH_TOKEN for gh in publish.sh
      GITHUB: workflows/testing.yml: first build docs, then upload docs/ artifact
      GITHUB: workflows/testing.yml: fix Release-Upload deps, avoid skipped jobs
      GITHUB: workflows/testing.yml: allow skipped jobs in Ping-IRC
      GITHUB: workflows/testing.yml: use github expression for negating if
      GITHUB: workflows/testing.yml: escape exclamation mark for yaml
      GITHUB: workflows/testing.yml: skip Focal-Clang-Tidy for release tags
      GITHUB: workflows/testing.yml: uplaod releases via misc/publish.sh
      GITHUB: workflows/release.yml: remove, releases moved into testing.yml
      MISC: publish.sh: download artifacts and create a release
      MISC: cirun.sh: properly dockerize clang-tidy
      MISC: cirun.sh: support V=1
      GITHUB: workflows/testing.yml: run clang-tidy on focal
      MISC: cirun.sh: use 1000:1000 to chown files for docker containers
      MISC: mkassets.sh: add missing auto to cp --reflink=auto
      GITHUB: workflows/testing.yml: fix env syntax for gha
      GITHUB: workflows/testing.yml: use cirun.sh for all CI jobs
      GITHUB: workflows/testing.yml: use cirun.sh on Focal for docs
      MISC: cirun.sh: support $CITAG to determine docker run image
      MISC: Dockerfile.lunar: install missing clang aliases
      MISC: cirun.sh: add script that runs all CI stages via docker
      MISC: Dockerfile.focal: install poxy==0.13.0
    	Versions poxy>=0.13.1 have problems with python-3.8 on focal.
      MISC: Dockerfile.focal: install pandoc-3.1.6.2
    	Using pandoc-3.1.7 seems to have issues with PDF generation, anchors
    	in section titles cause an error and SVG images are not found.
      .gitignore: minor addition
      MISC: Dockerfile.focal: add clang-17 aliases
      MISC: Dockerfile.focal: provide xetex, poxy and clang++-17
      GITHUB: workflows/release.yml: upload draft releases for CI tests
      GITHUB: workflows/release.yml: cache focal docker builds with buildx
      GITHUB: workflows/testing.yml: fix comment
      GITHUB: workflows/testing.yml: cache arch docker builds with buildx
      GITHUB: workflows/testing.yml: cache lunar and jammy docker builds with buildx

Merge branch 'cirun-docker-caching' - let cirun handle image build and caching    # 2023-09-17 Tim Janik 00c0537
    * cirun-docker-caching:
      GITHUB: workflows/testing.yml: use separate steps for docker image builds
      GITHUB: workflows/testing.yml: make use of cirun which handles docker builds
    	* workflows/testing.yml: use misc/cirun -u 1000 to fix ownership
    	* workflows/testing.yml: fix CIMAKE for Focal-Clang-Tidy
    	* workflows/testing.yml: move nproc out of env variables
      MISC: cirun.sh: remove, use simpler cirun
      MISC: gh_delete_assets.sh: remove old helper
      MISC: Dockerfile.lunar: remove old file
      MISC: docker_*: remove old helpers
      MISC: cirun: add docker build, run, chown and caching
      MISC: cirun: add script to run commands in dockerized environments
      GITHUB: workflows/testing.yml: use buildx with selective caching
      GITHUB: workflows/testing.yml: configure and use buildx with selective caching
      GITHUB: workflows/testing.yml: remove unused actions/upload-artifact
      GITHUB: workflows/testing.yml: split asset builds into separate job
      MISC: cirun.sh: add --build, note that --check includes --build
      MISC: mkassets.sh: fix outdated globs

Merge branch 'thin-lto' - improve LTO builds    # 2023-09-17 Tim Janik 0e21fc8
    * thin-lto:
      ASE: main.cc: add missing formats to WAV output help
      MISC: config-uname.mk: when using LTO, enable Thin LTO with clang
    	Thin LTO can result in smaller binaries and better performance.

Merge branch 'use-git-submodule'    # 2023-09-21 Tim Janik 22cf347
    * use-git-submodule:
      DOC: copyright.ini: apply MPL-2.0 to .gitmodules
      MISC: Makefile.mk: directly create and reference .dlcache/ for mkassets.sh
      MISC: Makefile.mk: mkassets: download builds tools before misc/mkassets.sh
      GITHUB: workflows/testing.yml: use `make mkassets` for release builds
      .gitignore: ignore .submodule-stamp
      UI: global.scss, index.html: move AnklangIcons to assets/
      UI: Makefile.mk: copy anklangicons-*.tgz files to assets, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 21:04:16
    	git -C external/blobs4anklang/ checkout 7b0a4a68a1e9efbe68fc9761bef080995f4b4d6b
      UI: global.scss, index.html: move fork-awesome to assets/
      UI: Makefile.mk: copy node_modules/fork-awesome to assets, remove download
      MISC: package.json.in: install [email protected]
      UI: Makefile.mk: use blobs4anklang/fonts/InterVariable.woff2, remove download
      EXTERNAL: blobs4anklang: add tim-janik/blobs4anklang commit from 2023-09-21 18:23:36
    	git submodule add --name blobs4anklang https://github.com/tim-janik/blobs4anklang.git external/blobs4anklang
    	git -C external/blobs4anklang/ checkout 8da35f3914b9668bacc6755a8051a17051b07c3a
      Makefile.mk: skip `git submodule` in tarball builds
      Makefile.mk: dist: exclude unused external subdirs from tarball
      Makefile.mk: include submodule archives in dist tarball
      ASE: Makefile.mk: use blake3 submodule, remove download rule
      ASE: compress.cc: use external/blake3/c/blake3.h
      EXTERNAL: blake3: add BLAKE3-team/BLAKE3 version 1.3.1
    	git submodule add --name blake3 https://github.com/BLAKE3-team/BLAKE3.git external/blake3
    	git -C external/blake3/ checkout 1.3.1
      ASE: Makefile.mk: use websocketpp submodule, remove download rule
      EXTERNAL: websocketpp: add zaphoyd/websocketpp version 0.8.2
    	git submodule add --name websocketpp https://github.com/zaphoyd/websocketpp.git external/websocketpp
    	git -C external/websocketpp/ checkout 0.8.2
      ASE: Makefile.mk: use clap submodule, remove download rule
      EXTERNAL: clap: add free-audio/clap version 1.1.1
    	git submodule add --name clap https://github.com/free-audio/clap.git external/clap
    	git -C external/clap/ checkout 1.1.1
      ASE: Makefile.mk: use rapidjson submodule, remove download rule
      EXTERNAL: rapidjson: add Tencent/rapidjson commit from 2022-05-24 10:03:13
    	git submodule add --name rapidjson https://github.com/Tencent/rapidjson.git external/rapidjson
    	git checkout 232389d4f1012dddec4ef84861face2d2ba85709
      Makefile.mk: update all submodules before building sources
      Makefile.mk: remove external/ subdir from ls-tree.lst
      MISC: mkcopyright.py: ignore dirs passed from `git ls-tree` on the CLI
      ASE: storage.cc: adjust old link to zlib-ng/minizip-ng/issues/433
      ASE: minizip: build against external/minizip-ng/
      ASE: Makefile.mk: use minizip-ng submodule, remove download rule
      EXTERNAL: minizip-ng: add zlib-ng/minizip-ng version 2.9.0
    	git submodule add --name minizip-ng https://github.com/zlib-ng/minizip-ng.git external/minizip-ng
      .gitignore: remove entries of files the build is not generating

Merge branch 'bug-fixes'    # 2023-09-23 Tim Janik e9015b9
    * bug-fixes:
      GITHUB: workflows/testing.yml: upload dist tarball as isolated smaller artefact
      GITHUB: workflows/testing.yml: upgrade to actions/[email protected]
      MISC: *.sh: use '#!/usr/bin/env bash' for bash scripts, fixes #17

Merge branch 'fix-warnings'    # 2023-09-29 Tim Janik 9c1a062
    * fix-warnings:
      ASE: track.cc: fix signedness
      ASE: utils.cc: cosmetic change
      ASE: project.cc: cosmetic change
      ASE: nativedevice.cc: fix signedness
      ASE: midilib.cc: fix signedness
      ASE: midievent.cc: cosmetic change
      ASE: internal.hh: cosmetic change
      ASE: inifile.cc: fix signedness
      ASE: engine.cc: cosmetic change
      ASE: compress.cc: fix write check signedness
      ASE: combo: fix insert position signedness
      ASE: clapplugin.cc: cosmetic change
      ASE: device.cc: remove unused code
      ASE: blob.cc: cosmetic fix
      MISC: Makefile.mk: clang-tidy: fix missing includes
      ASE: clapplugin.cc: cosmetic fix
      ASE: loop.cc: fix typo

Merge branch 'main-rt-jobs'    # 2023-09-30 Tim Janik a3f8f29
    * main-rt-jobs:
      ASE: main.cc: fit one RtCallJob into a cache line
    	This becomes possible with RtCall allocating just 4 pointer sizes.
    	Since Loft allocates at cache line boundaries only, this essentially
    	halves the size of an RtCallJob allocation.
      ASE: callback: shrink struct RtCall by a pointer
      ASE: loft: fix and test LoftPtr<T> actually running ~T
      ASE: engine.hh: add comment about main_rt_jobs
      ASE: main.cc: turn debugging code into real job_queue_tests
      ASE: main: ma...
Read more