130 changes: 128 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,132 @@ permissions:
contents: read

jobs:
AppImage:
if: github.repository == 'darktable-org/darktable' || github.event_name == 'workflow_dispatch'
name: Nightly darktable AppImage
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
compiler:
- { compiler: LLVM12, CC: clang-12, CXX: clang++-12, packages: clang-12 libomp-12-dev libclang-common-12-dev llvm-12-dev clang++-12 libc++-12-dev libc++1-12 libc++abi1-12 lld-12}
branch:
- { code: master, label: gitmaster }
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
SRC_DIR: ${{ github.workspace }}/src
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_PREFIX: ${{ github.workspace }}/AppDir/usr
CMAKE_BUILD_TYPE: ${{ matrix.btype }}
GENERATOR: ${{ matrix.generator }}
TARGET: ${{ matrix.target }}
DARKTABLE_CLI: ${{ github.workspace }}/AppDir/usr/bin/darktable-cli
BRANCH: ${{ matrix.branch.code }}
BUILD_NAME: ${{ matrix.branch.label }}
steps:
- name: Install compiler ${{ matrix.compiler.compiler }}
run: |
sudo apt-get update
sudo apt-get -y install \
${{ matrix.compiler.packages }}
- name: Install Base Dependencies
run: |
sudo apt-get -y install \
build-essential \
appstream-util \
desktop-file-utils \
gettext \
git \
gdb \
intltool \
libatk1.0-dev \
libcairo2-dev \
libcolord-dev \
libcolord-gtk-dev \
libcmocka-dev \
libcups2-dev \
libcurl4-gnutls-dev \
libimage-exiftool-perl \
libgdk-pixbuf2.0-dev \
libglib2.0-dev \
libgraphicsmagick1-dev \
libgtk-3-dev \
libheif-dev \
libjpeg-dev \
libjson-glib-dev \
liblcms2-dev \
liblensfun-dev \
liblensfun-bin \
liblensfun-data-v1 \
liblensfun1 \
libopenexr-dev \
libopenjp2-7-dev \
libosmgpsmap-1.0-dev \
libpango1.0-dev \
libpng-dev \
libportmidi-dev \
libpugixml-dev \
librsvg2-dev \
libsaxon-java \
libsdl2-dev \
libsecret-1-dev \
libsqlite3-dev \
libtiff5-dev \
libwebp-dev \
libx11-dev \
libxml2-dev \
libxml2-utils \
ninja-build \
perl \
po4a \
python3-jsonschema \
xsltproc \
zlib1g-dev \
appstream;
sudo add-apt-repository -y ppa:savoury1/graphics
sudo add-apt-repository -y ppa:savoury1/ffmpeg4
sudo add-apt-repository -y ppa:savoury1/display
sudo apt-get update
sudo apt-get -y install \
libavif-dev \
libexiv2-dev \
libgmic-dev \
libgphoto2-dev \
libheif-dev \
libjxl-dev \
x11proto-dev \
libxfixes-dev;
- uses: actions/checkout@v3
with:
ref: ${{ env.BRANCH }}
submodules: true
# We have to fetch the entire history to correctly generate the version for the AppImage filename
fetch-depth: 0
- name: Build and Install
run: |
bash tools/appimage-build-script.sh
- name: Check if it runs
run: |
${INSTALL_PREFIX}/bin/darktable --version || true
${INSTALL_PREFIX}/bin/darktable-cli \
--width 2048 --height 2048 \
--hq true --apply-custom-presets false \
"${SRC_DIR}/tests/integration/images/mire1.cr2" \
"${SRC_DIR}/tests/integration/0000-nop/nop.xmp" \
output.png \
--core --disable-opencl --conf host_memory_limit=8192 \
--conf worker_threads=4 -t 4 \
--conf plugins/lighttable/export/force_lcms2=FALSE \
--conf plugins/lighttable/export/iccintent=0
- name: Package upload
if: ${{ success() }}
uses: actions/upload-artifact@v3
with:
name: Darktable.Nightly.AppImage
path: ${{ env.BUILD_DIR }}/Darktable-*.AppImage
retention-days: 1

Windows:
if: github.repository == 'darktable-org/darktable' || github.event_name == 'workflow_dispatch'
name: Nightly darktable Windows
Expand Down Expand Up @@ -126,7 +252,7 @@ jobs:
echo "VERSION=$(git describe --tags | sed 's/^release-//;s/-/+/;s/-/~/;s/rc/~rc/')" >> $GITHUB_ENV
([[ ${MSYSTEM_CARCH} == x86_64 ]] && echo "SYSTEM=win64" || echo "SYSTEM=woa64") >> $GITHUB_ENV
- name: Package upload
if: ${{ success() && matrix.btype == 'Release' && matrix.target == 'skiptest' }}
if: ${{ success() }}
uses: actions/upload-artifact@v3
with:
name: darktable-${{ env.VERSION }}-${{ env.SYSTEM }}.exe
Expand Down Expand Up @@ -218,7 +344,7 @@ jobs:
cd ${{ env.SRC_DIR }}
echo "VERSION=$(git describe --tags | sed 's/^release-//;s/-/+/;s/-/~/;s/rc/~rc/')-$(arch)" >> $GITHUB_ENV
- name: Package upload
if: ${{ success() && matrix.btype == 'Release' && matrix.target == 'skiptest' }}
if: ${{ success() }}
uses: actions/upload-artifact@v3
with:
name: darktable-${{ env.VERSION }}.dmg
Expand Down
3 changes: 3 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,9 @@ The following is a summary of the main features added to darktable
robust). No longer warn when working on monochrome images. Various
other cleanup, de-duplication, optimization, and generally tidying.

- Overhaul of pixelpipe code and it's caching strategy with
significant performance gains while developing in darkroom.

- Modernize the histogram calculation code. Remove SSE code (which
provides no speed-ups), but use it as a model for the optimized code
using recent OpenMP features. Remove various unused bits of code,
Expand Down
4 changes: 2 additions & 2 deletions data/darktableconfig.xml.in
Original file line number Diff line number Diff line change
Expand Up @@ -1252,7 +1252,7 @@
<type>string</type>
<default>120|400</default>
<shortdescription>delimiters for size categories</shortdescription>
<longdescription>size categories are used to be able to set different overlays and CSS values depending of the size of the thumbnail, separated by |.\nfor example, 120|400 means 3 categories of thumbnails: 0px->120px, 120px->400px and >400px</longdescription>
<longdescription>size categories are used to be able to set different overlays and CSS values depending of the size of the thumbnail, separated by |.\nfor example, 120|400 means 3 categories of thumbnails: &lt;120px, 120-400px, >400px</longdescription>
</dtconfig>
<dtconfig prefs="lighttable" section="thumbs">
<name>plugins/lighttable/extended_pattern</name>
Expand Down Expand Up @@ -1309,7 +1309,7 @@
<type>bool</type>
<default>true</default>
<shortdescription>middle mouse button zooms to 200%</shortdescription>
<longdescription>when clicking the middle mouse button to zoom, the zoom level will cycle through 100%, 200% and then back to fit the screen. otherwise it switches between fit to screen and 100% and the 'ctrl' key can be used to control the zoom level.</longdescription>
<longdescription>if enabled, the zoom level will cycle between 100%, 200% and fit to viewport on middle mouse clicks. if disabled, it will toggle between viewport size and 100%, and the 'ctrl' key can be used to control the zoom level.</longdescription>
</dtconfig>
<dtconfig prefs="darkroom" section="modules">
<name>channel_display</name>
Expand Down
40 changes: 40 additions & 0 deletions data/noiseprofiles.json
Original file line number Diff line number Diff line change
Expand Up @@ -7930,6 +7930,46 @@
{"name": "ILCE-7RM4 iso 102400", "iso": 102400, "a": [0.00223570383329076, 0.00122129173440495, 0.00192421231733906], "b": [-7.81024826959561e-06, 7.76611490752317e-06, 1.83065660184995e-06]}
]
},
{
"comment": "ilce-7rm5 contributed by Philipp Lutz",
"model": "ILCE-7RM5",
"profiles": [
{"name": "ILCE-7RM5 iso 50", "iso": 50, "a": [4.60307122870048e-06, 1.3881632454558e-06, 2.96337817325312e-06], "b": [2.1802439296749e-09, 9.12637214210666e-10, 1.85979451047076e-09]},
{"name": "ILCE-7RM5 iso 64", "iso": 64, "a": [5.75589046505954e-06, 1.73102658990941e-06, 3.70387279163514e-06], "b": [2.88880015257686e-09, 1.3723788344709e-09, 2.52193572600862e-09]},
{"name": "ILCE-7RM5 iso 80", "iso": 80, "a": [7.19817030081818e-06, 2.16659291126594e-06, 4.63509350850076e-06], "b": [3.90794298490984e-09, 1.94173654604183e-09, 3.50453181499291e-09]},
{"name": "ILCE-7RM5 iso 100", "iso": 100, "a": [4.59181342870229e-06, 1.36145762190336e-06, 2.93512315342168e-06], "b": [1.82256714021328e-09, 8.63521204933657e-10, 1.63547774534203e-09]},
{"name": "ILCE-7RM5 iso 125", "iso": 125, "a": [5.79387249064955e-06, 1.71146542190251e-06, 3.69026509802392e-06], "b": [2.44407061985736e-09, 1.17897078894153e-09, 2.20920507539301e-09]},
{"name": "ILCE-7RM5 iso 160", "iso": 160, "a": [7.29783482113895e-06, 2.15077496031406e-06, 4.626707507234e-06], "b": [3.16707704531821e-09, 1.61385964473356e-09, 3.0097802952646e-09]},
{"name": "ILCE-7RM5 iso 200", "iso": 200, "a": [9.1987495662869e-06, 2.69955069335298e-06, 5.83664189299469e-06], "b": [4.37294805605859e-09, 2.30524229524136e-09, 4.00469355356646e-09]},
{"name": "ILCE-7RM5 iso 250", "iso": 250, "a": [1.15873723529309e-05, 3.4070594238471e-06, 7.34599640651328e-06], "b": [5.80446154236023e-09, 3.14403530215251e-09, 5.48353696781808e-09]},
{"name": "ILCE-7RM5 iso 320", "iso": 320, "a": [1.48523641507424e-05, 4.32620918325064e-06, 9.39170982448208e-06], "b": [5.21277148705043e-09, 2.4924009628323e-09, 4.65117431335238e-09]},
{"name": "ILCE-7RM5 iso 400", "iso": 400, "a": [1.8713005818893e-05, 5.4411279825144e-06, 1.18054745924188e-05], "b": [6.86025698734074e-09, 3.32915494717408e-09, 6.13848901629176e-09]},
{"name": "ILCE-7RM5 iso 500", "iso": 500, "a": [2.35025556456225e-05, 6.83476334902646e-06, 1.48491792805351e-05], "b": [9.09625485997929e-09, 4.63468000616088e-09, 8.13456669484736e-09]},
{"name": "ILCE-7RM5 iso 640", "iso": 640, "a": [2.96102792843649e-05, 8.59099578076615e-06, 1.86582220245607e-05], "b": [1.19578066266504e-08, 6.15152985190029e-09, 1.07047048813123e-08]},
{"name": "ILCE-7RM5 iso 800", "iso": 800, "a": [3.72136613538613e-05, 1.08115536467058e-05, 2.35199072205255e-05], "b": [1.57830930873007e-08, 8.2193684156672e-09, 1.38967679637362e-08]},
{"name": "ILCE-7RM5 iso 1000", "iso": 1000, "a": [4.68583632529194e-05, 1.36149058486176e-05, 2.97130324431471e-05], "b": [2.12029318904804e-08, 1.10611577424331e-08, 1.86796438746147e-08]},
{"name": "ILCE-7RM5 iso 1250", "iso": 1250, "a": [5.89992941745977e-05, 1.71072337480419e-05, 3.73801049255042e-05], "b": [2.82534447182487e-08, 1.48341414344304e-08, 2.44952714757138e-08]},
{"name": "ILCE-7RM5 iso 1600", "iso": 1600, "a": [7.42527461861029e-05, 2.15698655257146e-05, 4.71002165698998e-05], "b": [3.75681193904603e-08, 1.98571416428e-08, 3.24318954112373e-08]},
{"name": "ILCE-7RM5 iso 2000", "iso": 2000, "a": [9.41560062287582e-05, 2.73219815941156e-05, 5.97834683580336e-05], "b": [4.95538199196097e-08, 2.59636939696335e-08, 4.20609560127666e-08]},
{"name": "ILCE-7RM5 iso 2500", "iso": 2500, "a": [0.000118517313138053, 3.4453105671434e-05, 7.53870047488082e-05], "b": [6.53667207797197e-08, 3.43666659782268e-08, 5.49368415698677e-08]},
{"name": "ILCE-7RM5 iso 3200", "iso": 3200, "a": [0.000149953355476831, 4.36635723174656e-05, 9.53627155959834e-05], "b": [9.0534385329579e-08, 4.84130968752489e-08, 7.66465740491585e-08]},
{"name": "ILCE-7RM5 iso 4000", "iso": 4000, "a": [0.000189870485368089, 5.5305151554194e-05, 0.000120986231940541], "b": [1.19799974524161e-07, 6.34598535612939e-08, 9.96983986781236e-08]},
{"name": "ILCE-7RM5 iso 5000", "iso": 5000, "a": [0.000238984106142674, 6.96092163263494e-05, 0.000152817826281649], "b": [1.6266875263224e-07, 8.63163040110793e-08, 1.33893346231733e-07]},
{"name": "ILCE-7RM5 iso 6400", "iso": 6400, "a": [0.000299860880590311, 8.79842175447094e-05, 0.000192715240072944], "b": [2.51756810488401e-07, 1.40354842669362e-07, 2.1486262085105e-07]},
{"name": "ILCE-7RM5 iso 8000", "iso": 8000, "a": [0.000378898899841076, 0.000111269321978897, 0.000244752152043241], "b": [3.2432983432659e-07, 1.85875349473038e-07, 2.80864409116793e-07]},
{"name": "ILCE-7RM5 iso 10000", "iso": 10000, "a": [0.000484828527345901, 0.000142760745152263, 0.000314921503538087], "b": [4.15545664375221e-07, 2.4485804547534e-07, 3.66989835232702e-07]},
{"name": "ILCE-7RM5 iso 12800", "iso": 12800, "a": [0.000612315099947231, 0.000181962163682718, 0.000399620733994044], "b": [5.03199589452911e-07, 3.10546268812833e-07, 4.63752426220895e-07]},
{"name": "ILCE-7RM5 iso 16000", "iso": 16000, "a": [0.000468155478424853, 0.000135817496559832, 0.000300498264501811], "b": [5.76751872330309e-07, 3.26670055395011e-07, 5.02307156528866e-07]},
{"name": "ILCE-7RM5 iso 20000", "iso": 20000, "a": [0.000564899330902855, 0.000166829444544491, 0.00036683224290252], "b": [6.96616450265926e-07, 4.11677193724468e-07, 6.2145218516814e-07]},
{"name": "ILCE-7RM5 iso 25600", "iso": 25600, "a": [0.000725589296955885, 0.000220618758814963, 0.000479033607632404], "b": [8.61519705251118e-07, 5.29849320481486e-07, 8.05136377840216e-07]},
{"name": "ILCE-7RM5 iso 32000", "iso": 32000, "a": [0.000917365580415002, 0.000294016692523425, 0.000627489725276326], "b": [1.06057852735641e-06, 7.0529322290072e-07, 1.06771425505696e-06]},
{"name": "ILCE-7RM5 iso 40000", "iso": 40000, "a": [0.00106296485813505, 0.000350321174211659, 0.000738046403087935], "b": [1.26071895507218e-06, 8.95816152951697e-07, 1.33776837171993e-06]},
{"name": "ILCE-7RM5 iso 51200", "iso": 51200, "a": [0.00138613120585011, 0.000493790707042479, 0.00100612566631164], "b": [1.77420813470002e-06, 1.38245490201965e-06, 2.03644139977406e-06]},
{"name": "ILCE-7RM5 iso 64000", "iso": 64000, "a": [0.00171304688698808, 0.000666634141911337, 0.00131126024881044], "b": [2.59249934599756e-06, 2.07057868246772e-06, 3.05543557419839e-06]},
{"name": "ILCE-7RM5 iso 80000", "iso": 80000, "a": [0.00195137129377285, 0.000814461940445761, 0.00154708056908392], "b": [3.32601540221582e-06, 2.66631785096919e-06, 3.91566268301289e-06]},
{"name": "ILCE-7RM5 iso 102400", "iso": 102400, "a": [0.00229955914816816, 0.00105225808730389, 0.00188721218768899], "b": [5.33728218726649e-06, 4.06925973595166e-06, 6.07586784650988e-06]}
]
},
{
"comment": "ilca-68 contributed by jan",
"model": "ILCA-68",
Expand Down
Loading